1 导入导出
==============================================================
1.1 备份
[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录)
[root@localhost mysql]# mysqldump -u root -p -h 127.0.0.1 voice>voice.sql,输入密码即可。
1.2 还原
1.2.1:还原方式1
[root@localhost ~]# mysql -u root -p 回车,输入密码,进入MySQL的控制台"mysql>",执行 source voice.sql;。
1.2.2:还原方式1
[root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录)
[root@localhost mysql]# mysql -u root -p voice<voice.sql,输入密码即可。
1.2.3 备份脚本
export MYSQL_HOME="/usr/local/mysql"
$MYSQL_HOME/bin/mysqldump -u root -h 127.0.0.1 --password=mypasswd mysql user >$MYSQL_HOME/mysqlbk/bk_users.sql.`date +%Y%m%d`
$MYSQL_HOME/bin/mysqldump -u root -h 127.0.0.1 --password=mypasswd --databases portal >$MYSQL_HOME/mysqlbk/bk_portal.sql.`date +%Y%m%d`
cd $MYSQL_HOME/mysqlbk
find . ! -name "." -type d -prune -o -type f -name "bk*.sql*" -ctime +10 -exec rm {} ;
exit
2 热备
==============================================================
2.1 xtraBackup安装
2.1.1 安装xtraBackup
下载: https://www.percona.com/downloads/XtraBackup/LATEST/
安装: tar xvf Percona-XtraBackup-2.4.4-rdf58cf2-el5-x86_64-bundle.tar
rpm -i --force --nodeps percona-xtrabackup-24-2.4.4-1.el5.x86_64.rpm #原因是mysql用的是tar包来安装而非rpm包,直接强制安装也可用
完全安装需要先安装下列包:
yum install libaio
yum install numactl
yum install perl-DBD-MySQL.x86_64
2.2 备份
2.2.0 备份若启用binlog.才可以实现基于时间点的恢复。
2.2.1 全量备 可root执行
1> 全备
--full backup
innobackupex -u root --password=mypasswd --backup /tmp/mysqlbk [--compress]
注: 如果有多个DB在同一机器上面需要指定--defaults-file=/patch/my.cnf来备份相应的mysql实例中的库
--prepare backup
innobackupex --apply-log --user=root --datadir=/var/lib/mysql /tmp/mysqlbk
2> cp恢复 数据文件及日志
cd $MYSQL_DATAHOME
mv ./data ./data.orig
innobackupex --copy-back --user root --datadir=/usr/local/mysql/data /tmp/root/2016-10-12_21-43-53 [--decompress]
chown -R mysql:mysql ./data
3> 启动库 与 应用旧库的日志到崩溃点
查看备份集的一致性lsn
cat xtrabackup_binlog_info
mysql-bin.000005 336
从备份开始时点应用日志,可以用-d指定库
cd 到旧库目录
--恢复到崩溃点
mysqlbinlog mysql-bin.000005 --start-position 336 -d dbname | mysql -u root --password=oracle
--恢复到指定时间点的
mysqlbinlog /data/inst3606/log/bin/inst3606bin.000001 --start-position=774 --stop-datetime="2014-12-25 11:53:54" |mysql -u root
2.2.2 增量备份
略。