Ubuntu中Docker安装MySQL遇到烦人的chown mysql.sock
·
在ubuntu24.04中,使用docker安装mysql:9.4,映射配置、数据和日志到宿主机上,命令如下:
docker run -d --name mysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=Your_Passw0rd \
-v ~/Data/Docker/Containers/mysql/log:/var/log/mysql \
-v ~/Data/Docker/Containers/mysql/data:/var/lib/mysql \
-v ~/Data/Docker/Containers/mysql/conf:/etc/mysql/conf.d \
mysql:9.4
第一次启动成功,而后发现再也无法启动,出现日志:
chown: changing ownership of '/var/lib/mysql/mysql.sock': Operation not permitted
几天来尝试各种办法,如启动命令中添加--privileged=true、降级mysql版本等等,仍旧无法解决,直到看到github上的帖子https://github.com/docker/for-mac/issues/7107,才找到了灵感
Resolved the issue by deleting the mysql.sock from the persisted db directory and symlinked it to /var/lib/mysqld/mysql.sock
于是,我尝试删除本地mysql.sock,然后成功启动了。

该方法并不完美,因为mysql每次启动都会生成。所以,每次启动mysql前都要确保该文件已经删除。若真觉得麻烦,可以找deepseek写一个脚本,在系统启动的时候将mysql.sock文件删除。
不管怎样,算是找到了一种解决办法。人生本身就不完美,我们要学会接受缺陷。
当然,如果哪位大佬找到了一劳永逸的办法,小弟不胜感激。
更多推荐


所有评论(0)