Linux中Mysql root用戶看不到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',
  `Create_tablespace_priv` = 'Y'
  where user='root' and host='localhost
  9.更新一下:flush privileges;
  10.然后重新啟動下mysql,可以解決問題了

第一種不行 采用第二種:

刪除data中Mysql文件:

 

刪除 mysql之后執行: ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql

就應該好了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM