PHP 连接到远程 MySQL 服务器

标签 php mysql pdo

当我尝试通过本地机器的 shell 连接到远程 MySQL 服务器时,我可以成功连接:

> mysql -h remotehost -u myuser -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.

但是当我尝试使用

通过 PHP 脚本进行连接时
$serverName = "remotehost"; // here I put the actual IP address
$userName = "myuser";
$passCode = "actualpassword";
mysql_connect($serverName,$userName,$passCode);

出现以下错误

Warning: mysql_connect(): Access denied for user 'myuser'@'localhost' (using password: YES)

远程MySQL服务器版本为5.1.52, native PHP版本为5.3.10-1ubuntu3.4

我发现了一个类似的问题,但答案并没有解决我的问题: problem connecting to remote mysql database using php

非常感谢您的帮助!

编辑:

php -i | 的输出grep“mysql”

/etc/php5/cli/conf.d/mysql.ini,

/etc/php5/cli/conf.d/mysqli.ini,

/etc/php5/cli/conf.d/pdo_mysql.ini

mysql

MYSQL_SOCKET => /var/run/mysqld/mysqld.sock

MYSQL_INCLUDE => -I/usr/include/mysql

MYSQL_LIBS => -L/usr/lib/i386-linux-gnu -lmysqlclient_r

mysql.allow_local_infile => On => On

mysql.allow_persistent => On => On

mysql.connect_timeout => 60 => 60

mysql.default_host => no value => no value

mysql.default_password => no value => no value

mysql.default_port => no value => no value

mysql.default_socket => /var/run/mysqld/mysqld.sock => /var/run/mysqld/mysqld.sock

mysql.default_user => no value => no value

mysql.max_links => Unlimited => Unlimited

mysql.max_persistent => Unlimited => Unlimited

mysql.trace_mode => Off => Off

mysqli

MYSQLI_SOCKET => /var/run/mysqld/mysqld.sock

mysqli.allow_local_infile => On => On

mysqli.allow_persistent => On => On

mysqli.default_host => no value => no value

mysqli.default_port => 3306 => 3306

mysqli.default_pw => no value => no value

mysqli.default_socket => /var/run/mysqld/mysqld.sock => /var/run/mysqld/mysqld.sock

mysqli.default_user => no value => no value

mysqli.max_links => Unlimited => Unlimited

mysqli.max_persistent => Unlimited => Unlimited

mysqli.reconnect => Off => Off

PDO drivers => mysql

pdo_mysql

pdo_mysql.default_socket => /var/run/mysqld/mysqld.sock => /var/run/mysqld/mysqld.sock

最佳答案

在继续之前,确认 $serverName 变量确实是一个远程地址,主机名或 IP 地址。然后……

关于PHP 连接到远程 MySQL 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15464529/

相关文章:

php - 将多行字符串的 PHP 正则表达式的意图转换为 Python/PERL

php - 有什么理由不在 PHP 中使用字符串插值吗?

php - "double underscore"和 "underscore x"有什么区别?

php - 使用 PHP 为 couchDB 创建 View

mysql - 不在也不喜欢

php - 多次使用绑定(bind)参数

php - 在函数内调用 PDO

php - 为什么我的查询从未正确编辑 MySQL 表的成员?

php - CakePHP 可以从模型的 _schema 属性生成我的数据库表吗?

php - PDO异常是: "No Database Connection"