mysql 忘记密码,重置密码,mysql.user表为空的解决办法:
用户表有用户,直接修改密码
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
修改mysql配置文件my.cnf:
vim /etc/my.cnf
在[mysqld]中添加
skip-grant-tables
重启mysql服务,用空密码直接登录,查询用户表,有结果则按如下步骤修改,结果为空直接最后的解决办法
mysql> select Host,User,authentication_string from mysql.user;
+-----------+---------------+-------------------------------------------+
| Host | User | authentication_string |
+-----------+---------------+-------------------------------------------+
| localhost | root | *6A7A490FB9DC8C33C2B025A91737077A7E9CC5E5 |
| localhost | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| localhost | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| % | root | *6A7A490FB9DC8C33C2B025A91737077A7E9CC5E5 |
+-----------+---------------+-------------------------------------------+
4 rows in set (0.00 sec)
修改对应用户的密码
mysql> select Host,User,authentication_string from mysql.user;
ERROR 1194 (HY000): Table 'user' is marked as crashed and should be repaired
需要修复mysql.user表
# 更新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
# 退出登陆
mysql> exit
Bye
退出mysql,将my.cnf配置文件的修改恢复
结束mysqld_safe 进程:pkill mysql
启动mysql服务: systemctl start mysql
问题解决!
关于“如何解决mysql中user表没有的问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助。
大型站长资讯类网站! https://www.nzzz.com.cn