• linux的mysql权限错误导致看不到mysql数据库


       1.首先停止mysql服务:service mysqld stop
    2.加参数启动mysql:/usr/bin/mysqld_safe --skip-grant-tables & 
    然后就可以无任何限制的访问mysql了
    3.root用户登陆系统:mysql -u root -p mysql
    4.切换数据库:use mysql
    5.显示所有的表:show tables;
    这里就可以访问表了
    6.查看user表中root用户的localhost权限:select * from user where user='root' and host='localhost'
    7.在显示的列表中显示:root用户的localhost的权限都是'N',表示root用户本地登陆不具有权限
    8.修改root用户的localhost权限:
      update user set  
      `Select_priv` = 'Y',
      `Insert_priv` = 'Y',
      `Update_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',
      `Alter_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',
      `Event_priv` = 'Y',
      `Trigger_priv` = 'Y'
      where user='root' and host='localhost'        //这里需注意是否有这个条件的用户
      9.更新一下:flush privileges;
      10.然后重新启动下mysql,可以解决问题了

  • 相关阅读:
    Learn Prolog Now 翻译
    Learn Prolog Now 翻译
    Learn Prolog Now 翻译
    Learn Prolog Now 翻译
    Learn Prolog Now 翻译
    Learn Prolog Now 翻译
    Learn Prolog Now 翻译
    Learn Prolog Now 翻译
    Learn Prolog Now 翻译
    Learn Prolog Now 翻译
  • 原文地址:https://www.cnblogs.com/qingtian224/p/9004291.html
Copyright © 2020-2023  润新知