【发布时间】:2020-03-29 11:08:07
【问题描述】:
我正在尝试从我的 Web 服务器连接到远程 Mysql 服务器。我按照以下步骤操作:
在远程服务器上:
1. “CREATE USER ’newremoteuser’@‘web-server_ip' IDENTIFIED BY 'remote_user_password’;”
2. “GRANT ALL PRIVILEGES ON *.* TO 'newremoteuser'@'web_server_ip’;”
3. “FLUSH PRIVILEGES;”
在web服务器上尝试使用Mysql CLI访问时,连接成功。
"mysql -u newremoteuser -h remote_server_ip -p"
但是,当我尝试在 PHP 中使用 PDO 或 Mysqli 连接到远程服务器时,出现错误
“FastCGI 在 stderr 中发送:”PHP 消息:PHP 致命错误:未捕获的异常 'PDOException' 带有消息 'SQLSTATE[28000] [1045] 用户 'newremoteuser'@'my-domain-name.com' 的访问被拒绝(使用密码:YES)'
以下是 PDO 代码
$REMOTEPDO = new PDO("mysql:host=$remote_server_ip;port=3306;dbname=$remote_db", $newremoteuser, $remote_user_password);
$REMOTEPDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
我认为它拒绝访问'newremoteuser'@'my-domain-name.com',因为我添加的远程用户是'newremoteuser'@'web-server_ip'。但是,我找不到解决方案。谁能指出我正确的方向?
注意:“my-domain-name.com”是托管在“web_server_ip”服务器上的网站名称。
远程服务器是 Ubuntu 18,Web 服务器是 Ubuntu 14。
【问题讨论】:
-
添加'newremoteuser'@'my-domain-name.com'到mysql?
-
我试过这样做,但它似乎没有工作。 "字符串 'newremoteuser'@'my-domain-name.com' IDENTIFIED BY' 对于用户名来说太长(不应超过 32)"
-
您似乎在使用非标准的
“ ”和’您是否在文字处理器中编码?