簡體   English   中英

從遠程連接到 Mysql 數據庫

[英]Connect to Mysql database from remote

問題:我有安裝 Laravel 應用程序和數據庫的服務器。 但我想與另一台服務器共享同一個數據庫。 我想啟用遠程訪問。

我嘗試了什么:我更改了配置文件 /etc/mysql/mysql.conf 注釋掉了bind-address = 127.0.0.1

也更改為bind-address = 0.0.0.0bind-address = * ,沒有幫助(這是我發現的任何地方)

ufw 被禁用

netstat -ltn返回

Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN     

127.0.0.1:3306 不是應該是 0.0.0.1:3306 嗎?

我嘗試從另一台服務器連接

mysql -h xxx.xxx.xxx.xxx -u pf_remote -p

我有錯誤

Can't connect to MySQL server on 'xxx.xxx.xxx.xxx' (111)

我認為那個端口沒有打開,但我還能在哪里打開。 我想念什么嗎?

找到mysql.conf並設置

bind-address=0.0.0.0

然后登錄到 MySQL 並運行以下 2 個命令

GRANT ALL PRIVILEGES ON *.* TO 'pf_remote'@'%' IDENTIFIED BY 'your_password' with grant option;
flush privileges;

然后

sudo service mysql restart

然后還要確保您沒有任何防火牆阻止連接,請檢查

sudo ufw status

如果啟用,則允許遠程連接到 MySQL 端口

sudo ufw allow 3306 && sudo ufw reload

如果您使用的是 Amazon Web Services 服務器,則允許來自 shell 的連接將不起作用,您必須允許來自AWS Dashboard 的連接

嘗試授予用戶遠程訪問權限:

 mysql> GRANT ALL ON yourDatabase.* TO user@'1.2.3.4' IDENTIFIED BY 'yourPassword';

另外請記住在配置更改后重新啟動您的 mysql 服務:

sudo /etc/init.d/mysql restart

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM