访问拒绝用户'用户'@'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
都以相同的方式连接。
这是什么解决方案?我尝试了一些特权分配,但不起作用。
首先给出DB1权利,你的用户,你可以使用以下命令 -
grant select, insert, update, delete on db1.* to [email protected]'my_server_ip' identified by 'my_pass';
注意:您可以添加/删除权限按您的要求在这里my_server_ip从正在尝试连接数据库指。
第二件事,因为您试图远程连接db1,所以还要在连接字符串中包含host ip。
您必须启用“远程访问”。
要做到这一点,请按照下列步骤操作:
- 找到您的my.cnf文件并打开它:
vi /etc/my.cnf
[mysqld]之后删除或注释
skip-networking
命令。添加下面的命令:
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
,你必须让你的新服务器的IP与该用户进行连接,DB1可以被配置为只允许“使用@本地” ... – Random
添加mysql主机的通配符'%'条目 –
它看起来像你把用户名不正确,再次检查 –