Linux連接MySQL出現1045錯誤 解決方法

開始使用Linux連接MySQL數據庫的時候,出現了1045錯誤。當出現這個問題的時候,應該是用戶被數據庫拒絕訪問了,我們應該爲你的數據庫開闢權限。

1.登錄數據庫輸入linux指令

[plain] view plain copy
 在CODE上查看代碼片派生到我的代碼片
  1. mysql -uroot -padmin  

登錄你的數據庫輸入用戶名和密碼

2.使用數據庫,查詢權限

[plain] view plain copy
 在CODE上查看代碼片派生到我的代碼片
  1. mysql> use mysql;   
[plain] view plain copy
 在CODE上查看代碼片派生到我的代碼片
  1. mysql> select host,user from user;  

+--------+--------------+
| user   | host         |
+--------+--------------+
| myuser | %            |
| root   | %            |
| server | %            |
| root   | 127.0.0.1    |
| root   | 192.168.1.60 |
| ted    | 192.168.1.60 |
| xuys   | 192.168.1.60 |
| root   | ::1          |
|        | iz94w6ieqtwz |
| root   | iz94w6ieqtwz |
|        | localhost    |
| root   | localhost    |
+--------+--------------+

可以查詢用戶和權限

3.想要遠程mysql服務器,需要增加普通權限的用戶

[plain] view plain copy
 在CODE上查看代碼片派生到我的代碼片
  1. mysql> grant select,update,insert,delete on mas.* to root@localhost identified by "admin";  

這句命令的意思是:新建用戶root,並且只允許該用戶在本地(localhost)登錄,密碼是admin,並且賦予它對mas庫中所有表select,update,insert的權限。我們在這有一個mas庫,所以用mas.*代表mas庫下的所有表。 現在該root用戶,已經可以登錄mysql了,但是也還是隻能本地登錄。

若要想root用戶可以遠程登錄mysql,則還需要以下命令:

[plain] view plain copy
 在CODE上查看代碼片派生到我的代碼片
  1. mysql> update user set host = '%' where user = 'root';  

我們也可以直接給用戶權限

grant all on *.* to 用戶名@"%" identified by "密碼";

flush privileges;刷新權限

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章