#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.

Advertisement

About whitehatty

Computer Engineer and Scientist interested in Computer Security, Complex Networks, Math, Biology and Medicine. "Think Different" life style. Quake 3 Arena player. NERD by DNA.

Posted on September 30, 2012, in Hacking, Linux and tagged , , , , , , , , . Bookmark the permalink. 206 Comments.

  1. 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 🙂

  2. 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. 😎

  3. 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)

  4. 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…

  5. 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)

  6. Is there an *.iso or image containing CryptDB?

  7. 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.

  8. 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.

  9. 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…

  10. 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.

  11. 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.

  12. 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”

  13. 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:

        • did you update the system before starting the installation process?
        • do you understand what you are doing?
        • why are you trying to install cryptDB?
        • are you using a different directory scheme?
        • did you modify cryptDB configuration files accordingly?

        It is something that should be quite straightforward, I don’t know because it is so painful to you.

  14. * 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.

  15. 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.

  16. 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:

      1. – JNI
      2. – JNA
      3. – develop a C program that can run as a command line utility and then execute it using Runtime.getRuntime().exec() or ProcessBuilder
  17. 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

  18. 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:

      • no internet connection
      • server is down
      • server is under heavy load

      Before issuing the git command check that you can reach the server (i.e. use ping)

  19. 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)

  20. 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

  21. 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.

  22. 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?

  23. 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.

  24. Thanks !! It worked 🙂

  25. 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?

  26. any php example files to connect to cryptdb and execute queries

  27. 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 ^^

      • dasdasdasdsgdtr

        where is connect_timeout? Which file??

  28. 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.

  29. 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.

      • vejeykarthick

        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 `'

  30. 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!

  31. Sundhara Kumar

    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

  32. I found many solutions from the comments alone. I thank you for your kindness 🙂

  33. 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?

  34. 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 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”)

  35. 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.

  36. When we are installing cryptdb ,we are getting “make failed error”. Please help me….

  37. 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?

  38. 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…

  39. I have installed cryptDB. where shold I get tutorials?

  40. Following error while executing obj/main/cdb_test ./shadow mysql

  41. 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?

    • dasdasdasdsgdtr

      hello,I have a same problem.. Have you find a solution?

  42. 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 ??

  43. I am getting the sam issue on 64 bit also

    /home/ifta/Pictures/Screenshot from 2015-01-29 17:08:08.png

  44. hi guys.Can now follow the steps to install successful?

  45. hi ,guys.Now follow the steps to install,it can be successful?

  46. 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?

    • 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?

    • Nguyá»…n Hồng SÆ¡n

      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.

  47. 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’

  48. 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.

  49. 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.

  50. 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?

  51. 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

  52. Does anyone know how to effectively use CryptDB on a server? That is where I send running CryptDBproxy?

  53. 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 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:)

  54. 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:)

  55. 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

  56. 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

  57. Hi,

    I am getting this error – “(critical) unknown option: –plugins=proxy”. Any idea why this happened?

    Thanks

  58. 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

  59. 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

    • 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

  60. can you show me more information before “make:*** …”?

  61. 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

  62. 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?

  63. Does anyone meet this error :
    network-mysqld-packet.c:1406:30: error: ‘CLIENT_SECURE_CONNECTION’ undeclared (first use in this function)

  64. 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!

  65. 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!

  66. 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!!!!!

  67. 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

  68. How to i reached this localhost/datn because acfter start proxy i am not able to run this creatdb.php and all this thing

  69. 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

  70. 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

  71. 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!!

  72. 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”?

  73. Melvin, did you you find any solutions for your questions? I’m struggling with the same things.

  74. 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!

  75. 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!

  1. Pingback: Today's Linux Server LinksNine OM

Leave a Reply to Mr Lin Cancel reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: