騰訊雲ubuntu上mysql遠程連接失敗的解決方法
一直以來都是在雲服務器本地上使用mysql,最近突然想遠程連接,結果突然發現,遠程連接好坑啊,竟然連不上(騰訊真的不是爲了逼迫用戶使用它提供的數據庫服務麼?QAQ)
在此分享我與騰訊抗爭成功的經驗
如何成功遠程連接?
1、檢查你的騰訊安全組(很重要,如果在這裏沒有放開端口,其他的什麼方法都會失去效果)
一定要確保你在安全組設置中的入站規則中,開放3306端口,如我圖中所示
關於騰訊雲服務器安全組是什麼百度一下你就知道
2、在Ubuntu中使用ufw allow 3306
命令開啓端口的允許訪問
3、接下來是比較坑的部分了,mysql本身是root用戶是不讓遠程連接用的,你可以自己按照如下方法,新建一個用戶
此步驟是必須要操作的,mysql本身的用戶只能在本機上連接數據庫,外網連接的話,需要先添加遠程用戶並授權。
在mysql命令行模式下,或者phpmyadmin中執行sql語句添加遠程連接用戶
> grant all on *.* to username@'%' identified by '123456';
> flush privileges;
其中username是你新的用戶的名稱,123456是密碼,‘%’代表了任何遠程主機都可以連接
flush privileges
使生效
4、最坑的部分,mysql它默認監聽地址是127.0.0.1,代表該mysql只允許所在服務器本機連接,外網是無法連接的,要將監聽地址改爲0.0.0.0,這樣代表所有IP地址都可以連接
要對mysql的配置文件進行修改
/etc/mysql/mysql.conf.d/mysqld.cnf我的系統中,配置文件是這個(Ubuntu16)
修改bind-address=127.0.0.1 修改成 bind-address=0.0.0.0
最後重啓mysql
service mysql restart