debian mysql5.5升级到5.7注意事项

[亡魂溺海] 提交于 2020-03-11 04:12:30

注意事项:升级前需要做好数据库备份!!
升级步骤:
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'

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!