最近在使用Linux的MySQL時,遇到了一個很尷尬的問題,就是無法從外網訪問我的MySQL。不知道是我配置有問題還是服務器的限制,總之訪問不了了。
經過一番研究和查找,我發現這個問題的原因是MySQL默認只允許本地訪問,而不允許外部訪問。如果我們想要從外部訪問MySQL,就需要更改一些配置文件。
// 進入到mysql的配置文件夾 cd /etc/mysql/mysql.conf.d // 打開my.cnf文件 sudo vim my.cnf
然后在打開的文件中,找到這一行:
bind-address = 127.0.0.1
這個配置就是限制MySQL只允許本地訪問的那個配置,我們需要將它注釋掉。修改后的結果如下:
#bind-address = 127.0.0.1
修改保存之后,我們還需要給MySQL重新加載配置文件。使用下面的命令:
sudo service mysql restart
現在我們就可以嘗試從外部訪問MySQL了。但是需要注意,我們還需要在MySQL的用戶管理中,添加一個允許外部訪問的用戶。
在MySQL中,可以使用下面的命令添加一個新用戶:
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
其中,username是你想要添加的用戶名,password是該用戶的密碼。%表示該用戶可以從任何IP地址訪問MySQL。
最后,我們還需要賦予這個用戶對MySQL的操作權限。比如,如果我們想要讓這個用戶可以對MySQL中的test數據庫進行讀寫操作,可以使用下面的命令:
GRANT ALL PRIVILEGES ON test.* TO 'username'@'%';
這里的test.*表示我們賦予這個用戶對test數據庫下所有表的操作權限。
綜上,我們可以通過修改MySQL的配置文件和添加一個允許外部訪問的用戶,來解決MySQL無法從外網訪問的問題。
上一篇k8s部署mysql服務
下一篇k8s運行mysql服務