溫馨提示×

Debian MariaDB如何實現讀寫分離

小樊
49
2025-07-16 07:44:10
欄目: 云計算

在Debian系統上實現MariaDB的讀寫分離,通常需要以下幾個步驟:

  1. 安裝MariaDB: 確保你已經在你的Debian系統上安裝了MariaDB。如果沒有,可以使用以下命令進行安裝:

    sudo apt update
    sudo apt install mariadb-server mariadb-client
    
  2. 配置主從復制: 讀寫分離的基礎是主從復制。你需要配置一個主服務器和一個或多個從服務器。

    • 配置主服務器: 編輯主服務器的/etc/mysql/mariadb.conf.d/50-server.cnf文件,添加或修改以下內容:

      [mysqld]
      server-id = 1
      log_bin = /var/log/mysql/mysql-bin.log
      binlog_do_db = your_database_name  # 替換為你要復制的數據庫名稱
      

      重啟MariaDB服務:

      sudo systemctl restart mariadb
      

      登錄到MariaDB并創建一個用于復制的用戶:

      CREATE USER 'replicator'@'%' IDENTIFIED BY 'your_password';  # 替換為你的密碼
      GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';
      FLUSH PRIVILEGES;
      

      查看主服務器的二進制日志位置:

      SHOW MASTER STATUS;
      

      記錄下FilePosition的值。

    • 配置從服務器: 編輯從服務器的/etc/mysql/mariadb.conf.d/50-server.cnf文件,添加或修改以下內容:

      [mysqld]
      server-id = 2
      relay_log = /var/log/mysql/mysql-relay-bin.log
      log_bin = /var/log/mysql/mysql-bin.log
      binlog_do_db = your_database_name  # 替換為你要復制的數據庫名稱
      read_only = 1
      

      重啟MariaDB服務:

      sudo systemctl restart mariadb
      

      登錄到MariaDB并配置復制:

      CHANGE MASTER TO
      MASTER_HOST='master_ip',  # 替換為主服務器的IP地址
      MASTER_USER='replicator',
      MASTER_PASSWORD='your_password',
      MASTER_LOG_FILE='mysql-bin.000001',  # 替換為你記錄的File值
      MASTER_LOG_POS=123;  # 替換為你記錄的Position值
      START SLAVE;
      
  3. 配置讀寫分離: 你可以使用各種工具來實現讀寫分離,例如ProxySQL、MaxScale等。這里以ProxySQL為例:

    • 安裝ProxySQL

      sudo apt install proxysql
      
    • 配置ProxySQL: 編輯ProxySQL的配置文件/etc/proxysql.cnf,添加主服務器和從服務器的配置:

      [mysql_servers]
      server=master_ip,hostname=master_ip,port=3306,weight=10  # 替換為主服務器的IP地址
      server=slave_ip,hostname=slave_ip,port=3306,weight=10  # 替換為從服務器的IP地址
      
      [mysql_query_rules]
      rule=1,tag='read',active=1
      rule=2,tag='write',active=1
      
    • 啟動ProxySQL

      sudo systemctl start proxysql
      sudo systemctl enable proxysql
      
    • 配置應用程序連接ProxySQL: 修改你的應用程序配置,使其連接到ProxySQL而不是直接連接到MariaDB服務器。

通過以上步驟,你就可以在Debian系統上實現MariaDB的讀寫分離。主服務器負責寫操作,從服務器負責讀操作,從而提高數據庫的性能和可用性。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女