沒法遠程訪問Mysql的解決方案

如今在不少的互聯網公司對於mysql數據庫的使用已是不可阻擋的趨勢了,因此常常咱們在項目開始的時候就會作的事情就是找一臺Linux服務器,到上面去安裝個mysql,而後在開始咱們的數據表的導入工做,可是咱們不能一直佔據着服務器的遠程鏈接啊,因此常常咱們會採用遠程工具去進行數據庫的操做處理,可是咱們也會遇到以下情況:html

1
MYSQL CONNECT ERROR – 1130:Host ’202.43.**.**’ is not allowed to connect to this MySQL server」

出現上面拒絕鏈接的根本緣由是由於在建立mysql帳戶時限制鏈接帳戶遠程登陸的,也就是說:除了當前mysql所在的安裝服務器外,其餘的ip(主機)都是不容許訪問的,儘管你的用戶名和密碼是正確的;其實不是MySQL默認不支持遠程,是MySQL的默認用戶root默認不支持遠程,說白了,也就是權限問題,root用戶的Host默認就是127.0.0.1(localhost)最簡單的方法就是從新建了一個用戶,支持遠程訪問,而不用去修改root的權限,建議這樣作,可是若是真的是須要採用root遠程操做嘛也不是沒有辦法,下面提供兩種方案去解決:mysql

①在/etc/mysql/my.cnf中的 [mysqld] 段註釋掉bind-address = 127.0.0.1sql

②用mysql -uroot -p 登錄mysql,而後採用如下方法開啓遠程訪問權限;數據庫

1
2
3
4
5
#mysql -u root -p
#*******(密碼,默認的密碼是空)
mysql>use mysql;
mysql>update user  set  host =  '%'  where user =  'root' ;
mysql>flush privileges;

咱們執行代碼以後咱們能夠看到咱們的root用戶對應的host是%,表示容許全部ip鏈接,以下圖:bash

1.png

因爲在上面的講解過程當中我發現對於有些mysql的用戶來講對於mysql的默認密碼爲空這個不是很在乎,因此這裏對你們給個提醒就是剛剛安裝的mysql,在咱們安裝結束以後記得要清除空用戶並及時修改密碼,下面簡單記錄這兩個過程,簡單以下:服務器

來源:MySQL數據庫的發佈版本知識講解 http://www.gooln.com/video/2211.htmlide

1
2
3
4
5
mysql -u root -p
mysql> select  user,host,password from mysql.user;
mysql>drop user  '' @localhost;
mysql>update mysql.user  set  password = PASSWORD( '*********' ) where user= 'root' ;
mysql>flush privileges;

執行過程以下:工具

8.png

相關文章
相關標籤/搜索