我不知道为什么我的 MySQL 不读取 my.cnf 文件。我# skip-networking
在 my.cnf 上写了一行注释,重新启动了 mysqld,然后当 exec
#ps aux | grep mysql
返回:
root 7737 0.0 0.0 7184 812 pts/4 S+ 12:20 0:00 grep mysql
root 14180 0.0 0.1 10764 1280 ? S Feb04 0:00 /bin/sh /usr/bin/mysqld_safe --skip-grant-tables --skip-networking
mysql 14293 0.3 3.7 396884 39364 ? Sl Feb04 15:27 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --skip-grant-tables --skip-networking --log-error=/var/lib/mysql/####.err --pid-file=/var/lib/mysql/####.pid
我理解,如果在 my.cnf 上注释了参数 --skip-networking,则该参数无法传递给 MySQL。
任何帮助都将不胜感激。谢谢,抱歉我的英语不好。
阿尔瓦罗·卡内帕
答案1
有几个选项;也许该指令在文件中出现多次,而您只注释了一个实例。也许启动命令添加了该指令,也许它从多个配置文件中提取。
您能否通过更改另一个指令、重新启动并检查更改是否生效来验证启动脚本是否正在使用您想要的配置文件?(也许使用“显示全局变量”)。
然后检查启动脚本 (/etc/init.d/mysqld?),然后 grep 整个配置文件以查找指令“skip-networking”。不幸的是,mysql 不会告诉您运行时配置的特定部分来自哪里。但它默认按顺序查找 /etc/my.cnf、/my.cnf 和 ./my.cnf。