I am trying to install MySQL without root permissions. I ran through the following steps:

  1. Download MySQL Community Server 5.5.8 Linux - Generic Compressed TAR Archive
  2. Unpack it, for example to: /home/martin/mysql
  3. Create a my.cnf file in your home directory. The file contents should be:

  4. Go to the /home/martin/mysql directory and execute:

    ./scripts/mysql_install_db --defaults-file=~/my.cnf --user=martin --basedir=/home/martin/mysql --datadir=/home/martin/sql_data --socket=/home/martin/socket
  5. Your MySQL server is ready. Start it with this command:

    ./bin/mysqld_safe --defaults-file=~/my.cnf &

When I try to change the password of MySQL it gives the error:

Cannot connect to mysql server through socket '/tmp/mysql.sock'

How can I change this path and see whether the mysql.sock is created or not?


change the socket=/home/martin/socket to /tmp/mysql.sock


You should follow the guide http://www.bluecrownsoftware.com/article/271/Installing-MySQL-without-Root-Access-on-Linux.

Then start the command line with:

mysql --socket={yourpath}/yourname.sock

You should name your my.cnf file ~/.my.cnf for it to be picked up by mysqladmin. Also, you will need to add the following configuration to the ~/.my.cnf file:


If you define host and port, changing of the password should work in one line:

/home/martin/mysql/bin/mysqladmin -h -P 3666 -u root password 'mypass'

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.