1. 程式人生 > >mysql在Linux環境下開啟遠端訪問許可權和開放3306埠

mysql在Linux環境下開啟遠端訪問許可權和開放3306埠

一:開啟mysql遠端訪問許可權。  

     預設mysql的使用者是沒有遠端訪問的許可權的,那麼當程式跟資料庫不在同一臺伺服器上時,我們需要開啟mysql的遠端訪問許可權。一般有改表和授權兩種方法來實現。我習慣於改表這種方法(當然這種也是最簡單的),如果你說我就喜歡授權那種方法,比較有挑戰力,那你就勇敢的去探索吧。去吧,皮卡丘。

    1.登入mysql。( mysql -uroot -p   然後回車輸入密碼 )

    2.修改mysql庫的user表,將host項,從localhost改為%。%這裡表示的是允許任意host訪問,如果只允許某一個ip訪問,則可改為相應的ip,比如可以將localhost改為192.168.1.123,這表示只允許區域網的192.168.1.123這個ip遠端訪問mysql。

use mysql; 
    update user set host = '%' where user ='root';
    select host,user from user;
    flush privileges;

附:另外還有一種改表發,比這個實用。當你剛剛安裝完mysql。要改密碼並且要遠端登入許可權。使用這個下面的方法絕對是不二的選擇。 set global validate_password_policy=0;
set global validate_password_length=1;
set global validate_password_mixed_case_count=2;
alter user 'root'@'localhost' identified by '123456';
grant all privileges on *.* to 'root'@'%' identified by '123456';
flush privileges;

mysql設定密碼是有三種策略的,選相應的策略設定對應的難度。倒數第二句代表設定遠端訪問許可權並給定密碼。 二:防火牆開放3306埠。   1.開啟防火牆配置檔案。(注意:Linux預設的防火牆是firewalld,我用的是iptables.這兒只介紹我用的。不管你用的什麼防火牆,原理都是一樣的,開啟防火牆配置檔案,裡面有開放22埠的哪行程式碼,你複製一條,貼上在下方,改下埠就OK了,然後重啟防火牆,大功告成) 2.增加下面一行。(注意:增加3306埠的語句要放在 icmp-host-prohibited 之前) -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
附:我防火牆配置檔案是這樣子的:
3.重啟防火牆。(重啟是使剛剛改過的配置檔案生效) service iptables restart