CentOS7安裝並配置Yearning並實現無公網IP遠程SQL審覈與數據查詢

在撰寫這篇文章時,請確保您已經瞭解以下前提條件:

1. 您的服務器必須運行CentOS 7或更高版本的操作系統。

2. 您需要有root權限來執行本文中的命令。

3. 如果您沒有公網IP地址,則需要在防火牆中打開必要的端口以允許遠程訪問。

4. Yearning是一個數據庫審計系統,用於監控和記錄對MySQL/MariaDB數據庫服務器的所有活動。

5. 爲了進行遠程訪問,您可能還需要設置VPN或其他隧道技術來繞過防火牆限制。

6. 在進行任何數據庫操作之前,請務必備份好您的數據庫和相關配置文件。

CentOS 7上安裝Yearning的步驟

第1步:準備環境

首先,更新您的系統包索引以確保最新版本的軟件可用:

sudo yum update -y

接下來,安裝需要的依賴項:

sudo yum install gcc make cmake libtool pcre-devel libaio-devel zlib-devel openssl-devel readline-devel tcl-devel git wget unzip autoconf automake libjpeg-turbo-devel freetype-devel harfbuzz-devel graphviz-devel -y

第2步:下載並編譯Percona Server

由於Yearning依賴於Percona Server for MySQL,我們需要先下載並編譯它:

wget https://www.percona.com/downloads/percona-server-5.7/percona-server-5.7.x86_64.rpm
sudo yum localinstall percona-server-5.7.x86_64.rpm -y

第3步:安裝Yearning

現在我們可以開始安裝Yearning了。首先,克隆它的Git存儲庫:

git clone --depth=1 https://github.com/youzan/Yearning.git
cd Yearning

然後,使用CMake構建項目:

cmake . && make

最後,安裝Yearning及其所有依賴項:

sudo make install

第4步:配置Yearning

安裝完成後,您將需要配置Yearning以滿足您的需求。編輯`etc/my.cnf`文件以指定Percona Server的連接參數。例如:

[mysqld]
basedir=/usr/local/mysql
datadir=/var/lib/mysql
port=3306
socket=/tmp/mysqld.sock
symbolic-links=0
skip-name-resolve
bind-address = 192.168.1.100 # 這裏替換爲您的實際服務器IP地址
character-set-client-handshake = FALSE
default-time-zone = '+8:00'
innodb_buffer_pool_size = 1G
innodb_log_file_size = 128M
max_connections = 200
wait_timeout = 600
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
log_bin
slow_query_log
long_query_time = 1
# 以下是Yearning特定的選項
enable_gtid
audit_log_format = JSON
audit_log_users = '*'
audit_log_exclude_accounts = ''

保存更改後,重啓Percona Server以應用新設置:

sudo systemctl restart mysqld

第5步:啓動Yearning並驗證狀態

現在您可以啓動Yearning服務:

sudo yearn start

檢查服務的日誌以確認一切正常:

tail -f /var/log/yearn/yearn.log

如果一切順利,您應該會看到類似這樣的輸出:

2023-02-02 14:36:21 +08 [INFO]: Starting yearn service with version "5.7" and user "root"
2023-02-02 14:36:21 +08 [INFO]: Successfully connected to database server at localhost:3306
2023-02-02 14:36:21 +08 [INFO]: Start the audit log collector thread successfully
2023-02-02 14:36:21 +08 [INFO]: The web interface is available on http://localhost:8081

您可以通過瀏覽到http://localhost:8081來查看Yearning的管理界面(假設您已經在本地)。

第6步:設置無公網IP遠程SQL審覈與數據查詢

要允許從外部網絡訪問Yearning服務,您需要通過防火牆開放所需的端口。例如,如果Yearning正在監聽8081端口,您可以使用iptables或firewalld來添加相應的規則。此外,請確保您的路由器也轉發到這些端口的流量。

如果要從另一個位置訪問Yearning,您可能需要設置VPN或其他隧道技術來安全地連接到您的服務器並進行管理。在進行此操作之前,請務必考慮數據安全和隱私保護的重要性。

小結

在本篇文章中,我們介紹瞭如何在CentOS 7上安裝和配置Yearning以及如何在沒有公網IP的情況下實現遠程SQL審覈與數據查詢的方法。請記住,在進行此類操作時要格外小心,因爲它們可能會帶來額外的風險。始終保持良好的網絡安全實踐和安全意識是非常重要的。

为您推荐