如今在不少的互聯網公司對於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
因爲在上面的講解過程當中我發現對於有些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;
|
執行過程以下:工具