用户' @' ip-address'

时间:2015-11-05 09:05:48

标签: php mysql

尝试从远程服务器访问MYSQL。我有3分贝(db1,db2,db3)。

db2& db3位于同一服务器中,db1位于我的旧服务器中。

尝试使用db1从新服务器连接mysql_connect('ip','user','pwd'),但它会显示Access denied for user 'user'@'ip-address'消息。

两个db1,db2都以相同的方式连接。

这是什么解决方案?我试过了一些特权分配,但是没有用。

3 个答案:

答案 0 :(得分:0)

首先将db1的权限授予您的用户,您可以使用以下命令 -

grant select, insert, update, delete on db1.* to myuser@'my_server_ip' identified by 'my_pass';

注意:您可以根据您的要求添加/删除权限my_server_ip表示您尝试连接数据库的位置。

其次,当您尝试远程连接db1时,还要在连接字符串中包含主机IP。

答案 1 :(得分:0)

您必须启用"远程访问"。

为此,请按照以下步骤操作:

  1. 找到您的my.cnf文件并将其打开:
  2. vi /etc/my.cnf

    1. 在[mysqld]之后删除或评论skip-networking命令。

    2. 添加以下命令:

    3. bind-address=YOUR-SERVER-IP

答案 2 :(得分:0)

通过为user @ host提供权限来解决此问题。

GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'IP-ADDRESS' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;

NOTE:Do not avoid "PASSWORD", if your user has set password