001、mysqlbackup介绍:
mysqlbackup是一个热备份工具、也就是说它不像mysqldump那样给表上一个全局锁,由于mysqldump上了这个锁,所以就造成客户端只能对
数据库进行读操作不能写,这也就是称mysqldump为温备份的原因。但是mysqlbackup真的有这么吊吗?答案是并没有。对于innodb引擎的表
mysqlbackup 热备的;但是对于非innodb表mysqlbackup就只能温备了,原因是这类引擎不支持事务也就是说不能通过事务日志来保证备份的
一致性,所以就只能给表加上一个全局锁来解决了。为了得到一致的备份mysqlbackup要不停的去追踪mysql数据库的sln号,也就是说mysqlback
要执行备份那么它一定要连接上数据库。mysqlbackup对数据库的备份是通过复制文件的方式进行的,也就是说mysqlback要和数据库在同一台机器
上。
002、备份用户的创建与授权
grant reload on *.* to mybackup@'localhost' identified by '131417'; grant create,insert,drop,update on mysql.backup_progress to mybackup@'localhost'; grant create,insert,drop,update,select on mysql.backup_history to mybackup@'localhost'; grant super on *.* to mybackup@'localhost'; grant replication client on *.* to mybackup@'localhost'; grant process on *.* to mybackup@'localhost'; grant lock tables, select,create,alter on *.* to mybackup@localhost; grant create, insert, drop, update on mysql.backup_sbt_history to mybackup@'localhost';
003、由于mysqbackup是复制文件的方式备份的,所以用于备份的linux用户要对目标路径有相应的权限。
004、执行一次全备
root@localhost>mysqlbackup --user=mybackup --password=131417 --backup-image=/mysql_backup/data/mysql_server.mbi --backup-dir=/mysql_backup/temp backup-to-image
--user:用户名。
--password:密码。
--port:端口,默认值为3306。
--backup-dir:可以看成是mysqlback的工作目录。
--backup-image:备份文件名。
backup-to-image:把所有的备份信息输出到一个备份文件当中。
005、可以校验一下备份文件,用于确定备份是否损坏。
mysqlbackup --backup-image=/mysql_backup/data/mysql_server.mbi validate
006、还原备份
mysqlbackup --defaults-file=/etc/my.cnf --backup-image=/mysql_backup/data/mysql_server.mbi --backup-dir=/mysql_backup/temp/ copy-back-and-apply-log chown -R mysql.mysql /usr/local/mysql/data
007、备份文件转换到备份目录
mysqlbackup --backup-image=/mysql_backup/data/mysql_server.mbi --backup-dir=/mysql_backup/temp/ image-to-backup-dir #方法一
mysqlbackup --backup-image=/mysql_backup/data/mysql_server.mbi extract #方法二,导出到当前目录
008、查看备份文件中的内容
mysqlbackup --backup-image=/mysql_backup/data/mysql_server.mbi list-image
009、