• ADADADADAD

    MySQL备份与还原[ mysql数据库 ]

    mysql数据库 时间:2024-12-25 09:58:12

    作者:文/会员上传

    简介:

    MySQL备份与还原一、数据备份1.备份方式1)全量备份:对数据库完整的备份2)增量备份:从最后一次备份后改变的文件3)差异备份:在最后一次完整后被修改的文件建议:全量+增量=1月全量

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    MySQL备份与还原一、数据备份1.备份方式

    1)全量备份:对数据库完整的备份

    2)增量备份:从最后一次备份后改变的文件

    3)差异备份:在最后一次完整后被修改的文件

    建议:全量+增量=1月全量,1周增量

    2.备份分类

    1)物理备份

    冷备份:关闭数据后

    热备份:数据运行状态时

    2)逻辑备份

    对逻辑对象(表、库)备份

    二、完整备份1.特性

    1)数据完整

    2)数据较庞大

    3)时间长,重复性数据

    打包、cp、mysqldump

    案例:

    1.准备数据

    //新建hehe数据库 mysql> create database hehe;

    //向hehe数据库添加a表和格式 mysql>create table hehe.a(user char(4),password char(8),primary key(user));

    //插入表内数据 mysql> insert into hehe.a values('Zhangs','123');

    //插入表内数据 mysql> insert into hehe.a values('Lisi','123');

    2.备份方式一:(冷备份)

    //关闭数据库/etc/init.d/mysqld stop

    //备份数据库 tar -zcvf /root/mysql.bak /usr/local/mysql/data/

    方式二:(热备份)

    mysqldump -u root -p --all-database >/root/mysql.sql//热备份,数据库不需停止,备份所有数据库

    方式三:(压缩锁表热备份)

    //使用压缩方式来做数据库热备份
    mysqldump -h localhost -uroot -p --opt --single-transaction 库名 | gzip > 库名.sql.gz

    //导入数据库
    gzip -dc 库名.sql.gz |mysql -uroot -p 数据库密码

    注:以上热备份方式三最为安全!

    3.模拟故障

    //误删除hehe数据库 mysql> drop database hehe;

    4.恢复方式一:(冷恢复)

    //关闭数据库/etc/init.d/mysqld stop

    //tar -zxvf /root/mysql.bak -C /

    方式二:(热恢复)

    //进入数据执行命令mysql> source /root/mysql.sql

    方式三:(热恢复)

    //恢复数据mysql -u root -p < /root/mysql.sql

    三、增量备份

    1.Mysql不自带增量备份方式,需通过Binary logs(记录所有更改操作)实现增量

    案例:

    1)准备数据(同上准备数据)

    2)开启二进制日志

    //编辑MySQL数据库配置文件vim /etc/my.cnf

    //重启MySQL服务 /etc/init.d/mysqld restart

    3.完整备份方式一:(冷备份)

    /etc/init.d/mysqld stop

    //备份数据库tar -zcvf /root/mysql.bak /usr/local/mysql/data/

    方式二:(热备份)

    mysqldump -u root -p --all-database >/root/mysql.sql//热备份,数据库不需停止,备份所有数据库

    4.数据增加

    //查看二进制文件 ls /usr/local/mysql/data/

    //截取二进制文件准备增加数据mysqladmin -u root -p flush-logs

    //查看二进制文件ls /usr/local/mysql/data/

    //登录数据库添加数据 mysql> insert into hehe.a values('wang','123');

    //生成一个新的二进制文件 mysql> flush log;

    //退出数据库查看ls /usr/local/mysql/data/

    5.增量备份(需要还原的数据都在mysql-bin.000032这里)

    //拷贝增加的数据cp /usr/local/mysql/data/mysql-bin.000032 /root/

    //查看/root/目录 (如以下情况已经成功备份新增加数据)

    6.数据删除

    //登陆数据库误删除 mysql> delete hehe.a from haha.a where user='lisi';

    7.增量还原

    //还原删除的新增数据mysqlbinlog mysql-bin.000018 | mysql -uroot -p

    //查看数据库select * from hehe.a;

    注:增量还原成功

    8.验证

    //登录数据库查看数据是否还原mysql> select * from hehe.a;

    注:如果做增量数据备份一定在增量前截取二进制数据,在备份完成时应再次截取二进制数据,切记一旦数据丢失所需要还原的增量数据为增量前截取的二进制数据

    MySQL备份与还原.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: mysql备份还原