Linux 服務器連接遠程數據庫(Mysql、Pgsql)


由於自己需要國外服務器和國內服務器數據同步,

所以從國外服務器連接過國內服務器的數據庫。

下文中,國內服務器稱作一號機,國外服務器為二號機。前提是兩台服務器都安裝配置了數據庫。

 

Mysql

1、兩台服務器安全組設定

一號機入站規則,開放 3306 端口,來源設置為二號機 IP。

二號機出站規則,開發 3306 端口,目的地設置為一號機 IP。

 

2、mysql 配置文件修改(my.cnf)

登錄一號機去除配置文件中的允許訪問限制。注釋掉下面一行,或者在后面追加二號機 IP

# 設置時補全二號機 IP
bind-address = 127.0.0.1 172......14

至此,重啟 Mysql,兩台服務器可以通過 3306 端口順利通信。

登錄二號機執行命令確認是否正常通信。

# 確認時補全一號機 IP 
telnet 182......21 3306 

 

3、設置遠程連接的賬號及權限

登錄一號機,連到本地數據庫,在系統的 mysql 數據庫的 user 表中存放了所有 mysql 的用戶信息。

mysql> select Host, User from user;
+------------------------------------------------+------------------+
| Host                                           | User             |
+------------------------------------------------+------------------+
| %                                              | root             |
| ip-10-x-xx-xx5.ap-xxxxxxxx                     | root             |
| localhost                                      | mysql.infoschema |
| localhost                                      | mysql.session    |
| localhost                                      | mysql.sys        |
| localhost                                      | root             |
+------------------------------------------------+------------------+
6 rows in set (0.00 sec)

上圖中 root 用戶的 host 是 %,可以用於所有 IP 登錄一號機的數據庫。

用命令創建新用戶,用於遠程登錄,

# 允許 172.......14 IP 用 newuser 用戶 pwd 密碼登錄到一號機的所有數據庫
# 第一個 *,指定允許連接的數據庫
# 第二個 *,指定允許連接的數據表
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'172.......14' IDENTIFIED BY 'pwd' WITH GRANT OPTION;

 

4、登錄二號機連接測試

mysql -h 182........214 -u newuser -p pwd

  

 

Pgsql

1、兩台服務器的安全組設定

一號機入站規則開放 5432 端口,來源設置為二號機 IP。

二號機出站規則開發 5432 端口,目的地設置為一號機 IP。

 

2、pgsql 配置文件修改(登錄一號機)

① 在 postgresql.conf 文件中,修改 psql 服務端監聽地址

# 監聽地址默認為 localhost,修改為 *
listen_addresses = '*'

② 在 pg_hba.conf 文件中,修改訪問策略

# TYPE  DATABASE        USER            ADDRESS                 METHOD
  host  all             newuser         172.....14/20            trust

上面的設置表示 172.....14 IP 可以用 newuser 用戶無需密碼驗證登錄一號機的所有數據庫

3、重啟一號機 Pgsql 服務。

 

4、登錄二號機連接測試。

# 連接 182........214 服務器的 db 數據庫
psql -h 182........214 -u newuser -d db

 

以上,全部內容結束。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM