在CentOS系统上进行MySQL数据库恢复,通常有以下几种方法:
使用Percona XtraBackup进行恢复
-
安装Percona XtraBackup:
wget https://www.percona.com/downloads/XtraBackup/XtraBackup-2.2.8/binary/redhat/7/x86_64/percona-xtrabackup-2.2.8-5059.el7.x86_64.rpmyum localinstall percona-xtrabackup-2.2.8-5059.el7.x86_64.rpm -
创建备份:
innobackupex --defaults-file="/etc/my.cnf" --user="root" --password="password" --socket="/var/lib/mysql/mysql.sock" /data/mysql/backup/ -
模拟数据丢失:
rm -rf /var/lib/mysql/* -
恢复数据:
innobackupex --defaults-file="/etc/my.cnf" --user="root" --password="password" --socket="/var/lib/mysql/mysql.sock" --prepare --target-dir=/data/mysql/backup/ innobackupex --defaults-file="/etc/my.cnf" --user="root" --password="password" --socket="/var/lib/mysql/mysql.sock" --copy-back --target-dir=/data/mysql/backup/ -
重启数据库服务:
systemctl restart mysqld -
验证数据恢复:
连接数据库并检查数据是否恢复成功。
使用mysqldump进行恢复
-
安装MySQL:
sudo yum install mysql-server -
备份数据库:
mysqldump -u root -p database_name > backup.sql -
恢复数据库:
mysql -u root -p database_name < backup.sql
使用二进制日志(binlog)进行恢复
-
查看二进制日志:
mysqlbinlog mysql-bin.000003 -
恢复数据:
mysql -u root -p --start-datetime="2024-01-01 00:00:00" --stop-datetime="2024-01-02 00:00:00" mysql
使用InnoDB_force_recovery进行恢复
当MySQL因非正常关闭而损坏时,可以通过设置innodb_force_recovery参数在my.cnf中进行恢复。参数值从1到6,数值越大,恢复过程越强烈。
请注意,在进行任何恢复操作之前,请确保备份当前数据库,以防进一步的数据丢失。如果数据被删除或覆盖,恢复可能不完全成功。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1377949.html