在 CentOS 上恢復 MySQL 8 數據,你可以采用以下幾種方法:
使用 mysqldump
工具備份和恢復數據:
首先,使用 mysqldump
工具備份你的數據庫。假設你要備份名為 mydb
的數據庫,你可以運行以下命令:
mysqldump -u root -p mydb > mydb_backup.sql
輸入密碼后,mydb_backup.sql
文件將包含數據庫的結構和數據。
要恢復數據,請使用以下命令:
mysql -u root -p mydb < mydb_backup.sql
輸入密碼后,數據庫將恢復到備份時的狀態。
使用 mysqlpump
工具并行恢復數據:
如果你有多個 MySQL 實例,可以使用 mysqlpump
工具并行恢復數據。首先,確保已安裝 mysqlpump
:
sudo yum install mysqlpump
然后,使用以下命令并行恢復數據:
mysqlpump -u root -p --databases mydb1 mydb2 > mydb_backup.sql
輸入密碼后,mydb_backup.sql
文件將包含所有數據庫的結構和數據。接下來,使用 mysql
命令逐個恢復數據庫:
mysql -u root -p mydb1 < mydb_backup.sql
mysql -u root -p mydb2 < mydb_backup.sql
從二進制日志(Binary Log)恢復數據:
如果你需要恢復某個特定時間點之后的數據,可以使用二進制日志。首先,找到要恢復的時間點對應的二進制日志文件和位置:
sudo mysqlbinlog --start-datetime="YYYY-MM-DD HH:MM:SS" --stop-datetime="YYYY-MM-DD HH:MM:SS" /var/log/mysqld.log
這將顯示在指定時間范圍內的二進制日志條目。找到要恢復的 SQL 語句,并將其保存到一個文件中。然后,使用 mysql
命令執行這些 SQL 語句:
mysql -u root -p mydb < restored_binlog.sql
輸入密碼后,數據庫將恢復到指定的時間點狀態。
請注意,在執行任何恢復操作之前,建議先備份所有現有數據以防止意外丟失。