修改MySQL配置文件后必须重启服务或重新加载才能生效;需确认正确配置文件路径,将参数置于对应段落(如[mysqld]),可通过mysql --help | grep "Default options"查看实际加载路径,生效后用SHOW VARIABLES验证。
修改 MySQL 配置文件后,必须重启 MySQL 服务或重新加载配置才能生效,直接改完保存不会自动应用。
MySQL 启动时会按顺序读取多个配置文件,常见路径有:
不确定用的是哪个?运行命令查看 MySQL 实际加载的配置:
mysql --help | grep "Default options"
输出中带 my.cnf 的路径就是它真正读取的文件(注意:可能有多个,优先级从上到下)。
配置项必须放在正确的段落(section)里,否则无效。常用段落包括:
max_connections、character-set-server)default-character-set)例如设置默认字符集,要写在 [mysqld] 下:
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
写错段落或拼写错误(比如 charater-set-server)会导致配置被忽略,且通
常不报错。
方式一:重启 MySQL 服务(推荐,确保完全生效)
sudo systemctl restart mysqld 或 sudo systemctl restart mysql
sudo service mysqld restart
brew services restart mysql
net stop MySQL && net start MySQL
方式二:动态修改部分参数(无需重启,但有限制)
Dynamic 的变量,例如 SET GLOBAL max_connections = 200;
SHOW VARIABLES LIKE 'max_connections'; + 查文档确认属性登录 MySQL 后执行:
SHOW VARIABLES LIKE 'character_set_server';
SHOW VARIABLES LIKE 'max_connections';
对比输出值是否与配置文件中设置的一致。也可用 SELECT @@global.max_connections; 直接查全局值。
如果没变,先检查配置文件路径是否正确、段落是否写对、有无语法错误(如漏写 =、多加空格),再确认是否已重启服务。