阿里雲MySQL遠端連線失敗
阿新 • • 發佈:2019-02-20
在阿里雲伺服器上自己裝了一個MySQL,但是剛剛開始並不能正常連線,其實無非就兩種情況
a.伺服器埠攔截
b.MySQL服務拒絕了請求
解決辦法:
針對伺服器,將埠開放連結,針對MySQL,取消MySQL的連線限制即可
1.MySQL取消限制
進入mysql,以root使用者執行以下語句,表示MySQL允許在任何IP連線當前例項
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密碼' WITH GRANT OPTION;
2.檢視MySQL的服務:ps -ef | grep mysql
root@iZm5e296kyz53dvpd98xj7Z:/home# ps -ef | grep mysql mysql 20250 1 0 12:03 ? 00:00:02 /usr/sbin/mysqld
可以看到是通過/usr/sbin/mysqld啟動的MySQL,查詢相應的配置檔案,在/etc/mysql目錄下查詢mysqld.cnf,這裡mysqld.cnf在/etc/mysql/mysql.conf.d/目錄下(如果是通過service mysql.server start啟動方式),編輯,將bind-address = 127.0.0.1註釋掉即可,表示任何一個IP都可以連線MySQL服務。
[mysqld] # # * Basic Settings # user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp lc-messages-dir = /usr/share/mysql skip-external-locking # # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. # bind-address = 127.0.0.1 #將該行註釋 # # * Fine Tuning # key_buffer_size = 16M max_allowed_packet = 16M thread_stack = 192K thread_cache_size = 8 # This replaces the startup script and checks MyISAM tables if needed # the first time they are touched myisam-recover-options = BACKUP #max_connections = 100 #table_cache = 64 ...
註釋掉之後,重啟MySQL生效。
3.取消伺服器攔截
通過阿里雲控制檯(可以直接通過Aliyun的App直接操作,這裡就不演示APP操作流程了),在安全組規則中新新增一個規則即可。
第一步,進入伺服器控制檯,更多->網路和安全組->安全組配置
第二步,進入安全組頁面,點選配置規則。
第三步,選擇入方向的規則,建立一條3306埠的規則,授權物件是0.0.0.0/0,表示所有網段
OK,完成,這樣就可以從本機直接連線阿里雲上的MySQL拉。