Mysql 設置遠程連接
一、問題分析
有時候使用數據庫遠程連接工具連接MySQL的時候總是連接不上,確認過賬號密碼正確,端口telnet端口又是通的。
Navicat Premium報錯如下:
1130 - Host ‘192.168.0.69‘ is not allowed to connect to this MySQL server
看樣子是沒有權限。
查看MySQL->mysql->user->host字段,確實未允許我的IP地址登錄。
需要給MySQL遠程登錄設置權限
二、解決方法
1>登錄MySQL
2>
GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘192.168.0.%‘ IDENTIFIED BY ‘passwd‘ WITH GRANT OPTION;
#ALL表示擁有所有權限,也可以設置某些權限,多個權限之間用,號分割。
#*.*表示全局權限,也可以指定庫名稱,多個庫名稱之間用,號分割。
#‘root’@‘192.168.0.%‘表示登錄賬號和允許登錄IP,例如:
# ‘root‘@‘localhost‘表示允許root用戶本地登錄
# ‘root‘@‘%’表示允許root用戶使用任何地址登錄
# ‘root‘@‘192.168.0.%‘表示允許root用戶在192.168.0.0/24網段登錄
# ‘passwd’表示設置登錄密碼,同樣是root用戶本地登錄和遠程登錄設置不同的話,登錄密碼也不同。
!最後這條命令除了設置允許登錄範圍之外同樣也可以生成一個賬號以及該賬號的登錄以及使用權限。
3>
USE mysql;
DELETE FROM user WHERE user=‘‘; #刪除匿名用戶
FLUSH PRIVILEGES; #清空緩存
以上命令有一下作用:
1)之前使用過的匿名用戶與新建用戶同名,導致登錄失敗,刪除匿名用戶使之新用戶生效。
2)清空匿名用戶增加安全性。
3)清空緩存讀取新配置生效。
這時遠程登錄的用戶就可以使用了,如果還是不能登錄的話,可以檢查下MySQL->mysql->user->host是否正確,重新執行下步驟3>。
最後的最後如果上述有什麽不對的地方歡迎指正,相互學習,謝謝。
Mysql 設置遠程連接