MySQL 学习笔记

了解备份方式

       热备份:读写不受影响(mysqldump-->innodb)

       温备份:仅可以执行读操作(mysqldump-->myisam)

       冷备份:离线备份,读写都不可用

       逻辑备份:将数据导出文本文件中(mysqldump)

       物理备份:将数据文件拷贝(xtrabackup、mysqlhotcopy)

       完整备份:备份所有数据

       增量备份:仅备份上次完整备份或增量备份以来变化的数据

       差异备份:仅备份上次完整备份以来变化的数据

 

 

环境准备:

建立目录用于存放二进制文件位置

  •  

mkdir /home/mybinlog

  •  
  •  

chown mysql:mysql /home/mybinlog

  •  

#编辑配置文件my.cnf

  •  

vim /etc/my.cnf

  •  
  •  

log-bin=/home/mybinlog/mysql-bin    ##二进制日志目录及文件名前缀

binlog_format=mixed         #二进制日志格式

log-error = /data/3309/mysql-err  #错误日志位置 

innodb_file_per_table = 1     #为每一个新数据表创建一个表空间文件

sync_binlog = 1          #写二进制日志的时候,同步到磁盘上面

innodb_file_per_table = 1      ##启用InnoDB表每表一文件,默认所有库使用一个表空间

show master status 时没有数据显示时在my.cnflog-bin=mysql-bin

cp /data/3309/my.cnf /opt/backup/   #备份配置文件

 

  •  

然后启动mysql

  •  

 

备份

创建用于存放备份的目录

  •  

Mkdir /home/mysqlbackup       \\用于存放备份文件

  •  
  •  

Mkdir /home/mysqlbackup/mylogbin\\用于存放备份的二进制日志           

  •  
  •  

mkdir /home/mysqlbackup/mylogstatus \\用于存放二进制日志起始位置

  •  
  •  

chown -R mysql:mysql  /home/mysqlbackup         

  •  

一、使用mysqldump实现完全热备+增量备份。

我们要使用mysqldump工具对innodb存储引擎的数据库做完全热备,并且滚动二进制日志,为了下次恢复或者增量方便,还要记录一下当前二进制日志文件位置。

 

第一步:全备

[root@localhost bin]# ./mysqldump -u root -p --master-data --all-databases --routines  --events >/home/mysqlbackup/mydb_all_`date +%F`.sql;

 

第二步:生成全备滚动日志记录二进制日志文件与起始位置

[root@localhost bin]# ./mysql -u root -p -e 'show master status' > /home/mysqlbackup/mylogstastus/`date +%F-%H`.txt;

 

第三步:查看全备滚动日志的起始位置

[root@localhost bin]# cat /home/mysqlbackup/mylogstastus/2018-04-17-09.txt

 

第四步:查看全备的终点位置

MariaDB [(none)]> show master status;(进入MySQL下面)

第五步:新增数据,然后再次show master status;

第六步:查看日志存放再哪个目录下

第七步:进行增备

[root@localhostbin]# ./mysqlbinlog--start-position=801154 --stop-position=849789 > /opt/lampp/var/mysql/mysql-bin.000003 >/home/mysqlbackup/incrmental-`date +%F-%H`.sql;

 

第八步:记录当前show master status 状态

[root@localhost bin]# ./mysql -u root -p -e 'show master status' > /home/mysqlbackup/mylogstastus/`date +%F-%H`.txt;

 

第九步:删除数据库(为备份做准备)

MariaDB [test]> drop database test;

 

第十步:先全备

[root@localhost bin]# ./mysql -u root -p < /home/mysqlbackup/mydb_all_2018-04-17-13.sql

 

其次再增备

[root@localhost bin]# ./mysql -uroot -p </home/mysqlbackup/incremental-2018-04-17-13.sql

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值