在mysql.cnf中修改secure_file_priv全局变量后登录MySQL提示‘unknown variable’错误的问题求助
问题分析与解决办法
你遇到的登录错误核心原因是把secure_file_priv配置放错了段——这个变量是MySQL服务器(mysqld)的全局系统变量,不属于客户端工具(mysql)的配置项,所以你把它放在[mysql]段下时,会被客户端识别为未知变量,直接触发报错。
正确的修正步骤:
重新打开配置文件,将配置移到
[mysqld]段下:sudo vim /etc/mysql/conf.d/mysql.cnf找到之前写在
[mysql]下的secure_file_priv = /mysql-files/,把它剪切到[mysqld]段内(如果配置文件里没有[mysqld]段,就手动添加这个段再写入配置)。确认目标目录权限(你之前的权限设置是正确的,可再次校验):
sudo chown -R mysql:mysql /mysql-files/ sudo chmod 750 /mysql-files/重启MySQL服务使配置生效:
sudo systemctl restart mysql登录MySQL验证修改结果:
SELECT @@GLOBAL.secure_file_priv;此时查询结果应该返回你设置的
/mysql-files/路径。
额外说明:
[mysql]段是给MySQL客户端工具(比如你用的mysql命令行)配置参数的,比如默认连接字符集、客户端超时时间等;[mysqld]段才是MySQL服务器进程的配置区域,所有服务器级别的全局变量都需要放在这个段下才能被正确识别。
内容的提问来源于stack exchange,提问作者Payel Senapati
相关产品推荐
相关产品推荐

