B服务器连接A服务器的mysql没问题,C服务器连接A服务器的mysql就连不上。
测试出现了不同的问题:
1、mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication
Warning: mysql_connect() [function.mysql-connect]: Premature end of data (mysqlnd_wireprotocol.c:554) in path/to/the/file/where/connection/script/is/written/
Warning: mysql_connect() [function.mysql-connect]: OK packet 1 bytes shorter than expected in path/to/the/file/where/connection/script/is/written/
Warning: mysql_connect() [function.mysql-connect]: mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file in path/to/the/file/where/connection/script/is/written/
SET old_passwords = 0; UPDATE mysql.user SET Password = PASSWORD('testpass') WHERE User = 'testuser' limit 1; SELECT LENGTH(Password) FROM mysql.user WHERE User = 'testuser'; FLUSH PRIVILEGES;后来又出现如下错误;
2、Can't connect to MySQL server on 'ip' (13)
在C服务器,执行:
解决方法1、:setsebool -P httpd_can_network_connect_db=1
解决方法2、:修改/etc/selinux/config SELINUX=enforcing 为 SELINUX=disabled
尼玛终于成功了。