Windows10 Mysql5.7 root用户无特权

问题现象: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用户登录

猜你喜欢

转载自www.cnblogs.com/NotEnoughTwo/p/12025338.html