我正在尝试通过安装在本地windows计算机上的PHP连接到远程MySQL数据库。
MySQL版本: 5.1.43
远程数据库被设置为接受来自我的IP的连接,但我一直收到以下错误:
Warning: mysql_connect() [function.mysql-connect]: OK packet 6 bytes shorter than expected in "my file here"
Warning: mysql_connect() [function.mysql-connect]: mysqlnd cannot connect to MySQL 4.1+ usi
当我尝试使用它的远程ip地址连接到本地mysql数据库时,我得到了一个访问被拒绝的消息。当我尝试从外部机器连接到相同的数据库时,它工作正常,没有任何问题。当我使用localhost连接到本地数据库时,它也能很好地工作。例如,如果数据库服务器的ip是1.2.3.4,那么我会得到以下结果:
# From the db server
mysql -u username -h localhost -p #works perfectly
mysql -u username -h 127.0.0.1 -p #works perfectly
mysql -u username -h 1.2.3.4 -p #
我整个晚上都在尝试用PHP连接mysql。我知道用户名和密码是正确的,因为我已经尝试了3/4,并且我知道数据库中的权限设置是正确的。
如果我远程连接到这台机器上,并在命令行中输入完全相同的详细信息,那么我就可以毫无问题地连接到数据库。
问题似乎只出现在MYSQL和PHP上。
更多信息:
我正尝试在mysql数据库所在的同一服务器上运行PHP应用程序。用户在本地计算机上具有完全授予权限。我收到的错误是:
Fatal error: Attempt to connect to database kmc_cms on
服务器已设置,因此无法远程访问mysql。
我使用PHP5.6.40和MySQL 5.7,但是当我想连接远程数据库(MySQL 8)时,会出现问题。
警告: mysql_connect():服务器发送字符集(255),客户端不知道。
虽然我尝试了很多像这样的东西,但是没有什么改变。
我的连接代码
$connect = mysql_connect("XXX:25060","XXX","XXX") or die ();
mysql_select_db("defaultdb", $connect) or die ( mysql_error() );