一、背景
使用docker在Linux上部署mysql8.0,通过在启动脚本中增加
-v /usr/mysql/conf/my.cnf:/etc/mysql/conf.d/my.cnf
来映射物理机中的my.cnf到docker容器中,重启后发现my.cnf中配置未生效,并报错:
mysql: [Warning] World-writable config file '/etc/mysql/conf.d/my.cnf' is ignored.
二、原因
物理机中创建的my.cnf,我手动执行chmod 777 my.cnf 将文件赋了权限,而
MySQL 引擎非常注重安全性和数据完整性。如果配置文件具有全局可写权限,任何用户都可以修改该文件,包括恶意用户。这可能导致潜在的安全风险和数据损坏。为了提高安全性,当 MySQL 检测到挂载的配置文件具有全局可写权限时,它会发出警告并忽略该文件。
三、解决
给my.cnf正常的权限即可,例如重新创建一个my.cnf