mysql全备与增量备份

mysql数据库安装及使用

 

数据备份练习:

show databases

1备份数据库服务器上的所有库。 备份文件名mysqlall.sql 备份文件保存到/bak文件里  

[root@mysql ~]# mysqldump -uroot -p123456 --all-databases > /bak/mysqlall.sql

2备份数据库服务器上的ipdb webdb 两个数据库,备份文件名twodb.sql 备份文件保存到/mysqldir文件里  

[root@mysql ~]# mysqldump -uroot -p123456 -B ipdb webdb > /bak/twodb.sql

3备份数据库服务器上的studb库里的passwd表,备份文件名passwd.sql 备份文件保存到/bak文件里  

[root@mysql ~]# mysqldump -uroot -p123456 studb passwd > /bak/passwd.sql

4、删除webdb库和ipdb库,使用备份文件恢复删除的数据。 

mysql> drop database webdb;  

[root@mysql ~]# mysql -uroot -p123456 webdb < /bak/twodb.sql

5、每天2330studb库做全备,使用系统日期做文件名。 

 [root@mysql ~]# crontab -e    

30 23 * * * mysqldump -uroot -p123456 --all-databases > /bak/all-$(date +\%Y\%m\%d).sql

 

binlog增量备份

开启当前数据库服务的binlog日志功能:以自己的名字命名binlog文件,binlog文件存放到 /binlogbak 目录里

[root@mysql mysql]# vim /etc/my.cnf

  1 [mysqld]

  2 slow-query-log

  3 log-bin=/binlogbak/sw

[root@mysql ~]# service mysql restart

[root@mysql ~]# mkdir /binlogbak

[root@mysql ~]# setfacl -m u:mysql:rwx /binlogbak/

2、在studb库里创建test1表并向表内插入3条记录,并用单独的binlog文件保存studb库的初始数据

mysql> create table test1(id int);

mysql> insert into test1 values(3);

mysql> flush logs;

3、在ipdb库里创建test2表并向表内插入3条记录,并用单独的binlog文件保存ipdb库的初始数据

mysql> create table test2(id int);

mysql> insert into test2 values(2);

mysql> flush logs;

4、删除test1test2表里的所有记录后,分别再插入3条新的记录,然后再删除test1test2表里的所有记录

5、用binlog日志恢复2个表的初始数据和后插入的3条记录

[root@mysql ~]# mysqlbinlog sw.000001 |mysql -uroot -p123456

[root@mysql ~]# mysqlbinlog --start-position=1929 --stop-position=2032 /binlogbak/sw.000003 |mysql -uroot -p123456

 

 

 


你可能感兴趣的:(mysql,备份)