本人在第一次安装完mysql后修改了root的密码导致了权限丢失,上网查询了多种解决办法,互相整合才解决了我遇到的问题。解决方法如下:
首先,关闭mysql服务,在mysql安装目录下找到my.ini文件,有可能你会遇到下图的情况:
只需将my-huge.ini文件复制一份重命名为my.ini即可;
打开文件,在[mysqld]项下添加skip-grant-tables语句
然后保存文件,启动mysql服务。
接下来在cmd窗口登陆数据库,此时因为上一步skip-grant-tables语句的添加使用mysql -uroot -p登陆将会跳过权限检查,所以此时再输入语句show databases;就能看到所有的数据库了。
此时我们再输入如下语句:
use mysql;
update user set Update_priv=‘Y’ where user=‘root’;
update user set Grant_priv =’Y’ where user = ‘root’;//修改root权限
flush privileges;
grant all privileges on . to [email protected]‘localhost’ identified by “1234” with grant option;//1234为登陆密码
flush privileges;//刷新权限
语句运行成功后退出mysql并关闭mysql服务,再打开一开始的my.ini文件,将添加的语句删除,保存。
此时再次打开mysql服务登陆mysql时就能看到所有数据库了。