在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文件删除。

不管怎样,算是找到了一种解决办法。人生本身就不完美,我们要学会接受缺陷。

当然,如果哪位大佬找到了一劳永逸的办法,小弟不胜感激。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐