访问拒绝用户'用户'@'ip-address'

问题描述:

试图从远程服务器访问MYSQL。我有3分贝(db1,db2,db3)。访问拒绝用户'用户'@'ip-address'

db2 & db3是在同一台服务器,db1是在我的旧服务器。

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

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

这是什么解决方案?我尝试了一些特权分配,但不起作用。

+0

,你必须让你的新服务器的IP与该用户进行连接,DB1可以被配置为只允许“使用@本地” ... – Random

+0

添加mysql主机的通配符'%'条目 –

+0

它看起来像你把用户名不正确,再次检查 –

首先给出DB1权利,你的用户,你可以使用以下命令 -

grant select, insert, update, delete on db1.* to [email protected]'my_server_ip' identified by 'my_pass'; 

注意:您可以添加/删除权限按您的要求在这里my_server_ip从正在尝试连接数据库指。

第二件事,因为您试图远程连接db1,所以还要在连接字符串中包含host ip。

您必须启用“远程访问”。

要做到这一点,请按照下列步骤操作:

  1. 找到您的my.cnf文件并打开它:

vi /etc/my.cnf

  1. [mysqld]之后删除或注释skip-networking命令。

  2. 添加下面的命令:

  3. bind-address=YOUR-SERVER-IP

开始=>

此问题是由给特权用户@主机解决。

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

在DB1