MySql权限丢失问题解决
参考文章
今天用root账户登录到mysql后, show databases 命令返回的只有两个表, 然后使用 use database 命令提示我没有权限;
问题如图(我用的是root账户登录的):

网上找几个解决权限丢失问题的博客来解决问题
步骤如下:
- 
关闭mysql服务, systemctl stop mysqld
- 
修改mysql配置文件my.cnf(可以通过 mysql --help|grep 'my.cnf'命令查看** my.cnf** 的路径)在最后一行加入如下代码:skip-grant-tables
- 
保存,启动mysql( systemctl start mysqld)
- 
登录mysql -> mysql -u root -p
 提示输入密码什么都不要输入直接回车, 这样就跳过权限检查直接登录mysql了;
- 
use mysql
 (这时候我们需要给root以更新的权限)
- 
update user set Update_priv=‘Y’ where user=‘root';
 (然后是设置权限的权限)
- 
update user set Grant_priv =’Y’ where user = ‘root';# 给它最高权限
 flush privileges;# 刷新权限
- 
grant all privileges on *.* to root@'localhost' identified by "123" with grant option;# 123是密码
- 
flush privileges;# 刷新权限
- 
恢复mysql配置文件, 删除 skip-grant-tables
- 
再次登录, 再次执行 flush privileges;, 完成;
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号