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、每天23:30对studb库做全备,使用系统日期做文件名。
[root@mysql ~]# crontab -e
30 23 * * * mysqldump -uroot -p123456 --all-databases > /bak/all-$(date +\%Y\%m\%d).sql
binlog增量备份
1 开启当前数据库服务的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、删除test1、test2表里的所有记录后,分别再插入3条新的记录,然后再删除test1、test2表里的所有记录
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