1. 程式人生 > 其它 >Linux 伺服器連線遠端資料庫(Mysql、Pgsql)

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

以上,全部內容結束。