无法连接到 MySQL 数据库可能的原因有:

1. PHP 无法连接 MySQL

可能是 PHP 配置不正确,没加上连接 MySQL 的功能。

2. MySQL 软件包升级,但没有升级数据库,或安装 MySQL 后没有正确初始化数据库

执行以下命令,对数据库进行升级和初始化:

mysql_upgrade -u root -ppassword

mysql_install_db

注意检查 root 用户是否设置好了密码。

3. 无法远程访问,用户没有授权远程访问

如果仅仅授权 root@localhost,那么远程访问则无法连接,这时需要授权:

mysql > GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;

mysql > FLUSH PRIVILEGES;

4. 无法远程访问,防火墙没有打开 3306 端口

如果 Linux 主机上安装的防火墙没有打开 3306 端口,那么通过远程访问 MySQL 时当然就无法连接上。要打开 3306 端口,请执行以下步骤:

编辑文件 /etc/sysconfig/iptables

vi /etc/sysconfig/iptables

加上这一行

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT

最后重启防火墙

/etc/rc.d/init.d/iptables restart