注意事项:升级前需要做好数据库备份!!
升级步骤:
1:dpkg -i mysql-apt-config_0.8.9-1_all.deb (选择5.7版本)
2:apt-get update(如果报错,The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY DCF9F87B6DFBCBAE。则执行apt-key adv --recv-keys --keyserver keyserver.ubuntu.com DCF9F87B6DFBCBAE)
3:apt-get install mysql-client mysql-server
可能遇到的问题:mysql-sever fails depends mysql-communit-server is going to but not installed(出现这个错误尝试了很多都没成功)。此时可能需要卸载mysql后(该操作会导致数据库数据被清除,请谨慎操作),再进行上面的操作。
4:mysql升级完成后,需检查服务器的各服务是否正常(编译、重启是否ok)
mysql卸载:
1:apt list --installed | grep mysql
2:apt-get --purge mysql-client
3:apt-get --purge mysql-server
4:apt-get --purge remove mysql-common
安装后遇到的问题:
1:数据库一直不停的重启,查看 /var/log/mysql/error.log文件,发现报错----Fatal error: mysql.user table is damaged. Please run mysql_upgrade(导入了mysql5.5的数据库,因为mysql.user表结构不一致导致,则不要将5.5 的mysql.user表更新到5.7)。可以通过配置skip-grant-tables,启动mysql,然后导入一个5.7版本的mysql数据库进来进行覆盖修复。
2:数据表datate字段mysql5.7 Invalid default value for timestamp (查看全局的sql_model,发现NO_ZERO_IN_DATE,NO_ZERO_DATE还是存在的mysql> show global variables like '%sql_mode%';
)编辑my.cnf配置文件,添加如下设置
sql_mode='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
来源:CSDN
作者:eric_1234567
链接:https://blog.csdn.net/fabeulous/article/details/104756099