我对my.cnf所做的更改似乎对mysql环境没有任何影响.这里是发生了什么的总结......
我在Ubuntu 16.04上安装了mysql 5.7但后来意识到由于不兼容问题我需要降级到mysql 5.6.
我apt清除了相关的应用程序,然后删除了/ etc/mysql和/ var/lib/mysql中的所有剩余目录
然后我安装了mysql-5.6(服务器和客户端)和相关的软件包.
我能够从运行mysql 5.6的服务器从转储加载一个数据库但是当我尝试从同一服务器的第二个转储加载第二个数据库时,我收到此错误:
ERROR 2006 (HY000) at line 1721: MySQL server has gone away
Run Code Online (Sandbox Code Playgroud)
当我用Google搜索时,我看到结果说要通过my.cnf文件设置各种选项.
当我跑...
updatedb && locate my.cnf
Run Code Online (Sandbox Code Playgroud)
...我只看到四个结果,这些结果都链接回同一个文件:/etc/mysql/my.cnf.fallback.例如/etc/mysql/my.cnf.fallback == /etc/mysql/my.cnf
根主目录或用户的主目录中没有.my.cnf文件.我把一个拼写错误输入my.cnf文件并重新加载mysql只是为了查看预期的错误并知道文件正在加载.然后我删除了错误的代码并添加了以下内容:
[mysqld]
max_allowed_packet=1073741824
Run Code Online (Sandbox Code Playgroud)
然后我通过各种方式运行重新加载mysql:
service mysql restart
Run Code Online (Sandbox Code Playgroud)
要么
service mysql stop
service mysql start
Run Code Online (Sandbox Code Playgroud)
要么
/etc/init.d/mysql stop
/etc/init.d/mysql start
Run Code Online (Sandbox Code Playgroud)
然后我继续得到这个默认值,表明它没有从my.cnf设置:
mysql> SHOW VARIABLES LIKE 'max_allowed_packet';
+--------------------+---------+
| Variable_name | Value |
+--------------------+---------+
| max_allowed_packet | 4194304 |
+--------------------+---------+
Run Code Online (Sandbox Code Playgroud)
如果我这样做:
mysql> SET GLOBAL max_allowed_packet=1073741824;
Run Code Online (Sandbox Code Playgroud)
并注销并返回到mysql客户端,我看到了正确的值:
mysql> SHOW VARIABLES LIKE 'max_allowed_packet'; …Run Code Online (Sandbox Code Playgroud)