0
votes

The following docker run command results in an unexpected error.

docker run --name mysql -d -v /data/mysql:/var/lib/mysql dockerfile/mysql

Error: 150311 07:36:04 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql 150311 07:36:04 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

How can I solve it?

2
Does it work if you don't specify the -v argument?Adrian Mouat
it work very good if don't specify the -v argumentfeifeiiiiiiiiiii

2 Answers

0
votes

If it is not for the production environment and is for local testing only then the simplest way to make it run is

sudo chmod -R 777 /data/mysql

This command is basically giving read and write permissions to all users for mysql folder.

Please let us know if this worked for you.

0
votes

The permissions are wrong on the /data/mysql folder, so the mysql user in the container is unable to write to the directory. To fix this, you can either find the uid of the mysql user in the container and give it permissions to access the directory, or use a data container.

To find the uid, run:

docker run dockerfile/mysql id -u mysql

Then you can do something like sudo chown ID /data/mysql (where id is the UID) to give access to the mysql user.

To set up a data container see the official docs.