当我尝试通过本地计算机的远程MySQL服务器的外壳连接我可以成功连接:PHP连接到远程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);
我收到以下错误
警告:mysql_connect()函数:拒绝访问用户为myuser'@ 'localhost' 的 (使用密码:YES)
远程MySQL服务器的版本是52年5月1日,并在本地机器上的PHP版本5.3.10-1ubuntu3.4
我真的很感谢一些帮助!
编辑:
输出的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
2013-03-17
Vasilis
+1
你说它是一个远程服务器,但错误说本地主机。这是什么? –
2013-03-17 18:33:39
+0
这是我在本地机器上获得的错误,当我尝试连接到远程服务器时 –
2013-03-17 18:34:49
+0
myuser只允许从本地主机登录。您需要更改/添加允许主持人的用户。 –
2013-03-17 18:48:26