MySQL是一個(gè)常用的開(kāi)源關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),我們?cè)谑褂脮r(shí)可能會(huì)遇到一些問(wèn)題,比如在換了網(wǎng)絡(luò)環(huán)境之后,就無(wú)法鏈接上MySQL了。
造成這種情況出現(xiàn)的原因主要是因?yàn)镸ySQL的默認(rèn)綁定地址是localhost,如果我們連接的是本機(jī)上的MySQL,這種情況沒(méi)有什么問(wèn)題。但是,如果MySQL運(yùn)行在另外一臺(tái)機(jī)器上,我們需要在連接MySQL時(shí)指定服務(wù)器的IP地址,而因?yàn)樵趽Q了網(wǎng)絡(luò)環(huán)境之后,服務(wù)器的IP地址也有可能發(fā)生變化,導(dǎo)致我們無(wú)法連接上MySQL。
要解決這個(gè)問(wèn)題,我們需要做兩件事情:
1. 修改MySQL的配置文件
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到bind-address = 127.0.0.1一行,將127.0.0.1改為0.0.0.0,保存并退出。
sudo service mysql restart
重新啟動(dòng)MySQL服務(wù)。
2. 允許服務(wù)器接受所有IP地址的連接
我們需要在MySQL中允許所有IP地址的連接,這樣才能保證我們可以在任意網(wǎng)絡(luò)環(huán)境中訪問(wèn)MySQL。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
將其中的password改為你的MySQL密碼,然后重新加載權(quán)限。
FLUSH PRIVILEGES;
完成以上兩步操作后,我們就可以通過(guò)任意網(wǎng)絡(luò)環(huán)境連接上MySQL了。