MySQL主備數據庫配置
MySQL主備數據庫配置是一種常見的高可用數據庫架構,實現了數據的備份、冗余、以及自動清洗數據問題。
以下是MySQL主備數據庫配置的步驟:
1. 確定主備關系:在主機器和備機器之間建立連接關系。 a. 在主機上配置一個唯一的server-id。 b. 在備機上配置一個唯一的server-id,并設置read_only。 c. 將主機的binary log文件和index文件復制到備機的指定目錄下。 2. 啟動MySQL主從復制:在主機上記錄二進制日志(binlog),在備機上讀取二進制日志并應用。 a. 在主機MySQL的配置文件中添加以下內容: [mysqld] log-bin=mysql-bin b. 使用mysql命令行連接主機,在主機MySQL中配置備機的IP地址和用戶名。 mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'slave_ip' IDENTIFIED BY 'password'; c. 在備機MySQL的配置文件中添加以下內容: [mysqld] server-id=2 read_only=1 d. 使用mysql命令行連接備機,在備機MySQL配置主機的IP地址和用戶名。 mysql>CHANGE MASTER TO ->MASTER_HOST='master_ip', ->MASTER_USER='repl', ->MASTER_PASSWORD='password', ->MASTER_LOG_FILE='mysql-bin.000001', ->MASTER_LOG_POS=981; 3. 啟動主從復制: a. 在主機上執行命令:mysql>FLUSH TABLES WITH READ LOCK; b. 備機上執行命令:mysql>START SLAVE; c. 在主機上執行命令:mysql>SHOW MASTER STATUS; d. 在備機上執行命令:mysql>SHOW SLAVE STATUS; 若顯示的Slave_IO_Running和Slave_SQL_Running均為YES,則說明主備數據庫配置成功。 4. 故障轉移: a. 如果在主機上發生故障,需要將備機切換至主機身份。 b. 在備機上執行命令:STOP SLAVE; c. 在備機上執行命令:RESET MASTER; d. 在備機上執行命令:CHANGE MASTER TO MASTER_HOST='new_master_ip', MASTER_USER='repl', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.XXXXXX', MASTER_LOG_POS=XXX; e. 在備機上執行命令:START SLAVE;