无法连接到 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