MySQL是當前最流行的數據庫之一,主要用于Web應用程序中存儲和管理數據。MySQL的靈活性和高性能為其贏得了廣泛的應用。然而,服務器不可避免地會遇到突發事故,如機器故障、網絡故障或操作失誤,這時數據備份就顯得非常重要。
以下是在Linux系統中使用物理備份恢復MySQL數據庫并搭建從庫的步驟:
1. 備份MySQL
$ mysqldump -uroot -p dbname >/path/to/backup.sql
其中,root
是MySQL管理員賬戶名,dbname
是要備份的數據庫名,/path/to/backup.sql
是備份文件的路徑。
2. 恢復MySQL
$ mysql -uroot -p dbname< /path/to/backup.sql
其中,root
是MySQL管理員賬戶名,dbname
是要恢復的數據庫名,/path/to/backup.sql
是備份文件的路徑。
3. 配置主庫的MySQL
在主庫的MySQL配置文件(/etc/mysql/mysql.conf.d/mysqld.cnf
)中設置:
[mysqld] log-bin=/var/log/mysql/mysql-bin.log server-id=1
log-bin
參數開啟MySQL二進制日志,以記錄所有更改,用于從庫的復制。而server-id
參數定義主庫的唯一標識。
4. 啟動MySQL主庫
啟動主庫MySQL服務:
$ systemctl start mysql
5. 配置從庫的MySQL
在從庫的MySQL配置文件(/etc/mysql/mysql.conf.d/mysqld.cnf
)中設置:
[mysqld] server-id=2 relay-log=/var/log/mysql/mysql-relay-bin.log
server-id
參數定義從庫的唯一標識,而relay-log
參數指定從庫保存主庫復制日志文件的位置。
6. 啟動MySQL從庫
啟動從庫MySQL服務:
$ systemctl start mysql
7. 連接從庫到主庫
在從庫MySQL客戶端中運行以下SQL語句來連接到主庫:
mysql>CHANGE MASTER TO MASTER_HOST='master_ip_address', MASTER_USER='repl_user', MASTER_PASSWORD='repl_password', MASTER_LOG_FILE='master_bin_log.000001', MASTER_LOG_POS=980; mysql>START SLAVE;
其中,master_ip_address
是主庫的IP地址,repl_user
和repl_password
是主庫的復制用戶和密碼。而master_bin_log.000001
和980
是主庫的日志文件名和位置,從庫將從這個位置開始復制。
到此,MySQL的物理備份恢復和主從庫的搭建已全部完成。