#CryptDB : HOWTO Compile on Ubuntu Linux [UPDATE 2]
First, what is CryptDB.
A SHORT PRESENTATION, very useful to understand how it works.
Second, reference system: Ubuntu Linux LTS 12.04.x 32bit 64bit (see this comment).
Third, [NEW] installation:
sudo apt-get udate
sudo apt-get install git ruby
git clone -b public git://g.csail.mit.edu/cryptdb
cd cryptdb
sudo ./scripts/install.rb .
Done. It’s that simple now 😎
If it fails to compile, see THISÂ comment.
If you still do not succeed see THISÂ comment.
With recent version of Ubuntu (14.04 and 16.04) you might need to downgrade Bison, see THIS comment.
[OLD] installation:
- install needed packages:
sudo apt-get install automake bison bzr cmake flex g++ git gtk-doc-tools libaio-dev libbsd-dev libevent-dev libglib2.0-dev libgmp-dev liblua5.1-0-dev libmysqlclient-dev libncurses5-dev libntl-dev libssl-dev
- create a directory, then download software to compile:
mkdir $HOME/cryptdb-inst
cd $HOME/cryptdb-inst
git clone -b public git://g.csail.mit.edu/cryptdb
wget http://es.csail.mit.edu/mysql-5.5.14.tar.gz
bzr branch lp:mysql-proxy - compile mysql-proxy:
cd mysql-proxy
sh ./autogen.sh
./configure --enable-maintainer-mode --with-lua=lua5.1
make
sudo make install - build CryptDB on MySQL:
cd $HOME/cryptdb-inst
tar xzf mysql-5.5.14.tar.gz
cp -R cryptdb/parser/mysql_mods/* mysql-5.5.14/
rm mysql-5.5.14/sql/sql_yacc.{cc,h}
cd mysql-5.5.14
mkdir build
cd build
cmake -DWITH_EMBEDDED_SERVER=ON ..
make
sudo make install
cd /usr/local/mysql
sudo chown -R mysql .
sudo cp support-files/my-medium.cnf /etc/my.cnf
sudo scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/
sudo /usr/local/mysql/bin/mysqld_safe --lc-messages-dir="/usr/local/mysql/share/english/"
/usr/local/mysql/bin/mysqladmin -u root password 'letmein'
- Build CryptDB:
cd $HOME/cryptdb-inst/cryptdb
cp conf/config.mk.sample conf/config.mk
sed -i'' -e"1s%/home/nickolai/build%$HOME/cryptdb-inst%" conf/config.mk
make
sudo make install
- now, it’s time to read
cryptdb/doc/README
, enjoy! 😉
NOTE1: you should create a user mysql
to run DBMS for security reasons:
sudo groupadd mysql
sudo useradd -r -g mysql mysql
NOTE2: be very careful on each step and you wont fail.
Posted on September 30, 2012, in Hacking, Linux and tagged command line tools, CryptDB, Cryptography, enterprise-it, linux, Security, software, technology, Ubuntu Linux. Bookmark the permalink. 206 Comments.
You are amazing! post in your site are very helpfull and i will read your news more times. Thank for this info. Your blog and information are very important. Thanks again for your time for us 🙂
Thanks a lot. I was stuck in the process for a long time. Thanks a lot.
But I’m still having some issues with header-file locations.
eg. compilation of “cryptdb/test/test.cc” gives me “fatal error: crypto-old/OPE.hh: No such file or directory” and
the same compilation with the tag “-I …/cryptdb/” gives me “cryptdb/util/util.hh:93:19: fatal error: mysql.h: No such file or directory”
now if I replace by [Since /usr/include/mysql/mysql.h] I am getting fatal error error on “sql_base.h” which is there in the extracted tar of mysql-5.5 but not in “/usr/include/*”. How to overcome this problem?
Are you sure you installed all required packages? Did you installed the specific MySQL version (looks like you didn’t install it correctly)? Did you build MySQL over CryptDB?
Check you are doing things with the correct directory hierarchy.
UPDATE: ok, I went through all process and it works, just pay attention to this line:
sed -i'' -e"1s%/home/nickolai/build%$HOME/cryptdb-inst%" conf/config.mk
and change:
$HOME/cryptdb-inst
with the PATH of your work directory if you used one different from the HOWTO; I am pretty sure that it will fix all your problems 😉
Thanks man for such a quick reply. But I am sure that I followed all the steps documented here. Also I used same name (cryptdb-inst) as here so that I don’t make a mess…
Currently MYSRC := /home/dbms/cryptdb-inst/mysql-5.5.14
the right value what it should be.
Could you please check where is sql_base.h located after installation?
Did you run any of the cryptdb/test/*.cc files? Are those files compiling properly?
sql_base.h is in:
cryptdb/mysql-5.5.14/sql/sql_base.h
Compilation works like a charm and files in test/ are compiled when you issue the last make command, indeed if you look at the file GNUmakefile there is a line which say:
include test/Makefrag
If you take a look of Makefrag you can see the Makefile for test/.
Installation may require to create directories:
/var/log/mysql
and
/usr/lib/mysql
Are you trying to install CryptDB on a different MySQL version? Are you using Ubuntu?
sql_base.h is in:
cryptdb/mysql-5.5.14/sql/sql_base.h
—— Absolutely. when I am compiling for test/test.cc using $g++ test/test.cc
It can not find sql_base.h since it is not included in /usr/include or other header file searching path.
can you give me your compilation command?
Wait. Are you trying to compile a single file, not the entire CryptDB?
In this case you need to pass all required info to gcc, so for example:
g++ test/test.cc -I../mysql-5.5.14/sql/sql_base.h
where -I tells gcc where is include file.
Of course it requires much more dependencies, just take a look of test.cc, it includes many files of CryptDB.
Thus a better approach is to look at these two files: Makefrag, in test/, and GNUmakefile, in cryptdb/. Then you can write your own Makefile that compile just the test/ subset.
If instead you are compiling the full CryptDB then you do not need to do something like that, test have been already compiled for you, so take a look to README to see how to run tests.
Hope it is enough to help, but you can’t ask me to write the Makefile for your project. 😎
Ha Ha….got your point… editing test/Makefrag and test/test.cc is easier to build up a new makefile…. Thanks a lot man… B)
Hi again, I am getting
terminate called after throwing an instance of ‘std::runtime_error’
what(): failed to create udf decrypt_int_sem
error when I am trying to connect to the mysql-proxy using ‘mysql -u …’ command. What could be the possible reason?
looking at the code here, which says:
createAll(Connect * conn)
{
myassert(conn->execute(
"CREATE FUNCTION "DECRYPT_int_sem" RETURNS INTEGER SONAME 'edb.so'; "),
"failed to create udf decrypt_int_sem ");
and the very explicative error:
error when I am trying to connect to the mysql-proxy using ‘mysql -u …’
looks like you forgot to start mysqld…
Mysqld_safe was running all the time… I copied cryptdb/udf/edb.so to /usr/local/mysql/lib/plugin/ ….. After that everything is working fine… Thanks a lot man….8)
You’re Welcome 😉
Is there an *.iso or image containing CryptDB?
of course not, you need to compile it from source…however, if you are good enough you may try to make a .deb or .rpm package
Excellent,this instruction much better than the official one,do you have a more detailed instruction about how to run the test on cryptdb?
Not really. You should look at CryptDB mailing list, comments in this post and of course take the time to read and understand the README that comes with CryptDB source.
I encountered an error when I entered this line
“sudo /usr/local/mysql/bin/mysqld_safe –lc-messages-dir=”/usr/local/mysql/share/english/””
It says “mysqld_safe mysqld from pid file /var/run/mysql/mysqld.pid ended”
I assume you did everything right, so take a look HERE, it may helps.
However it looks like you are installing in a dirty environment, that is you might have another mysql already installed.
I did the first two answers on the link that you gave me. None of them works.
Do I have to install mysql client too or it is mysql-5.5.14 which will be the overall mysql app for cryptdb?
Also, mysql folders which are assumed to be installed do not exist.
I just followed your instructions properly. 😦
First of all, you must give me as much info as possible, because it is not clear which setup you are using right now, thus it is very hard to help you.
Second, if you want minimize problems, then try to stick with the default installation process as much as possible, that is don’t use the apt-get to install mysql. Download the source code of mysql-5.5.14 from the link provided.
Third, you look quite inexperienced, so I will try to keep it as simple as possible: the easiest solution is to rollback everything you did till now, that is remove mysql, cryptdb and mysql-proxy (however you don’t need to remove packages like automake, bison, bzr, etc). Then start again from the beginning.
I successfully installed the system. However when I tried running mysql using “mysql -u root -p”, it says that mysql is not installed..
Kindly help me.
You did not if it says mysql is not installed…start over from scratch and read the notes too
I started again from scratch.
I changed the command “sudo cp support-files/my-medium.cnf /etc/my.cnf” to “sudo cp support-files/my-medium.cnf /etc/mysql/my.cnf”
Because of that, the line sudo /usr/local/mysql/bin/mysqld_safe –lc-messages-dir=”/usr/local/mysql/share/english/” does not display an error anymore.
However, when I entered the last sudo make install command, I had an error saying:
“install: cannot create regular file ` /usr/lib/mysql/plugin’ : No such file or directory
make: *** [install_udf] Error 1”
I manually created the folder /usr/lib/mysql since it does not exist and tried to run the command again and the error was gone.
Does it contribute to the problem of mysql not running?
When you issue the following command, you are actually starting mysql:
sudo /usr/local/mysql/bin/mysqld_safe –lc-messages-dir=â€/usr/local/mysql/share/english/â€
so you should see something like the following:
130830 03:31:23 mysqld_safe Logging to '/var/log/mysql/error.log'.
130830 03:31:23 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
did you see it? If you don’t, then you simply failed to install mysql. Btw, I am using /etc/my.cfg because that one is the default location for mysql configuration file, while the directory /etc/mysql is distro specific (debian & derivatives). You can use /etc/mysql if you modify the compilation process adding a parameter on the cmake command line.
About the directories…well, I told you to read the comments at the end of the post…
I did see it, so proceeding to the previous error in the last sudo make install command, I had this error
“install: cannot create regular file ` /usr/lib/mysql/plugin’ : No such file or directory
make: *** [install_udf] Error 1″
can you tell me the output of “
ls -lh /usr/lib
“?However, try to create
/usr/lib/mysql
directory, it may fix the error, see previous comments.there are too many items.. maybe we can use a grep to find the thing the we need to see.
And also, I found out something.
*If I use “sudo cp support-files/my-medium.cnf /etc/my.cnf†and launched the command “sudo /usr/local/mysql/bin/mysqld_safe –lc-messages-dir=â€/usr/local/mysql/share/english/—, I got an error that /var/log/mysql/error.log does not exist. If I manually create var/log/mysql folder, it says that mysqld.pid file ended.
*If I use “sudo cp support-files/my-medium.cnf /etc/mysql/my.cnf†and launched the command “sudo /usr/local/mysql/bin/mysqld_safe –lc-messages-dir=â€/usr/local/mysql/share/english/—, I had a different message saying
“Logging to ‘/usr/local/mysql/data/nicole-VirtualBox.err’.
130905 01:56:37 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data” but I was able to enter the next commands before the last sudo make install line.
First, check the perms:
~$ ls -lh /usr/lib/ | grep mysql
drwxr-xr-x 2 root root 4.0K May 2 10:45 mysql
~$ ls -lh /usr/lib/mysql/
total 36K
-rw-r--r-- 1 mysql mysql 33K May 2 10:45 plugin
~$ ls -lh /var/log/ | grep mysql
drwxr-xr-x 2 root root 4.0K May 2 10:35 mysql
~$ ls -lh /var/log/mysql/
total 4.0K
-rw-rw---- 1 mysql root 3.5K Aug 30 04:13 error.log
Second, the message you see it is due to these lines in the configuration file:
# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /usr/local/mysql/data
#innodb_log_group_home_dir = /usr/local/mysql/data
If you are messing with configuration files or installation process, I will not be able to help you if you firstly don’t provide me all the relevant info.
I tried your suggestion regarding the perms.
I got the correct responses on the the last two commands.
The first command displays nothing while the second says that directory does not exist.
I continued reinstalling and now it went through fine. I no longer encounter problems like mysqld.pid file ended.
Now I have this error after I entered “make” when I am in the build cryptdb part. It says that
“crypto/mont.cc:5:17: fatal error: gmp.h: No such file or directory.
compilation terminated.
make: *** [obj/crypto/mont,o] Error 1”
Which Linux distribution are you using? However, it looks like your system is half broken, because you are missing some dependencies…try THIS, it may helps.
I’m using VirtualBox to run a Ubuntu 12.04 LTS OS
I had another error. It says
“/usr/bin/ld: cannot find -laio”
did you reinstall the VM when you started again from scatch? If you did, then you need to install all the packages in the
sudo apt-get install
statement.I did. I actually reinstalled everything including the OS and all the required packages.
Ok, so every time you reinstall the OS you need to start the process from the very first instruction. It should work flowlessy, so let me know.
I had been doing it in the past few weeks, but I still have these errors
Obviously you keep doing something wrong.
Some questions:
It is something that should be quite straightforward, I don’t know because it is so painful to you.
* update you mean sudo apt-get update?
* I sort of understand what I’m doing
* It for my thesis requirement.
* I am /home/nicole/cryptdb-inst but I do adopt the commands as well
* I do not modify any of the configuration files.
who ever mentioned
apt-get update
?!Please, pay close attention to the install process.
If you don’t understand what you are doing (and you currently are not, sorry) you should not do it. There are many commands that require super user privileges and if you mistype you can severely damage the system (actually not a big deal because you are using a VM).
What I suggest you now is to delete the current VM, create a new pristine VM and start the installation process from the very beginning.
P.S. please read all notes and comments before you even start; I don’t wanna be harsh but it is quite a simple process and most people got it right the first time.
I followed your instructions but after issuing this command:
sudo /usr/local/mysql/bin/mysqld_safe –lc-messages-dir=”/usr/local/mysql/share/english/”
I’m receiving the following errors
Please help me to resolve these errors:
131031 03:45:20 mysqld_safe Logging to ‘/var/log/mysql/error.log’.
touch: cannot touch `/var/log/mysql/error.log’: No such file or directory
chown: cannot access `/var/log/mysql/error.log’: No such file or directory
131031 03:45:20 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
/usr/local/mysql/bin/mysqld_safe: 107: /usr/local/mysql/bin/mysqld_safe: cannot create /var/log/mysql/error.log: Directory nonexistent
/usr/local/mysql/bin/mysqld_safe: 1: eval: cannot create /var/log/mysql/error.log: Directory nonexistent
131031 03:45:20 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
/usr/local/mysql/bin/mysqld_safe: 107: /usr/local/mysql/bin/mysqld_safe: cannot create /var/log/mysql/error.log: Directory nonexistent
See THIS post for instance.
Create the directory
/var/log/mysql
with the following perms:drwxr-xr-x 2 root root 4.0K May 2 10:35 mysql
then relaunch
mysqld_safe
.I’m sorry but After doing that and relaunching mysqld_safe the result is as follows :
root@ip-10-28-204-206:/usr/local/mysql# /usr/local/mysql//bin/mysqld_safe &
[1] 2427
root@ip-10-28-204-206:/usr/local/mysql# 131101 18:02:35 mysqld_safe Logging to ‘/var/log/mysql/error.log’.
131101 18:02:35 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
131101 18:02:37 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
[1]+ Done /usr/local/mysql//bin/mysqld_safe
root@ip-10-28-204-206:/usr/local/mysql#
and Also, I tried on new computer with ubuntu 12.04 but the result is same.
Please help me for this.
Mohammad
It is ok if I download mysql server source code from other websites (the same version 5.5-14)
The only problem that stops me for long time is installing mysql from scrache.
The result of make and make install shows everything is ok, but when I need to lunch mysqld or mysql it reply that it doesn’t installed on the machine.
Please advise me
-Mohammad
Ok, check if you did what is proposed in these posts:
CONFIGURATION
DEPLOYMENT
However, triple check that you added
mysql
user to the system, used the correct directory hierarchy and so on…I read the paper “CryptDB: Protecting Confidentiality with
Encrypted Query Processing” completely, It is great idea but I have these two questions.
Based on paper I think that we should have an unchange mysql server on server side for storing encrypted database is it right ? why we are adding parser files (parser/mysql_mods), because it is supposed to be on the server side out of our control.
In client side we need to have the mysql-proxy and application (Like web application or mysql-client) is it right?
Please help be to better understanding the situation.
-Mohammad
Ok, this process actually build both.
Indeed once installed, you can query cryptdb on the same machine. See
cryptdb/doc/README
for instance.Of course in a real setup server and client are on different machines.
This is a great post!
Any suggestions on how to build applications on top of cryptDB? So far, I tried using java and it does not work since cryptDB does not support JDBC driver. I checked with their user archives discussion and found no workaround. Any suggestion in this regard will be welcome
I am sorry for the delay in the response, I was busy.
You can take a look at the docs coming with cryptdb source:
cryptdb/doc/README
,cryptdb/doc/notes/demo_notes.txt
.You can see that you can use
edb/EDBProxy.hh
library, that is written in C++, so there are the following ways:I stock in step 4 (build CryptDB on MySQL) as you can see after running this instruction
sudo /usr/local/mysql/bin/mysqld_safe –lc-messages-dir=”/usr/local/mysql/share/english/”
It response as follows and then it freeze for long time and never return to command prompt
131210 14:43:48 mysqld_safe Logging to ‘/var/log/mysql/error.log’.
131210 14:43:48 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
(I wait for several minutes)
Please describe what would be the reason.
thanks
I think you should check out the new source from CrypDB. You just have to have ruby and then you run a single script and everything is taken care of.
Thanks, I am going to update the HOWTO so that it reflects current source.
I just downloaded all parts 2 days ago from your mentioned addresses
You can use the old howto if you have the old source code (you don’t if you downloaded it 2 days ago!), otherwise you proceed with the new install procedure.
I am sorry because I wasn’t tracking the source, so I updated the post only now, but the code have been updated a while ago. That’s why you can see many people having problems. Don’t hate me 🙂
Lesson learned: always read the README!!! ^_^
Hey man, You are welcome.
Isn’t good idea, put a video on youtube for installing from scratch ?
Thanks,
The main problem is my internet connection upload which is quite slow (<1Mbps) so it will take ages 😀
But I will do it, soon or later.
I’m ready to help you for creating video guide.
Do you now a good, free, software for screen recording available for Mac? It’s really important it has zoom, otherwise shell command line might be really hard to read.
root@debian:/home/student# git clone -b public git://g.csail.mit.edu/cryptdb
Cloning into ‘cryptdb’…
fatal: unable to connect to g.csail.mit.edu:
g.csail.mit.edu[0: 128.30.44.149]: errno=Connection timed out
What should I do to escape from this error?
I have no Firewalls installed and no IPtables too.
I’m using Debian 32 bit OS.
There might be several reasons included:
Before issuing the git command check that you can reach the server (i.e. use
ping
)I found two free and easy to use tools for recording your screen on your Mac
1-Using QuickTime (Preinstalled)
2-Using Jing (Free Download)
QuickTime doesn’t have zoom-in and zoom-out, so I will take a look of Jing, thx.
I have a exist a big database in my mysql server and I installed cryptdb without problem and it is working. My question is that How I can encrypt some fields of tables from this exist database not entire tables.
Please help me.
Thanks
I will look at the problem when I have time, but in the meanwhile I reccomend you to post the question on the CryptDB mailing list.
I think the admin of this site is in fact working hard in support
of his website, since here every stuff is quality based information.
The installation procedure that you mention and the new script that is provided by the Cryptdb team in their website makes the installation of both the database and the proxy in the same machine.
How can I install the database in a virtual machine and the proxy on my host OS, and still make cryptdb work?
Hi,
I installed cryptdb using the NEW installation method. But when I try to run cryptdb, I am not able to connect to the mysql server. I am getting an error.
main/Connect.cc:59 (do_connect): mysql_real_connect: Access denied for user
main/Connect.cc:55 (do_connect): connecting to server 127.0.0.1 user root pwd letmein port 3306
‘root’@’localhost’ (using password: YES)
terminate called after throwing an instance of ‘std::runtime_error’
what(): cannot connect
Aborted (core dumped)
But, the password is supposed be ‘letmein’ by default, right ?
Please help me out.. I am struck at this for a long time.
If you are facing this error, you need to do the following..
1. open test/test_utils.hh file (found in “test” folder in which yau have cloned cryptdb), which contains following code, you need to make changes as
class TestConfig {
public:
TestConfig() {
// default values
user = “root”;
pass = “student”;
/* use password which you have entered while installing MYSQL in your system, by default password is letmein, you need to change that, in my case it is student*/
host = “student”;
db = “cryptdbtest”;
// i used my db name as cryptdbtest, you can choose yours and mention this db name while initiation of cryptdb//
shadowdb_dir = std::string(getenv(“EDBDIR”)) + “/shadow”;
port = 3306;
stop_if_fail = false;
2.Opne cd_test.cc file in “main” folder, again make changes in the following code
ConnectionInfo ci(“localhost”, “root”, “student”); // rewrite the password as you done above//
const std::string master_key = “2392834”;
ProxyState ps(ci, av[1], master_key);
const std::string create_db =
“CREATE DATABASE IF NOT EXISTS ” + std::string(av[2]);
3.Open wrapper.lua file from cryptdb-proxy folder and make changes at the following code
CryptDB.connect(proxy.connection.client.src.name,
proxy.connection.server.dst.address,
proxy.connection.server.dst.port,
os.getenv(“CRYPTDB_USER”) or “root”,
os.getenv(“CRYPTDB_PASS”) or “student”, // metion the your password here//
os.getenv(“CRYPTDB_SHADOW”) or os.getenv(“EDBDIR”)..”/shadow”)
After all these changes done save the files and in terminal change directory to cryptdb, folder in which you have cloned cryptdb s/w from repository, (i.e. cd cryptdb) and type following commands
1. make clean
2. make all
3. make install
you are done now and use
$ obj/main/cdb_test ./shadow “enter your db name without double quotes, as mentioned in rule 1 above, near db ”
Finally cryptdb is initiated.
Thanks !! It worked 🙂
please l want to kown if it works in ubuntu 14.04?
I didn’t try, so I can’t help you. Sorry.
I install CryptDB on ubuntu 12.04.4 follow the New installation method and I’ve got these thing!!!
parser/mysql_type_metadata.cc:129:5: error: this decimal constant is unsigned only in ISO C90 [-Werror]
cc1plus: all warnings being treated as errors
make: *** [obj/parser/mysql_type_metadata.o] Error 1
./scripts/install.rb:176:in `pretty_execute’: `make` failed (RuntimeError)
from ./scripts/install.rb:169:in `>’
from ./scripts/install.rb:147:in `fn’
from ./scripts/install.rb:281
o0zzlh0o@ubuntu:~/cryptdb$
How can I fix it, please help ^^!
I am sorry guys, I am really busy this period, so I hope someone else will help.
By the way, you might try to add the –std=c90 flag to gcc command line.
I have the same problem… now We can to install in 32Bits?
Problem:
“parser/mysql_type_metadata.cc:129:5: error: this decimal constant is unsigned only in ISO C90 [-Werror]
cc1plus: all warnings being treated as errors
make: *** [obj/parser/mysql_type_metadata.o] Error 1
./scripts/install.rb:176:in `pretty_execute’: `make` failed (RuntimeError)
from ./scripts/install.rb:169:in `>’
from ./scripts/install.rb:147:in `fn’
from ./scripts/install.rb:281”
There is new release of CryptDB, which is released on Feb 5 2014. Whenever you download CryptDB from Github, you get the newer version but not previous versions.
The new version will run in 64-bit systems with Debian/Ubuntu OS, whereas previous versions will run on 32-bit machines.
Very soon MIT people make new CryptDB work (as they said) in 32-bit machines.
ok, I will try on ubuntu 64-bit version, thanks for all of your support ^^ By the way, if I want to download the previous versions of CryptDB, is there any way for me to get it?
No you cannot download old CryptDB software unless MIT provides it separately. By default the new one will get download, which is meant for 64-bit machines.
I install CryptDB on ubuntu 12.04.4 64-bit by using the New installation and IT WORKED ^^ thanks a lot ^^
Thank you so much whitehatty !! o0zzlh0o, thank you your installation video. I completed installation succesfully but When i tested the cryptdb i got your mysql errors (1105 and error 2003). How I do fix this error? I watched your demo video and how is the program running when you “create database”
Can you write step by step after installation cryptdb? Or, Is there anybody want to help
me
Thanks in advance .
uozcan12, can u please explain steps, i have tried to install on ubuntu 14.04 and getting error with bison parser . I have also commented my errors below please check
Hello I followed your video for installing Cryptdb
I want to know how did you get the webinterface in the next video: CryptdbDemo.
I await answers
I am sorry, I didn’t make the video, it was one of the users here who did it. So you might want to wait his response.
Hello
also I appear to me how can I fix this error?
any php example files to connect to cryptdb and execute queries
take a look HERE
after installing CryptDB via [NEW] installation, I continue installing apache2, php5. then I copy folder phpBB3 from $HOME/cryptdb/eval/apps/ to /var/www/ and start the proxy. after that I use firefox and go to localhost/phpBB/install2/ to install phpBB but nothing happen !!!
How can I deploy phpBB and use CryptDB for this app???
did you check if apache and php are correctly configured?
Hey guys, how can I separate proxy and mysql-server ??? I mean that I have 2 machines VM1(192.168.1.10) and VM2(192.168.1.20). I install CryptDB via [NEW] installation on VM1 and install mysql-server on VM2. When I start proxy on VM1, I change the value of –proxy-backend-addresses into 192.168.1.20:3306 to use VM2 as backend database, but when I connect to CryptDB using this command “mysql -u root -pletmein -h 127.0.0.1 -P 3307” it say that “ERROR 1105 (HY000): (proxy) all backends are down”!
How can I do and which file do I have to check, config to make this work??? please help ^^
Did you try to ping VM2 from inside VM1 to see if VM2 is reachable?
yep, ping is OK
Ok then, did you check that firewall is actually allowing connections to that port?
you right, I forgot the firewall ^^ but I’ve got other problem “ERROR 2013 (HY000): Lost connection to MySQL server at ‘reading authorization packet’, system error: 0”. I googled and did everything I can on VM2
-comment out the bind address in /etc/mysql/my.cnf
-enable ufw firewall and allow port 3306
-add “mysqld: ALL” into /etc/hosts.allow
-CREATE USER ‘root’@’%’ IDENTIFIED BY ‘letmein’; GRANT ALL ON *.* TO ‘root’@’%’;
-restart mysql
But it still error :)) btw thank you so much and sorry if I wasted your time ^^!
Try to increase connection timeout, as pointed out HERE.
Don’t worry it is not wasted time, actually it might helps someone else if he’s stuck on the same problem.
I increase connect_timeout, net_read_timeout but it still didn’t work.
I think may be something happen with mysql-server during installing CryptDB via [NEW] installation, so I installed CryptDB on VM2 and use mysql-server installed by this way as backend database :)) it worked and I don’t know why LOL.
btw thank you so much, I will try to figure out what happen ^^
where is connect_timeout? Which file??
I install CryptDB on ubuntu 12.04.3 amd64 and meet the same problem as o0zzlh0o did
Shankar said 32-bit machines may meet this problem
but I run in x64 machine
./scripts/install.rb:176:in `pretty_execute’: `make` failed (RuntimeError)
from ./scripts/install.rb:169:in `>’
from ./scripts/install.rb:147:in `fn’
from ./scripts/install.rb:281:in `’
How can I fix this it?Thanks please help ~
did you try to reinstall CryptDB on a new machine? I met this problem when I installed CryptDB on Ubuntu 32bit, but everything run perfectly on Ubuntu 64bit. May be your machine has some problem.
yes I i did, I try to reinstall CryptDB on 3 machines and met the same problem.All of the machines are 64bit and 2 of them are 12.04,1 is 13.10.Do I have any other way to install the cryptdb?
Thank you very much~
sr I don’t know if has any other way to install CryptDB, you may try [OLD] Installation ^^
This is video I recorded the installation of CryptDB from begin to end https://www.youtube.com/watch?v=ohoHW5bGn60
I used Ubuntu LTS 12.04.4 64bit downloaded from Ubuntu homepage and used VMware Workstation for making Ubuntu virtual machine.
Sry for the late reply…There are 3 methods to install cryptdb, try installation using them.
You can use Debian 6 or Ubuntu OS 12/13 64 bit OS.
You can refer my previous comment to get the clear idea of installing the cryptDB.
Thank you for this tutorial. I have installed it in 12.04.4 LTS 64-bit with “new” installation. When I tried running, I cannot run “like” queries and cannot create a table with one column encrypted and another plain text… Please help!
Hi.
On the column problem I cannot help right now, because I don’t have a Linux VM installed…so check the docs or ask to CryptDB mailing list, there might be useful info in there…
About the LIKE statement, that is strange, because according to the CryptDB papers most LIKE statements should work. It might be that if you change the way you did it, it works.
If I find time tomorrow, I’ll try to mess up a little bit on an EC2 istance
Thanks for for your quick reply. Yes, thats strange even I read the paper. I tried reaching the mailing lists but no response so far.
I have followed instructions as per doc/demo_notes.txt and could perform all queries.
with LIKE:
QUERY: select name from t1 where name like ‘dennis%’;
ERROR 1105 (07000): Identifier not found: ‘oINVALID’
FILE: Analysis.cc
LINE: 782
It would be great if you can find the issue and let me know how to solve.
From the paper:
SELECT *
FROM messages
WHERE msg
LIKE "% alice %"
I bet if you remove the “%” from your SQL query, or you add a space before it, it will work. Basically you can only do word search, that is LIKE statements are restricted. They also do not support regular expression matching right now.
I tried all possible outcomes with single / double quotes / % etc. Nothing seems to work.
Any luck on my column query? I used create table t1 (Id integer, name ENC text); I want second column to be encrypted and Id to be in plaintext. I also read that we need to turn off default encryption mode false in a .cc file. No such file exists.
Actually, I didn’t try anything yet, but I am starting right now a t1.micro EC2 instance, hope the disk space is enough to install CryptDB.
Nevermind, the code does not compile, I will post the build log on the mailing list so that they can fix it…
Hey any luck so far??
I sent the mail to the mailing list, but since I am not subscribed to it, the message is waiting for approval…the error is in mysql, so I can’t do nothing there. For instance:
tail -n30 BuildLog.txt
#define Lex (YYTHD->lex)
^
/home/ubuntu/cryptdb/mysql-src/sql/sql_yacc.yy:14602:7: note: in expansion of macro ‘Lex’
| FOR_SYM MIGRATE_SYM { Lex->xa_opt=XA_FOR_MIGRATE; }
^
/home/ubuntu/cryptdb/mysql-src/sql/sql_yacc.yy:30:23: error: ‘yythd’ was not declared in this scope
#define YYTHD ((THD *)yythd)
^
/home/ubuntu/cryptdb/mysql-src/sql/sql_yacc.yy:37:14: note: in expansion of macro ‘YYTHD’
#define Lex (YYTHD->lex)
^
/home/ubuntu/cryptdb/mysql-src/sql/sql_yacc.yy:14608:23: note: in expansion of macro ‘Lex’
LEX *lex= Lex;
^
/home/ubuntu/cryptdb/mysql-src/sql/sql_yacc.yy:30:23: error: ‘yythd’ was not declared in this scope
#define YYTHD ((THD *)yythd)
^
/home/ubuntu/cryptdb/mysql-src/sql/sql_yacc.yy:37:14: note: in expansion of macro ‘YYTHD’
#define Lex (YYTHD->lex)
^
/home/ubuntu/cryptdb/mysql-src/sql/sql_yacc.yy:14618:23: note: in expansion of macro ‘Lex’
LEX *lex= Lex;
^
make[2]: *** [sql/CMakeFiles/sql.dir/sql_yacc.cc.o] Error 1
make[1]: *** [sql/CMakeFiles/sql.dir/all] Error 2
make: *** [all] Error 2
scripts/install.rb:176:in `pretty_execute': `make` failed (RuntimeError)
from scripts/install.rb:169:in `>'
from scripts/install.rb:135:in `fn'
from scripts/install.rb:281:in `'
For those of you who are having the error:: ‘yythd’ was not declared in this scope, the following solution works for me.
Remove bison from install.rb to stop auto-upgrading bison (bison 3 breaks mysql at this moment)
Downgrade bison as follows:
wget http://launchpadlibrarian.net/140087283/libbison-dev_2.7.1.dfsg-1_amd64.deb
wget http://launchpadlibrarian.net/140087282/bison_2.7.1.dfsg-1_amd64.deb
dpkg -i libbison-dev_2.7.1.dfsg-1_amd64.deb
dpkg -i bison_2.7.1.dfsg-1_amd64.deb
Run the ruby script.
Hope it helps.
Hi,
Many thanks for the blog and several users who have posted their suggestions for installing CryptDb here, it has been very useful for me.
I am trying to install CryptDb over Ubuntu 14.04, however, I am getting the same error during installation:
[ 72%] Building CXX object sql/CMakeFiles/sql.dir/sql_yacc.cc.o
mysql-src/build/sql/sql_yacc.cc: In function ‘int MYSQLparse()’:
mysql-src/build/sql/sql_yacc.cc:15721:30: error: too few arguments to function ‘int MYSQLlex(void*, void*)’
yychar = yylex (&yylval);
I downgraded bison to v2.5 from v3.0. However, I am still getting the same error.
I tried with gcc 4.6 and 4.8, both.
Any suggestions would be very helpful. Thanks!
ERROR 1105 (07000): unhandled sql command 30 i get this error when trying to load a csv file into the mysql database using local infile command. please help me with this
Im getting the same error. did you manage to solve it?
I found many solutions from the comments alone. I thank you for your kindness 🙂
2014-09-22 00:19:20: (critical) plugin proxy 0.8.4 started
2014-09-21 07:52:49: (critical) network-mysqld-lua.c:234: lua_load_file(/home/prak/cryptdb/in.bashrc/mysqlproxy/wrapper.lua) failed: lua-scope.c:241: stat(/home/prak/cryptdb/in.bashrc/mysqlproxy/wrapper.lua) failed: No such file or directory (2)
when i issue the command: mysql -u root -pletmein -h 127.0.0.1 -P 3307
i get the following error:
ERROR 1105 (HY000): #07000MySQL Proxy Lua script failed to load. Check the error log.
can anyone help me in removing this error?
Write on terminal
export $EDBDIR=path cryptdb
can anyone tell the cause of this error and how to resolve this?
ERROR 1105 (HY000): #07000MySQL Proxy Lua script failed to load. Check the error log.
I am sorry, it’s been a long time since I worked with CryptDB, so I don’t know about current issues.
Please, send an email to cryptDB mailing list, you might find someone who’s able to help you.
I have the same problem. Have you resolved it. Please help me. Thank you very much
I have exactly the same problem. If someone give you an answer could you please forward it to me.
make sure you have set the value of EDBDIR=”path to cryptdb”.
check the value of EDBDIR using echo $EDBDIR
you need to reinstall cryptdb , if the state is corrupt.
I have the same problem.Can you help me?I have set the value export EDBDIR=’path to my cryptdb’
carefully use “export EDBDIR=/full/path/to/cryptdb/”,remember to replace the “/full/path/to/” correctly. For example, because i forget to delete the “/to”, it doesn’t work. So carefully!(“/home/lily/cryptdb” not “/home/lily/to/cryptdb”)
Hello, how can I access to client database without proxy? For example, take a look at the directory table in embedded_db? I cannot see embedded_db database in the proxy.
Also, I wonder how Cryptdb handles client side decryption? Is it also achieved by UDF? For example, if I send “select * from employee” in the proxy, I’m guessing
1. either the encrypted result will be sent back to client, insert into client database, client decrypts these data using UDF, present it to end user, and finally delete them in database.
2. or the encrypted result will be sent back to proxy, decrypted by proxy and send the decrypted result to client.
When we are installing cryptdb ,we are getting “make failed error”. Please help me….
please try to be more specific. provide error details.
im also getting same error

for more details about this error plz click on below link
Hi everyone,
Have anyone of you tried to install cryptdb recently?
Is it installed successfully?
Ialso have the `pretty_execute’: `make` failed (RuntimeError) Error. I’m using the latest desktop ubunto 64bit on a clean VM. Can anybody help with this problem?
Installed the recent CryptDB on Ubuntu 12.04 (desktop). Compiled and installed, no problem.
The proxy isn’t encrypting anything, however. I left a message on the list…
I have installed cryptDB. where shold I get tutorials?
Following error while executing obj/main/cdb_test ./shadow mysql
141109 13:45:52 InnoDB: The InnoDB memory heap is disabled
141109 13:45:52 InnoDB: Mutexes and rw_locks use GCC atomic builtins
141109 13:45:52 InnoDB: Compressed tables use zlib 1.2.3.4
141109 13:45:52 InnoDB: Using Linux native AIO
141109 13:45:52 InnoDB: Initializing buffer pool, size = 128.0M
141109 13:45:52 InnoDB: Completed initialization of buffer pool
141109 13:45:52 InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name /home/abhi/cryptdb/shadow/ibdata1
InnoDB: File operation call: ‘open’.
InnoDB: Cannot continue operation.
Hello every one.
I tried to install on ubuntu 14.04 …..failed
Now I installed on ubuntu 12.04 I think it wors because proxy start.
But for executing obj/main/cdb_test ./shadow mysql I have the same problem *
I have the same problem.
And the documentations don’t help much about how rurring the real examples just after installing…..
Could you help me please?
hello,I have a same problem.. Have you find a solution?
I am facing same problem as shown in the screen shot and i am using 32bit Ubuntu
can u tell me how can I solve this ??
Is it necessary to use only 64 bit operating system ??
It used to work on both, but now it works only on 64bit systems. In fact I linked a comment on that issue.
So for now yes, you need 64bit operating systems.
I am getting the sam issue on 64 bit also
/home/ifta/Pictures/Screenshot from 2015-01-29 17:08:08.png
There is a previous comment saying that you might need to downgrade some packages before being able to make it runs again. I recommend you to post the issue on CryptDB mailing list, sorry I am of no help here.
I’ve done it but not work
hi, l want to konw if l follow the step of new installations ,will be successful?
hi guys.Can now follow the steps to install successful?
hi ,guys.Now follow the steps to install,it can be successful?
Hello, first of all i thank you for ur page and everyone contribute in here, after few days of tried i finall successful on install cryptdb on my system, i would like to share the full tut to what the TS left off, hope it help
1. My system is 2 virutal ubuntu 12.04.5: install cryptDB on VM1, XAMPP if u want fast, or install seprately mysql and ur application(web) server on VM2 or sth
On VM1:
2. Follow the instruction to install CryptDB on VM1, should be no problem at all
3. export EDBDIR=$HOME/cryptdb (default – it should be the full path to ur cryptdb folder)
4. $HOME/cryptdb/bins/proxy-bin/bin/mysql-proxy –plugins=proxy –event-threads=4 –max-open-files=1024 –proxy-lua-script=$EDBDIR/mysqlproxy/wrapper.lua –proxy-address=127.0.0.1:3307 –proxy-backend-addresses=UR VM2 IP HERE:3306 (start the proxy – only work if ur u want install everything on 1 machine eg.UR VM2 IP HERE=localhost – else do everything on vm2 first)
5. Open other terminal or point ur app to
-> mysql -u root -p letmein -h VM1 IP HERE -P 3307
On VM2: (actually step 9-10 here can be shortern by install dirrectly cryptdb again on ur VM2, but why would u? even though mysql wont be modified, it need a plugin called UDF to excute query to remove crypto layer)
5. Install Mysql and anyother thingy, maybe write a web or sth.
6. (Optional – if u install everything in 1 machine, theres no need from this to step 10.) sudo gedit -> open file system -> /etc/mysql/my.cnf -> look for the [mysqld] section, and in there for the bind-address keyword. This usually is set to 127.0.0.1 — change that to match your “normal” IP-address
7.
mysqladmin -u root -p ur old password password ‘letmein’ (change root user password to match cryptdb default password)
mysql -u root -p (login mysql)
GRANT ALL ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘letmein’; (grant permission to access root user from all source(VM1))
Check on ur VM1: mysql -u root -p letmein -h VM2 ADDRESS -P 3306 (success = ok!)
8. Get a copy of cryptdb folder
9. cd /cryptdb/ -> touch conf/config.mk -> make udf (install UDF on mysql)
10.
> install -m 644 -g mysql -o mysql ./obj/udf/edb.so $(MYSQL_PLUGIN_DIR – might be /usr/lib/mysql/plugin + Change mysql account/plugin directory as necessary.)
-> mysql < udf/create.sql
(READ cryptdb/doc/udf-build.txt if fail)
11. restart mysql service
COMPLETE!
at step 9: need to install a bunch of package using
sudo apt-get install libntl-dev libmysqlclient-dev libssl-dev libbsd-dev libevent-dev libglib2.0-dev libgmp-dev mysql-server libaio-dev automake gtk-doc-tools flex libncurses5-dev bison g++ make
It is possible to use cryptdb with phpMyAdmin and encrypt any action performed with it? Does anyone know how to do?
Hi, I am writing to ask if the only way to use cryptdb is managing the database using the command line of the terminal?
I don’t know if there is any GUI… Considering the fact it is a MIT research project it is likely it’s command line only.
Maybe it was not as clear architecture.
Can someone explain to me the role of proxy and proxy-backend?
Step 9 should be performed on VM1 or VM2? If you must run on VM2 where I take the folder on VM2 CryptDB if I only install mysql?
Hello, I go to your tutorial but in step 10, when I press “mysql < udf/create.sql" then get the respornse [ERROR 1045 (28000): Access denied for user 'vagrant'@'localhost' (using password: NO)]. Then I press "sudo mysql < udf/create.sql" get respornse [ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)]. In step 9. When i press "make udf" then get
[echo "#include ” > obj/util/version.cc.tmp
( REL=”$(git describe –always –long –dirty=+dirty)” ; \
echo “const char* cryptdb_version_string = \”$REL\”;” >> obj/util/version.cc.tmp )
cmp -s obj/util/version.cc.tmp obj/util/version.cc || mv obj/util/version.cc.tmp obj/util/version.cc]
I am not sure this repornse is correctly.
I try many time but this error repeat again. Should I do next.
cd $HOME/cryptdb-inst
tar xzf mysql-5.5.14.tar.gz
cp -R cryptdb/parser/mysql_mods/* mysql-5.5.14/
rm mysql-5.5.14/sql/sql_yacc.{cc,h}
cd mysql-5.5.14
mkdir build
cd build
cmake -DWITH_EMBEDDED_SERVER=ON ..
make
sudo make install
cd /usr/local/mysql
——–>>>>>>COMPLETE!
sudo chown -R mysql . Error ——->>>>> chown: invalid user: `mysql’
Check NOTE1 at the end of the post.
where we can get tutorials for cryptdb . i have to use it for real time application
You can read the documentation that you find in the source directory. You can also look for useful information in the archive of the user mailing list. Btw, it is just like a MySQL database, the only difference is that you have some limitations in the kind of SQL query you can do, and that you have to sell CryptDB and make it works first, which can be troublesome.
i am getting make failerd error while installing cryptdb . some of the people also mentioned the same error in comments above . but no one has provivded solution to it
Check the comments I linked in the post, it might help.
i am getting this error:
tail -n30 BuildLog.txt
#define Lex (YYTHD->lex)
^
/home/ubuntu/cryptdb/mysql-src/sql/sql_yacc.yy:14602:7: note: in expansion of macro ‘Lex’
| FOR_SYM MIGRATE_SYM { Lex->xa_opt=XA_FOR_MIGRATE; }
^
/home/ubuntu/cryptdb/mysql-src/sql/sql_yacc.yy:30:23: error: ‘yythd’ was not declared in this scope
#define YYTHD ((THD *)yythd)
^
/home/ubuntu/cryptdb/mysql-src/sql/sql_yacc.yy:37:14: note: in expansion of macro ‘YYTHD’
#define Lex (YYTHD->lex)
^
/home/ubuntu/cryptdb/mysql-src/sql/sql_yacc.yy:14608:23: note: in expansion of macro ‘Lex’
LEX *lex= Lex;
^
/home/ubuntu/cryptdb/mysql-src/sql/sql_yacc.yy:30:23: error: ‘yythd’ was not declared in this scope
#define YYTHD ((THD *)yythd)
^
/home/ubuntu/cryptdb/mysql-src/sql/sql_yacc.yy:37:14: note: in expansion of macro ‘YYTHD’
#define Lex (YYTHD->lex)
^
/home/ubuntu/cryptdb/mysql-src/sql/sql_yacc.yy:14618:23: note: in expansion of macro ‘Lex’
LEX *lex= Lex;
^
make[2]: *** [sql/CMakeFiles/sql.dir/sql_yacc.cc.o] Error 1
make[1]: *** [sql/CMakeFiles/sql.dir/all] Error 2
make: *** [all] Error 2
scripts/install.rb:176:in `pretty_execute’: `make` failed (RuntimeError)
from scripts/install.rb:169:in `>’
from scripts/install.rb:135:in `fn’
from scripts/install.rb:281:in `’
I met the similar problem with “rahul”.
make[2]: *** [sql/CMakeFiles/sql.dir/sql_yacc.cc.o] Error 1
make[1]: *** [sql/CMakeFiles/sql.dir/all] Error 2
make: *** [all] Error 2
I think some users also met the problem. However, I haven’t found a solution yet. Could anyone help me?
By the way, I use Ubuntu 14.04. Does it matter?
Thanks for the help of CryptDB maillist. Downgrade bison to bison 2.x. Done.
Hi guys !!. I am working on a project about CryptDB and have a question for CryptDB web application. I used NetBeans 7.4 and ı do not know how connect no encrypted data. 3306 port shows encrypted data.(table_EYDVPIXTDU). But I want to see table not encrpted.(ex: student etc.) What should I do?
Hi i have this problem:
sql/CMakeFiles/sql.dir/build.make:1745: recipe for target ‘sql/CMakeFiles/sql.dir/sql_lex.cc.o’ failed
make[2]: *** [sql/CMakeFiles/sql.dir/sql_lex.cc.o] Error 1
CMakeFiles/Makefile2:4066: recipe for target ‘sql/CMakeFiles/sql.dir/all’ failed
make[1]: *** [sql/CMakeFiles/sql.dir/all] Error 2
Makefile:147: recipe for target ‘all’ failed
make: *** [all] Error 2
Please help me
Got an similiar error:
/home/cryptdb/mysql-src/sql/sql_yacc.yy:14618:23: note: in expansion of macro ‘Lex’
LEX *lex= Lex;
^
make[2]: *** [sql/CMakeFiles/sql.dir/sql_yacc.cc.o] Error 1
make[1]: *** [sql/CMakeFiles/sql.dir/all] Error 2
make: *** [all] Error 2
scripts/install.rb:176:in `pretty_execute’: `make` failed (RuntimeError)
from scripts/install.rb:169:in `>’
from scripts/install.rb:135:in `fn’
from scripts/install.rb:280:in `’
Hello I solved this problem by installing Ubuntu 12.04 64 bit that you find at this link -> ubuntu.com/download/alternative-downloads
Does anyone know how to effectively use CryptDB on a server? That is where I send running CryptDBproxy?
Hi. I get an error ERROR 1105 (HY000): (proxy) all backends are down when i give the command
mysql -u root -pletmein -h 127.0.0.1 -P 3307
I don’t know what the problem is. This is very urgent. Can someone please help me out.
you send when running the proxy server mysql must be active …. facico you an example:
if you have two cars that I point with VM1 and VM2 VM1 you installed on cryptdb proxy and VM2 you have mysql with the database that you want to encrypt.
When you start the proxy on VM1 VM2 also must be active / switched on.
When it comes out that problem is usually perchp the proxy fails to connect to the database … if not working to enable permissions in VM2 by amending Directive bind-address in my.cnf
sorry for my English
I am using only 1 machine and I have installed both mysql proxy and cryptdb in that only. So, what should I do now.
enable udf firewall…search in ubuntu guide (i’m not sure that is sudo enable udf
I also encountered this problem, but later I found out that there are two main reasons that caused this problem:
1) I didn’t spell the export path right, so do remember to check it
2) this command is actually used to link proxy with crypto db, so if you set your cryptdb’s password diffrent from ‘letmein’ during the process of installing, this error will appear. You can change the password by mysqladmin -u root -p password
Hope that can help:)
Hi i got an error,
ERROR 1105 (HY000): (proxy) all backends are down
when i gave this command.
mysql -u root -pletmein -h 127.0.0.1 -P 3307
Can someone please help me out of this. This is very urgent.
Thanks
Hi, I have a question, if database is not relationship, cryptdb have relation? Example?
I also encountered this problem, but later I found out that there are two main reasons that caused this problem:
1) I didn’t spell the export path right, so do remember to check it
2) this command is actually used to link proxy with crypto db, so if you set your cryptdb’s password diffrent from ‘letmein’ during the process of installing, this error will appear. You can change the password by mysqladmin -u root -p password
Hope that can help:)
Hello, I am using cryptdb with mysql as well, but do anyone know how can create a column with double or float data type or have any other data type that I can store ‘xx.xx’ number?
Thanks
Hello, I am using cryptdb as well, but did anyone know how to create a column with float or double data type or any other way that I can store ‘xxx.xx’ number?
(It always say that float and double type are not supported.)
Thanks
Hi,
I am getting this error – “(critical) unknown option: –plugins=proxy”. Any idea why this happened?
Thanks
Hi, you try typing this –> export EDBDIR=$HOME/cryptdb <– before and then starts the proxy…I studied CryptDB for my thesis. For those who understand Italian can read the third chapter on my WebSite.
Thanks. It works!!!
Please help me with this, i am facing this issue while running cryptdb, i am running it on ubuntu 12.04 on 64 bit architecture,
make: *** No rule to make target `obj/crypto/ecjoin.o’, needed by `obj/libedbcrypto.a’. Stop.
./scripts/install.rb:168:in `pretty_execute’: `make` failed (RuntimeError)
from ./scripts/install.rb:161:in `>’
from ./scripts/install.rb:142:in `fn’
from ./scripts/install.rb:273
you should down the cryptdb from http://css.csail.mit.edu/cryptdb (completely down, not copy from other place). Because when i copy it from my windows to ubuntu, it doesn’t work. It works when i down it in ubuntu.
Edited: fixed link
make: *** No rule to make target `obj/crypto/ecjoin.o’, needed by `obj/libedbcrypto.a’. Stop.
./scripts/install.rb:168:in `pretty_execute’: `make` failed (RuntimeError)
from ./scripts/install.rb:161:in `>’
from ./scripts/install.rb:142:in `fn’
from ./scripts/install.rb:273
How to fix this issue while installing cryptDB.
Using ubuntu 12.04 on 64 bit
The same problem with me..
do you konw how to solve it ?
please let me konw
thank
make: *** No rule to make target `obj/crypto/ECJoin.o’, needed by `obj/libedbcrypto.a’. Stop.
./scripts/install.rb:167:in `pretty_execute’: `make` failed (RuntimeError)
from ./scripts/install.rb:160:in `>’
from ./scripts/install.rb:141:in `fn’
from ./scripts/install.rb:272
how do you solve this problem?thank you
you should down the cryptdb from http://css.csail.mit.edu/cryptdb (completely down, not copy from other place). Because when i copy it from my windows to ubuntu, it doesn’t work. It works when i down it in ubuntu.
Edited: fixed link
can you show me more information before “make:*** …”?
I tried to remove one of the ecjoin from makefrag and it complied
I started the proxy and it also worked.
But when i issue mysql -u root -pletmein -h 127.0.0.1 -P 3307
i get an error like Lost connection to MySQL server at ‘reading authorization packet’, system error: 0
and on proxy i get
starting proxy
160119 2:43:32 InnoDB: The InnoDB memory heap is disabled
160119 2:43:32 InnoDB: Mutexes and rw_locks use GCC atomic builtins
160119 2:43:32 InnoDB: Compressed tables use zlib 1.2.3.4
160119 2:43:32 InnoDB: Using Linux native AIO
160119 2:43:32 InnoDB: Initializing buffer pool, size = 128.0M
160119 2:43:32 InnoDB: Completed initialization of buffer pool
160119 2:43:32 InnoDB: Operating system error number 2 in a file operation.
InnoDB: The error means the system cannot find the path specified.
InnoDB: If you are installing InnoDB, remember that you must create
InnoDB: directories yourself, InnoDB does not create them.
InnoDB: File name /home/admin1/cryptdb-m/cryptdb-master/shadow/ibdata1
InnoDB: File operation call: ‘create’.
InnoDB: Cannot continue operation.
Please help me if anyone knows the solution for it
After I install Crypdb, I try to run it by III, Tests:
obj/test/test queries plain proxy-single
But I got an error:
terminate called after throwing an instance of ‘CryptDBError’
Aborted (core dumped)
Can anyone help me? Thanks!!
On the other hand, I try to run it by II, Proxy:
bins/proxy-bin/bin/mysql-proxy –plugins=proxy –event-threads=4 –max-open-files=1024 –proxy-lua-script=$EDBDIR/mysqlproxy/wrapper.lua –proxy-address=127.0.0.1:3307 –proxy-backend-addresses=localhost:3306
Terminal stuck at ‘2016-05-24 11:15:53: (critical) plugin proxy 0.8.4 started’ and cannot move on!
Do anyone know what is happening?
hi i m having the same problem have you solved it
Does anyone meet this error :
network-mysqld-packet.c:1406:30: error: ‘CLIENT_SECURE_CONNECTION’ undeclared (first use in this function)
You solve this problem? I have this problem too.
I have the same problem. You solve it?
I got this
/opt/crypt_inst/cryptdb/mysql-src/build/libmysqld/libmysqld.a(compress.c.o): In function `compressBound’:
/opt/crypt_inst/cryptdb/mysql-src/zlib/compress.c:77: multiple definition of `compressBound’
/opt/crypt_inst/cryptdb/mysql-src/build/libmysqld/libmysqld.a(compress.c.o):/opt/crypt_inst/cryptdb/mysql-src/zlib/compress.c:77: first defined
in running cryptdb_shell.>(“make”).But i didn’t found the file “compress.c” in dri mysql-src/zlib.Did anyone meet this before, I need some help to continue. Waiting online!
Mine on Ubuntu 16.04 32bits ,I got this when running the install.rb on the step “cryptdb_shell.>(“make”)”:
…..
/opt/crypt_inst/cryptdb/mysql-src/build/libmysqld/libmysqld.a(compress.c.o): In function `compressBound’:
/opt/crypt_inst/cryptdb/mysql-src/zlib/compress.c:77: multiple definition of `compressBound’
/opt/crypt_inst/cryptdb/mysql-src/build/libmysqld/libmysqld.a(compress.c.o):/opt/crypt_inst/cryptdb/mysql-src/zlib/compress.c:77: first defined here
..(other multiple definitions)..
Did some one who install cryptdb sucess recently can give me some help!
I’m install cryptdb on Ubuntu 16.04 64bits again,and i still meet this error:
/opt/cryptdb/mysql-src/sql/sql_lex.h:483:15: error: ‘st_select_lex_node* st_select_lex_node::slave’ is protected
*master, *slave, /* vertical links */
^
parser/lex_util.cc:197:16: error: within this context
lex->unit.*rob<st_select_lex_node, st_select_lex_node *,
^
parser/lex_util.cc: In function ‘Item_func* dup_item(const Item_func&)’:
parser/lex_util.cc:43:1: error: control reaches end of non-void function [-Werror=return-type]
I delete -Werror in GNUmakefile line 7 ,but the error still unsolved. Who can help me!!!!!
I have successfully separate the proxy and mysql into two VMs, and it is successfully to connect.
I try to create database and use database, it successes.
But when I try to ‘select’, ‘create table’ or even ‘show tables’,
it shows this error:
mysql> create table OrderProduct (oid INT(10) AUTO_INCREMENT, pid INT(10), qty INT(10), primary key(oid, pid));
ERROR 1105 (07000): Error: database ‘test2’ not found
FILE: main/Analysis.cc
LINE: 823
mysql> show tables;
ERROR 4095 (fail1): (main/dml_handler.cc, 1631)
failed to find the database ‘test2’
Do anyone know how to solve?
Thank you
How to i reached this localhost/datn because acfter start proxy i am not able to run this creatdb.php and all this thing
I have successfully installed the cryptdb but still i don’t know the further step how i run cryptdb i need urgent help please someone help me
Hello, I have this problem/error..How to fix?? thanks!!!
network-mysqld-packet.c: In function ‘network_mysqld_auth_challenge_new’:
network-mysqld-packet.c:1125:3: error: ‘CLIENT_SECURE_CONNECTION’ undeclared (first use in this function)
CLIENT_SECURE_CONNECTION |
^
network-mysqld-packet.c:1125:3: note: each undeclared identifier is reported only once for each function it appears in
network-mysqld-packet.c: In function ‘network_mysqld_proto_get_auth_challenge’:
network-mysqld-packet.c:1253:36: error: ‘CLIENT_SECURE_CONNECTION’ undeclared (first use in this function)
} else if (shake->capabilities & CLIENT_SECURE_CONNECTION) {
^
network-mysqld-packet.c: In function ‘network_mysqld_proto_append_auth_challenge’:
network-mysqld-packet.c:1380:35: error: ‘CLIENT_SECURE_CONNECTION’ undeclared (first use in this function)
} else if (shake->capabilities & CLIENT_SECURE_CONNECTION) {
^
network-mysqld-packet.c: In function ‘network_mysqld_auth_response_new’:
network-mysqld-packet.c:1406:30: error: ‘CLIENT_SECURE_CONNECTION’ undeclared (first use in this function)
auth->client_capabilities = CLIENT_SECURE_CONNECTION | CLIENT_PROTOCOL_41;
^
network-mysqld-packet.c: In function ‘network_mysqld_proto_get_auth_response’:
network-mysqld-packet.c:1463:36: error: ‘CLIENT_SECURE_CONNECTION’ undeclared (first use in this function)
if ((auth->server_capabilities & CLIENT_SECURE_CONNECTION) &&
^
network-mysqld-packet.c: In function ‘network_mysqld_proto_append_auth_response’:
network-mysqld-packet.c:1531:35: error: ‘CLIENT_SECURE_CONNECTION’ undeclared (first use in this function)
if (auth->server_capabilities & CLIENT_SECURE_CONNECTION) {
^
Makefile:1139: recipe for target ‘libmysql_proxy_la-network-mysqld-packet.lo’ failed
make[3]: *** [libmysql_proxy_la-network-mysqld-packet.lo] Error 1
make[3]: Leaving directory ‘/home/xristina/cryptdb/proxy-src/src’
Makefile:658: recipe for target ‘all’ failed
make[2]: *** [all] Error 2
make[2]: Leaving directory ‘/home/xristina/cryptdb/proxy-src/src’
Makefile:504: recipe for target ‘all-recursive’ failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory ‘/home/xristina/cryptdb/proxy-src’
Makefile:409: recipe for target ‘all’ failed
make: *** [all] Error 2
./scripts/install.rb:176:in `pretty_execute’: `make` failed (RuntimeError)
from ./scripts/install.rb:169:in `>’
from ./scripts/install.rb:94:in `fn’
from ./scripts/install.rb:281:in `’
Hey, did you find a solution yet? I have the same problem. Best, Ben
##############
Run: ./scripts/install.rb:95: make
##############
error: ‘CLIENT_SECURE_CONNECTION’ undeclared (first use in this function)
##############
after /home/user/Downloads/cryptdb/proxy-src/plugins/admin/admin-plugin.c:97 add
#define CLIENT_SECURE_CONNECTION 32768 /* New 4.1 authentication for MySQL5.6 */
after /home/user/Downloads/cryptdb/proxy-src/tests/unit/t_network_mysqld_packet.c:37 add
#define CLIENT_SECURE_CONNECTION 32768 /* New 4.1 authentication for MySQL5.6 */
after /home/user/Downloads/cryptdb/proxy-src/src/network_mysqld_packet.c:33 add
#define CLIENT_SECURE_CONNECTION 32768 /* New 4.1 authentication for MySQL5.6 */
################
I fixed this error by manually editing the affected files and copy them during the install process in ./script/install.rb after line 98
#########################
### ERROR_FIXED ‘CLIENT_SECURE_CONNECTION’ undeclared
#########################
mp_shell.>(“cp -v ../errfix/admin-plugin.c #{cryptdb_path}/proxy-src/plugins/admin/admin-plugin.c”)
mp_shell.>(“cp -v ../errfix/t_network_mysqld_packet.c #{cryptdb_path}/proxy-src/tests/unit/t_network_mysqld_packet.c”)
mp_shell.>(“cp -v ../errfix/network-mysqld-packet.c #{cryptdb_path}/proxy-src/src/network-mysqld-packet.c”)
#########################
Have a look at my cryptDB fork for more error fixes: https://github.com/agribu/cryptdb
I got cryptDB running on my Ubuntu 16.04
hello,
type_metadata.cc -o obj/parser/mysql_type_metadata.o
parser/mysql_type_metadata.cc:129:5: error: this decimal constant is unsigned only in ISO C90 [-Werror]
cc1plus: all warnings being treated as errors
make: *** [obj/parser/mysql_type_metadata.o] Error 1
I have this error and I have 32bits, 12.04. Any suggestion?? thanks!!
Hi, am trying to create a table in CryptDB with the following data types (float, datetime), but CryptDB gives me a message
“Error: A SENSITIVE security rating requires the field to the supported with cryptography!”
I have 2 questions:
1) How do I then enable cryptography for these 2 fields?
2) How do I mark columns as “sensitive”?
Did you you find any solutions for your questions? I’m struggling with the same things.
Melvin, did you you find any solutions for your questions? I’m struggling with the same things.
EASY SOLUTION TO RUN CRYPTDB:
For those, you need a simple and deployable solution for cryptDB, here is a Dockerfile to have it build as a docker image: https://github.com/agribu/CryptDB_Docker
Hello,
I am studying on the Cryptdb and I want to add the static library .a (the static library is a second project which I want to call it for functions) in the Cryptdb and after I want to call some functions from static library .a .
Could you help me please how to add the static library?
Thanks!
Hello,
I am studying on the Cryptdb and I want to add the static library .a (the static library is a second project which I want to call it for functions) in the Cryptdb and after I want to call some functions from static library .a .
Could you help me please how to add the static library?
Thanks!
Pingback: Today's Linux Server LinksNine OM