今天配置Linux下MySQL數(shù)據(jù)庫可以遠(yuǎn)程訪問的問題,百度這方面的資料有很多,但是方法都一樣,都試過了卻未能解決,記錄一下
第一步:在/etc/mysql/my.cnf下找到bind-address = 127.0.0.1
在這行前加個"#"進(jìn)行注釋,或者改為: bind-address = 0.0.0.0
允許任意IP訪問;或者指定自己需要遠(yuǎn)程訪問的IP地址。
然后重啟mysql:sudo /etc/init.d/mysql restart
第二步:授權(quán)用戶能進(jìn)行遠(yuǎn)程連接
grant all privileges on *.* to root@"%" identified by "password" with grant option;
flush privileges;
第一行命令解釋如下,*.*:第一個*代表數(shù)據(jù)庫名;第二個*代表表名。這里的意思是所有數(shù)據(jù)庫里的所有表都授權(quán)給用戶,如果只是授權(quán)某數(shù)據(jù)庫或數(shù)據(jù)庫下某張表,則把*替換成你所需的數(shù)據(jù)庫名和表明即可。root:授予root賬號。“%”:表示授權(quán)的用戶IP可以指定,這里代表任意的IP地址都能訪問MySQL數(shù)據(jù)庫?!皃assword”:分配賬號對應(yīng)的密碼,這里密碼自己替換成你的 root帳號密碼
第二行命令是刷新權(quán)限信息,讓我們設(shè)置的權(quán)限馬上生效。
但是最終還是不能訪問,此時考慮有可能是防火墻及mysql的3306端口問題.
通過命令netstar -a查詢所有端口沒看到3306,通過命令nerstat -an|grep 3306,什么都不顯示,可以確定是3306端口不存在。
登錄阿里云控制臺,在云服務(wù)安全組新增規(guī)則,克隆一個規(guī)則出來并把端口號修改成mysql的3306,再次遠(yuǎn)程連接還是失敗。
此時需控制臺重啟系統(tǒng)讓新增的規(guī)則生效,重啟后再次連接依然失敗,此時本地的navicat軟件連接返回的是拒絕訪問錯誤而不再是之前的無法連接錯誤。
此時再次執(zhí)行上方的第二步授權(quán)用戶命令,重啟apache mysql之后終于連接成功。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- Linux 安裝JDK Tomcat MySQL的教程(使用Mac遠(yuǎn)程訪問)
- Linux服務(wù)器中MySQL遠(yuǎn)程連接的開啟方法
- Linux下遠(yuǎn)程連接MySQL數(shù)據(jù)庫的方法
- Linux系統(tǒng)下實(shí)現(xiàn)遠(yuǎn)程連接MySQL數(shù)據(jù)庫的方法教程
- Linux平臺mysql開啟遠(yuǎn)程登錄
- linux下mysql開啟遠(yuǎn)程訪問權(quán)限 防火墻開放3306端口
- 虛擬機(jī)linux端mysql數(shù)據(jù)庫無法遠(yuǎn)程訪問的解決辦法
- Linux mysql命令安裝允許遠(yuǎn)程連接的安裝設(shè)置方法
- Linux下mysql 5.7 部署及遠(yuǎn)程訪問配置