当我尝试连接外部MySQL服务器时遇到问题
这里出现错误信息:
用户拒绝访问:
"user"@"myip"
当我更改端口号时,我得到了不同的错误:
$connection =mysql_connect("192.96.206.145:8443","user","password")or die( mysql_error() );
if(!$connection)
{
echo 'It\'s impossible to connect with the server ! check you connection or try later ';
//exit;
}
else
{
if (!mysql_select_db($gamedatabase,$connection))
{
echo'we have problem in our server plz try again later ! ';
//exit;
}
else
{
$etat=true;
}
}
答案 0 :(得分:2)
您确定您的MySQL服务器在端口8443上运行吗?通常,这是3306。
您的MySQL服务器和用户是否已启用外部访问?我的意思是bind_address和MySQL用户表中的设置。 (是否有防火墙阻止访问?)
此外,您应该推荐使用MySQLi-extension,因为不推荐使用MySQL。
答案 1 :(得分:1)
此错误是数据库密码不正确的特征。如果它给您一个访问被拒绝错误,这意味着它可以找到数据库,它就无法使用提供的信息登录到它。
我也建议使用mysqli而不是mysql,因为改进版本更安全。
仔细检查您的密码。您可以通过任何其他方式访问数据库,例如phpmyadmin /数据库编辑器,如navicat?
答案 2 :(得分:1)
您有2个不同的服务器:
服务器A :Apache + PHP
服务器B :MySQL
转到服务器A
获取他的IP地址:您可以输入ipconfig
命令
(我认为IP地址 SO_IP )
转到服务器B
将MySql\bin
添加到您的PATH
环境变量中
执行以下命令:
mysql --user=root mysql
CREATE USER 'SO_USER'@'SO_IP' IDENTIFIED BY 'SO_PASS';
GRANT ALL PRIVILEGES ON *.* TO 'SO_USER'@'SO_IP' WITH GRANT OPTION;
返回服务器A 并更改 PHP 连接代码
$connection =mysql_connect("SERVER_B_IP_ADDRESS:3306","SO_USER","SO_PASS")or die( mysql_error() );