症状
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