使用 dockerfile/mysql mysqld_safe mysqld from pid file 错误

Posted

技术标签:

【中文标题】使用 dockerfile/mysql mysqld_safe mysqld from pid file 错误【英文标题】:Use dockerfile/mysql mysqld_safe mysqld from pid file error 【发布时间】:2015-05-14 01:33:58 【问题描述】:

以下docker run 命令导致意外错误。

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

错误:150311 07:36:04 mysqld_safe 启动 mysqld 守护进程 数据库来自 /var/lib/mysql 150311 07:36:04 mysqld_safe mysqld 来自 pid 文件 /var/run/mysqld/mysqld.pid 结束

我该如何解决?

【问题讨论】:

不指定-v参数是否有效? 不指定-v参数效果很好 【参考方案1】:

如果它不是用于生产环境并且仅用于本地测试,那么让它运行的最简单方法是

sudo chmod -R 777 /data/mysql

这个命令基本上是给所有用户对mysql文件夹的读写权限。

如果这对您有用,请告诉我们。

【讨论】:

请去看看/data/mysql里面有没有文件。 如果不存在则表示挂载不正确。一个好的方法是使用官方mysql存储库registry.hub.docker.com/_/mysql。我一直在使用这个官方存储库,它在挂载点上运行良好(即 -v 选项)【参考方案2】:

/data/mysql文件夹权限错误,导致容器内mysql用户无法写入该目录。要解决此问题,您可以在容器中找到 mysql 用户的 uid 并授予其访问目录的权限,或者使用数据容器。

要查找 uid,请运行:

docker run dockerfile/mysql id -u mysql

然后您可以执行sudo chown ID /data/mysql(其中 id 是 UID)之类的操作来授予 mysql 用户访问权限。

要设置数据容器,请参阅the official docs.

【讨论】:

我尝试使用第一种方式,失败了

以上是关于使用 dockerfile/mysql mysqld_safe mysqld from pid file 错误的主要内容,如果未能解决你的问题,请参考以下文章

docker安装zabbix-proxy

mysql使用教程?

使用 mysql-proxy 监听 mysql 查询

mac上怎么安装mysql后怎么使用

MySQL基础使用

MySQL的使用