尝试从远程服务器访问MYSQL
。我有3分贝(db1,db2,db3
)。
db2
& db3
位于同一服务器中,db1
位于我的旧服务器中。
尝试使用db1
从新服务器连接mysql_connect('ip','user','pwd')
,但它会显示Access denied for user 'user'@'ip-address'
消息。
两个db1,db2
都以相同的方式连接。
这是什么解决方案?我试过了一些特权分配,但是没有用。
答案 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)
您必须启用"远程访问"。
为此,请按照以下步骤操作:
vi /etc/my.cnf
在[mysqld]之后删除或评论skip-networking
命令。
添加以下命令:
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