[英]Connect to Mysql database from remote
問題:我有安裝 Laravel 應用程序和數據庫的服務器。 但我想與另一台服務器共享同一個數據庫。 我想啟用遠程訪問。
我嘗試了什么:我更改了配置文件 /etc/mysql/mysql.conf 注釋掉了bind-address = 127.0.0.1
也更改為bind-address = 0.0.0.0
或bind-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.