在 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
输入密码后,数据库将恢复到指定的时间点状态。
请注意,在执行任何恢复操作之前,建议先备份所有现有数据以防止意外丢失。