Ubuntu 16.04 LTS安装MySQL 5.6后无my.cnf配置文件的问题

近日在虚拟机上的Ubuntu 16.04 LTS里测试Smartfox,需要安装MySQL数据库,于是apt-get安装,装的时候也没仔细看log,一路默认后就可以用了,建库建表都没有问题,直到后来发现需要修改MySQL的大小写敏感设置(lower_case_table_names=1),才发现百度到的配置文件修改在/etc/mysql/里并不存在,找了半天只发现这里/etc/mysql/conf.d/mysql.cnf有个类似的配置,而且里面只有[mysql]没有[mysqld],于是尝试添加了配置参数,又尝试手动创建my.cnf,结果不是不生效就是MySQL不能正常启动。最后发现是MySQL安装时出的问题,命令行执行:

dpkg -l | grep mysql

如果看到大部分mysql的包是5.6,但也有像mysql-common等的是5.7版的,这样就会产生这个没有默认配置文件的问题。解决方法如下:

首先删除已安装的mysql包,清除已有配置文件:

apt purge mysql*
apt autoremove
apt autoclean
rm -rf /etc/mysql/

然后,去https://dev.mysql.com/downloads/mysql/5.6.html#downloads下载5.6对应版本的安装包,
然后执行:

apt install libaio1
tar -xvf downloadedMysqlPackage.tar
dpkg -i mysql-common-xxx.deb
dpkg-preconfigure mysql-community-server-xxx.deb
dpkg -i mysql-community-server-xxx.deb
dpkg -i mysql-community-client-xxx.deb
dpkg -i libmysqlclient18-xxx.deb

这步可能会有依赖顺序问题,按照提示需要哪个就装哪个就可以了,都安装好后,正确的默认配置文件就有了,修改大小写设置后重启mysql服务即可生效。

博主友情提示:

如您在评论中需要提及如QQ号、电子邮件地址或其他隐私敏感信息,欢迎使用>>博主专用加密工具v3<<处理后发布,原文只有博主可以看到。