天天看點

bind mysql遠端通路_Mysql遠端連接配接通路的問題處理

今天在更新阿裡雲伺服器MySQL從 5.5到5.7版本時,更新成功後,不能遠端通路了,隻能在伺服器終端通路,折騰了一下午,原來是MySQL配置my.cnf 裡邊的[mysqld] bind-address=127.0.0.1限制的問題,注釋掉就可以了

一、事故現場

使用PHP

// 1.連接配接資料庫

$db_host ="121.29.19.5:3306";

$db_user = "root";

$db_pass = "ali_123456";

$conn = mysql_connect($db_host, $db_user, $db_pass);

if (!$conn)

{

die("Could not connect:" . mysql_error());

}else

{

dump("連接配接成功!");

}

錯誤抛出:

Could not connect:Lost connection to MySQL server at 'reading initial communication packet', system error: 111

什麼原因呢?後來在網上找了一圈,原來是MySQL配置bind-address限制的問題。

MySQL配置修改

先找到 my.conf 配置檔案

find / -name my.conf

cat my.cnf

!includedir /etc/mysql/conf.d/

!includedir /etc/mysql/mysql.conf.d/

最終找到[mysqld]在mysql.conf.d檔案夾中:

注釋掉即可:bind-address=127.0.0.1

[mysqld]

pid-file = /var/run/mysqld/mysqld.pid

socket = /var/run/mysqld/mysqld.sock

datadir = /var/lib/mysql

log-error = /var/log/mysql/error.log

# By default we only accept connections from localhost

#bind-address = 127.0.0.1

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0