xtrabackup创建slave。
一、master----slave的方式。
在master上:
全备:
innobackupex --defaults-file=/etc/my.cnf --tmpdir=/tmp --user=root --password=mysql --socket=/usr/local/mysql/mysql.sock /tmp/backup/
一致性备份:
innobackupex --defaults-file=/etc/my.cnf --tmpdir=/tmp --user=root --password=mysql --socket=/usr/local/mysql/mysql.sock --apply-log /tmp/backup/2016-05-31_23-02-45/
发送给slave:
scp -r /tmp/backup/2016-05-31_23-02-45/ 192.168.1.161:/tmp
先确保Slave有访问Master的权限:
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY 'mysql';
确认一下,Slave是否能正常连接Master:
mysql --host=192.168.1.197 --user=repl --password=mysql
mysql> SHOW GRANTS;
OK 一切正常。
发送my.cnf文件:
[root@test18 ~]# scp /etc/my.cnf 192.168.1.161:/usr/local/mysql/3306/
在slave上,
/etc/init.d /mysql_3306 status 确定mysql是否关闭。
mv /data/mysql/3306/ /data/mysql/3306_bak/ 改名源数据库datadir目录。
mkdir -p /data/mysql/3306/
mv /tmp/2016-05-31_23-02-45/* /data/mysql/3306/
修改my.cnf,server-id必须修改,其他的根据实际情况,特别是数据目录等,这些位置。
[root@test11 ~]# vi /usr/local/mysql/3306/my.cnf
# 注意:如果ibdata和ib_logfile在Slave的配置文件中是分开存储的,则按照Slave的配置要求,存放到对应目录。
注意,我们这里只有undo是在/log目录下。
[root@test11 /]# mv /data/mysql/3306/undo00* /log/undo/3306/
mv: overwrite `/log/undo/3306/undo001'? y
mv: overwrite `/log/undo/3306/undo002'? y
mv: overwrite `/log/undo/3306/undo003'? y
修改权限:
[root@test11 /]# chown -R mysql.mysql /data/mysql/
[root@test11 /]# rm -rf /log/binlog/