数据备份练习: show databases; 1备份数据库服务器上的所有库。 备份文件名mysqlall.sql 备份文件保存到/bak文件里 [iyunv@mysql ~]# mysqldump -uroot -p123456 --all-databases > /bak/mysqlall.sql 2备份数据库服务器上的ipdb 、webdb 两个数据库,备份文件名twodb.sql 备份文件保存到/mysqldir文件里 [iyunv@mysql ~]# mysqldump -uroot -p123456 -B ipdb webdb > /bak/twodb.sql 3备份数据库服务器上的studb库里的passwd表,备份文件名passwd.sql 备份文件保存到/bak文件里 [iyunv@mysql ~]# mysqldump -uroot -p123456 studb passwd > /bak/passwd.sql 4、删除webdb库和ipdb库,使用备份文件恢复删除的数据。 mysql> drop database webdb; [iyunv@mysql ~]# mysql -uroot -p123456 webdb < /bak/twodb.sql 5、每天23:30对studb库做全备,使用系统日期做文件名。 [iyunv@mysql ~]# crontab -e 30 23 * * * mysqldump -uroot -p123456 --all-databases > /bak/all-$(date +\%Y\%m\%d).sql binlog增量备份 1 开启当前数据库服务的binlog日志功能:以自己的名字命名binlog文件,binlog文件存放到 /binlogbak 目录里 [iyunv@mysql mysql]# vim /etc/my.cnf 1 [mysqld] 2 slow-query-log 3 log-bin=/binlogbak/sw [iyunv@mysql ~]# service mysql restart [iyunv@mysql ~]# mkdir /binlogbak [iyunv@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、删除test1、test2表里的所有记录后,分别再插入3条新的记录,然后再删除test1、test2表里的所有记录 5、用binlog日志恢复2个表的初始数据和后插入的3条记录 [iyunv@mysql ~]# mysqlbinlog sw.000001 |mysql -uroot -p123456 [iyunv@mysql ~]# mysqlbinlog --start-position=1929 --stop-position=2032 /binlogbak/sw.000003 |mysql -uroot -p123456
|