2015-11-05 112 views
-1

試圖從遠程服務器訪問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

它看起來像你把用戶名不正確,再次檢查 –

回答

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。

0

您必須啓用「遠程訪問」。

要做到這一點,請按照下列步驟操作:

  1. 找到您的my.cnf文件並打開它:

vi /etc/my.cnf

  • [mysqld]之後刪除或註釋skip-networking命令。

  • 添加下面的命令:

  • bind-address=YOUR-SERVER-IP

    0

    此問題是由給特權用戶@主機解決。

    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