数据库备份的几种方式的详细步骤

*数据库备份的几种方式的详细步骤
如何冷备??
1.保证2台机器上软件版本一致,最好安装版本也一致
A:原机 B:恢复机
对于原机:
2.将mysql数据库关闭
service mysqld stop
3.scp 拷贝到要进行恢复的机器上
scp -r /usr/local/mysql/data/
root@172.16.11.33:/usr/local/mysql/data/数据库备份的几种方式的详细步骤
如何冷备??
1.保证2台机器上软件版本一致,最好安装版本也一致
A:原机 B:恢复机
对于原机:
2.将mysql数据库关闭
service mysqld stop
3.scp 拷贝到要进行恢复的机器上
scp -r /usr/local/mysql/data/
root@172.16.11.33:/usr/local/mysql/data/数据库备份的几种方式的详细步骤
如何冷备??
1.保证2台机器上软件版本一致,最好安装版本也一致
A:原机 B:恢复机
对于原机:
2.将mysql数据库关闭
service mysqld stop
3.scp 拷贝到要进行恢复的机器上
scp -r /usr/local/mysql/data/
root@172.16.11.33:/usr/local/mysql/data/
在这里插入图片描述4.可以正常启动mysql数据库

对于恢复机
5.将mysql数据库关闭
6.注意data目录的mysql权限在这里插入图片描述7.启动mysql数据库 备份完成

使用mysqldump进行逻辑备份
1.查看mysqldump的使用格式在这里插入图片描述2.在使用mysqldump之前需要在my.cnf配置文件里指定socket文件,否则会报错在这里插入图片描述3.可以使用mysqldump进行逻辑备份在这里插入图片描述4.查看生成的两个文件
(1)cat ceshi.sql //查看建表语句的文件在这里插入图片描述(2) cat ceshi.txt //查看表中数据的文件 用于导入数据
在这里插入图片描述5.当前完成了对ceshi库的ceshi表进行了备份

6.模拟恢复,将ceshi库的ceshi表删除(drop),然后恢复
在这里插入图片描述7.导入建表语句,也就是ceshi.sql在这里插入图片描述8.导入完之后,返回数据库查看,ceshi库中的ceshi表已经建好,但是表中没有数据在这里插入图片描述9.导入数据
导入数据有两种方式
mysqlimport -uroot -p123 ceshi /tmp/ceshi.txt(注意使用绝对路径) 或者
mysql> load data infile ‘/tmp/ceshi.txt’ into table ceshi;

(1)使用mysqlimport 同样的需要在my.cnf配置文件中进行配置在这里插入图片描述mysqlimport -uroot -p123 ceshi /tmp/ceshi.txt(注意使用绝对路径在这里插入图片描述进入ceshi表查看数据是否存在在这里插入图片描述(2)使用 load data导入数据在这里插入图片描述如何进行逻辑备份
举例:经典用法
mysqldump -uroot -p123 -l -F --single-transaction ceshi>ceshi.sql
-l:锁住myisam,不锁innodb
-F:刷新binlog,恢复的时候就可以直接使用新binlog开始恢复
–single-transaction:innodb不锁表和行

这个语句的含义是将ceshi库中的所有的建表语句,以及插入数据的语句等存放到ceshi.sql中

当恢复时,发现表结构恢复,表数据恢复

使用xtrabackup进行热备
1.首先上传xtraback软件包进行xtrabackup的安装在这里插入图片描述2.安装完成之后可以使用innobackupex 敲两下tab验证
3.安装好之后进行物理全备
(1)创建备份目录在这里插入图片描述(2)备份数据库(全备) 备份到刚创建的备份目录
[root@fuxi1 ~]# innobackupex --user=root --password=123 /backup/在这里插入图片描述当出现190619 00:09:12 completed OK!说明备份成功在这里插入图片描述(3)当你开始从九点备份,备份持续了一个小时,xtrabackup工具会记录了你这一段时间的redo日志,这也是xtrabackup备份不是备份到开始时刻,而是备份到结束时刻。应用redo日志,将这一个小时又发生改变的数据完成备份
(4)应用redo(自带回滚)
应用redo时有添加redo-only(只前滚不回滚)的选项和不添加redo-only的选项,两者的区别在于有一个优化的区别,但不影响数据的一致性
[root@fuxi1 ~]# innobackupex --apply-log /backup/2019-06-19_00-09-07/ 在这里插入图片描述完成后也会有时间戳等的提示在这里插入图片描述(5)关闭数据库
service mysqld stop

4.恢复演示
(1)为了保险起见,先对mysql配置文件进行下复制备份在这里插入图片描述(2)将数据目录(datadir)清空在这里插入图片描述(3)恢复数据库
[root@fuxi1 data]# innobackupex --copy-back /backup/2019-06-19_00-09-07/在这里插入图片描述在这里插入图片描述(4)修改数据目录的权限在这里插入图片描述(5)覆盖my.cnf配置文件 默认使用的my.cnf不用覆盖
(6)启动数据库
(7)查看端口有没有启动成功
(8)进入数据库查看数据是否恢复

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值