症状
Mysql5.1卸载后重装5.7 服务无法启动。
查看/var/log/mysqld.log日志提示:
[ERROR] Fatal error: mysql.user table is damaged. Please run mysql_upgrade.
原因
重装5.7后没有运行 mysql_upgrade
解决方法
1.在/etc/my.cnf中[mysqld] 下面添加skip-grant-tables
[mysqld] # Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. # innodb_buffer_pool_size = 128M # Remove leading # to turn on a very important data integrity option: logging # changes to the binary log between backups. # log_bin # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock skip-grant-tables
2.启动mysql服务
# service mysqld start
3.运行更新命令
# mysql_upgrade
4.在/etc/my.cnf中删除skip-grant-tables
5.重启mysql服务
# service mysqld restart