CentOS系統可以通過MySQL8實現異地備份,以下是具體步驟:
1. 安裝MySQL8 sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm sudo yum install mysql-community-server 2. 配置MySQL8 sudo mysql_secure_installation #按照提示設置數據庫密碼等信息 sudo systemctl start mysqld #啟動MySQL服務 sudo systemctl enable mysqld #設置MySQL服務開機自啟動 3. 啟用二進制日志 編輯MySQL配置文件/etc/my.cnf,在[mysqld]段增加以下內容: log-bin=mysql-bin binlog-format=row server_id=1 然后重新啟動MySQL服務sudo systemctl restart mysqld 4. 配置備份用戶和目錄 登錄MySQL后臺,創建備份用戶: CREATE USER backup IDENTIFIED BY 'password'; GRANT RELOAD, PROCESS, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'backup'; FLUSH PRIVILEGES; 然后創建備份目錄: sudo mkdir /var/mysql_backup sudo chown mysql:mysql /var/mysql_backup 5. 配置主從復制 主服務器執行以下命令: SHOW MASTER STATUS; 得到輸出,如: +------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+------------------+-------------------+ | mysql-bin.000002 | 1208 | | | | +------------------+----------+--------------+------------------+-------------------+ 將得到的信息保存下來。 從服務器執行以下命令: CHANGE MASTER TO MASTER_HOST='10.0.0.1', MASTER_PORT=3306, MASTER_USER='backup', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=1208; START SLAVE; 在從服務器上執行SHOW SLAVE STATUS;,如果看到Slave_IO_Running和Slave_SQL_Running的值都為Yes,則主從復制已經成功。 6. 配置定時備份 使用crontab,將以下命令加入到備份用戶的計劃任務中: mysqldump -ubackup -ppassword --all-databases | gzip >/var/mysql_backup/backup_$(date '+%Y-%m-%d_%H-%M-%S').sql.gz 然后在crontab中設置備份頻率即可。