Use dockerfile/mysql mysqld_safe mysqld from pid file error

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 to monitor docker daemon pull progress
  • Docker in Docker: docker daemon doesn't start (Failed to connect to containerd)
  • trying to start an image in docker
  • How to create a shared volume between docker host and container in Mac
  • Docker Installation Error on Windows behind Firewall
  • Docker container start error
  • How can I solve it?

  • What is location of images pulled from Docker Hub via Docker for Mac
  • nginx php-fpm crashes (maybe docker)
  • Running Docker as a syslog-ng destination fails
  • mongo addShard “No common protocol found” errmsg 126
  • Possible to make incremental checkpoints CRIU
  • Docker dependency issue: Rake aborted! LoadError: cannot load such file — sqlite3/sqlite3_native
  • 2 Solutions collect form web for “Use dockerfile/mysql mysqld_safe mysqld from pid file error”

    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.

    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.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.