问题现象:1、Mysql使用root用户登录后,不能查看完整数据库(只能看到information_schema和一个自己创建的库db_book)
2、无法创建数据库
解决方法:1、找到my.ini文件(C:\ProgramData\MySQL\MySQL Server 5.7),编辑该文件
在文件最后添加一行代码【skip-grant-tables】,保存文件并关闭
2、重启Mysql57服务
3、确认root用户的权限
管理员身份打开dos窗口,执行命令【mysql -u root -p】,不用密码直接回车登录
切换数据库【use mysql;】
查询所有的表【show tables;】
查看user表中root用户的localhost权限:【select * from user where user = 'root' and host = 'localhost';】
在显示的列表中,root用户的localhost的权限都是‘N’,表示root用户无特权
4、修改root用户的localhost权限
【update user set Host='%',select_priv='y',insert_priv='y',update_priv='y',Alter_priv='y',delete_priv='y',create_priv='y',drop_priv='y',reload_priv='y',shutdown_priv='y',Process_priv='y',file_priv='y',grant_priv='y',References_priv='y',index_priv='y',create_user_priv='y',show_db_priv='y',super_priv='y',create_tmp_table_priv='y',Lock_tables_priv='y',execute_priv='y',repl_slave_priv='y',repl_client_priv='y',create_view_priv='y',show_view_priv='y',create_routine_priv='y',alter_routine_priv='y',create_user_priv='y' where user='root';commit;】
更新一下:【flush privileges;】
5、还原my.ini文件(C:\ProgramData\MySQL\MySQL Server 5.7)
删除文件最后添加的代码【skip-grant-tables】,保存文件并关闭
6、重启Mysql57服务,使用root用户登录