欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql8 user表不存在

老白1年前12瀏覽0評論

MySQL8是一款非常強大的關系型數據庫,然而在使用過程中,可能會遇到一些問題。其中之一就是無法找到user表。下面我們來詳細講解這個問題。

mysql>use mysql;
Database changed
mysql>select * from user;
ERROR 1146 (42S02): Table 'mysql.user' doesn't exist

以上代碼展示了一種常見的情況。當我們嘗試在mysql數據庫中查詢user表時,卻遇到了"Table 'mysql.user' doesn't exist"的錯誤提示。這時候我們需要確認一下mysql服務是否啟動,并且連接上mysql服務的用戶是否擁有足夠的權限。

如果mysql服務沒有啟動,我們需要使用以下命令啟動服務:

sudo systemctl start mysql.service

如果連接上mysql服務的用戶沒有足夠的權限,我們需要以root用戶身份進行操作。

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

以上代碼表示,我們把所有數據庫的所有權限都賦予了root用戶,并設置了密碼為"password"。

如果在以上操作后仍舊遇到"Table 'mysql.user' doesn't exist"的錯誤提示,我們需要檢查一下mysql版本。因為在MySQL 8.0.16版本之后,MySQL將系統表移動到了一個新的數據字典中,并將原有的表重命名為字典表。而user表就被改名為了"mysql.user$_history"。因此我們需要使用以下命令訪問user表:

select * from mysql.user$_history;

以上代碼展示了訪問重命名后的user表的方法。

總之,當MySQL8中出現"Table 'mysql.user' doesn't exist"的錯誤提示時,需要首先確認mysql服務是否已經啟動,連接上mysql服務的用戶是否擁有足夠的權限。如果以上兩點都沒有問題,還需要檢查一下mysql版本,確認是否將user表重命名為了mysql.user$_history。