數(shù)據(jù)庫因?yàn)闅v史原因一直哉使用msyqldump作為數(shù)據(jù)備份工具,隨著數(shù)據(jù)越來越多,當(dāng)恢復(fù)的時(shí)候,慢如蝸牛,都是小時(shí)級(jí)別的(沒有做主從),最近經(jīng)過驗(yàn)證和測(cè)試,發(fā)現(xiàn)XtraBackup是個(gè)不錯(cuò)的工具,打算用用。
XtraBackup 有兩個(gè)工具:xtrabackup 和 innobackupex:
- xtrabackup 本身只能備份 InnoDB 和 XtraDB ,不能備份 MyISAM;
- innobackupex 本身是 Hot Backup 腳本修改而來,同時(shí)可以備份 MyISAM 和 InnoDB,但是備份 MyISAM 需要加讀鎖。
安裝依賴
yum -y install libev.x86_64 perl-DBD-MySQL
在線安裝XtraBackup
rpm -Uhv https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.3.4/binary/redhat/6/x86_64/percona-xtrabackup-2.3.4-1.el6.x86_64.rpm
檢查狀態(tài)
yum list | grep percona
創(chuàng)建備份
#備份的目錄,會(huì)自動(dòng)生成日期文件目錄
innobackupex --user=root --password=**** /root/db-backup/
#if mysql.sock error,append under segment to mysql-clients.cnf
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
#and then reload conf
service mysql reload
#options, bin-log on
[mysqld]
log-bin=mysql-bin
準(zhǔn)備階段
# rollback uncommited and flush commited tx
innobackupex --user=root --password=**** --apply-log /root/db-backup/
恢復(fù)數(shù)據(jù)
#slave mysql
service mysql stop
rm -rf /var/lib/mysql/data/*
#copy-back or move-back
innobackupex --user=root --password=**** --copy-back /root/db-backup/2016-04-10_00-38-46
service mysql start
#if server not work. pls run under command
chown -R mysql:mysql /var/lib/mysql/
install MariaDB on CenOS6.5
#add repo
vim /etc/yum.repos.d/MariaDB.repo
[mariadb]
name=MariaDB
baseurl=http://yum.mariadb.org/10.1/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
yum update (may be error , so ignore it)
yum install MariaDB-server -y
yum install MariaDB-client -y
service mysql start
chkconfig mysql on
#secure config
mysql_secure_installation
mysql -u root -p
#允許root遠(yuǎn)程登錄
$ mysql -uroot -p123456
> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
> FLUSH PRIVILEGES;
查看binlog日志
$mysqlbinlog mysql-bin.000001| more
#mysql>show master logs
生成新binlog文件
- mysql restart
- flush logs
- greater then limit
查看進(jìn)程信息
show processlist;