mysql不停库不锁表在线主从配置

mysql不停库不锁表在线主从配置

说明:

10G以下的数据库:使用mysqldump导出数据和备份恢复比较合适,便捷。

100-500G数据库:使用Percona-Xtrabackup备份工具,在线热备,全量、增量、单表备份和还原。

更大数据量:采用分库分表,或使用 LVM 快照来加快备份速度。

 

XtraBackup优势 :

  1. 无需停止数据库进行InnoDB热备
  2. 增量备份MySQL
  3. 流压缩到传输到其它服务器
  4. 能比较容易地创建主从同步
  5. 备份MySQL时不会增大服务器负载

 

主从复制作用:

1.实现读写分离,减轻主库负载

2.数据安全,做备份恢复

3.主从切换做高可用

 

复制模式类型:

基于语句的复制:在主服务器上执行的SQL语句,在从服务器上执行同样的语句,有可能会由于SQL执行上下文环境不同而是数据不一致。

基于行的复制:把改变的内容复制过去,而不是把命令在从服务器上执行一遍。从mysql5.0开始支持,能够严格保证数据完全一致,但此时用mysqlbinlog去分析日志就没啥意义。因为任何一条update语句,都会把涉及到的行数据全部set值,所以binlog文件会比较大。

混合类型的复制:默认采用基于语句的复制,一旦发现基于语句的无法精确的复制时,就会采用基于行的复制。

 

配置步骤:

主从版本一致—>主库授权复制帐号—>确保开启binlog及主从server_id唯一—>xtrabackup恢复到从库—>记录xtrabackup_binlog_info中binlog名称及偏移量—>从库change master to —>slave start—>检查两个yes

 

1.主库:

创建负责复制的账号:

mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave_ali'@'192.168.5.%' IDENTIFIED BY 'slave_ali_pass';  
mysql> FLUSH PRIVILEGES;

赋予备份用户权限:

mysql> CREATE USER 'bkpuser'@'localhost' IDENTIFIED BY 'bkppass';
mysql> GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT,PROCESS,SUPER ON *.* TO 'bkpuser'@'localhost';
mysql> FLUSH PRIVILEGES;

 

假设 MySQL 安装目录在/opt/mysql,my.cnf配置文件/opt/mysql/my.cnf,端口3306,数据目录/opt/mysql_data,sock位于/opt/mysql_data/mysql.sock。备份数据放在/data/backup/mysql/

全量备份:

$ export BKP_PASS="bkppass"
$ innobackupex --defaults-file=/opt/mysql/my.cnf --host=localhost --port=3306 --user=bkpuser --password=${BKP_PASS} /data/backup/mysql

默认会以当天 日期+时间 戳命名备份目录。如2018-09-04_20-00-00

 

2.从库:

全量恢复:

innobackupex --use-memory=16G --apply-log 2018-09-04_20-00-00
 
确认数据库是关闭的,并且datadir,目录下为空
$ innobackupex --defaults-file=/opt/mysql/my.cnf --use-memory=16G --copy-back 2018-09-04_20-00-00

 

3.做从库

chown -R mysql.mysql /opt/mysql_data
/opt/mysql/bin/mysqld_safe --defaults-file=/opt/mysql/my.cnf &
$ mysql -uslave_ali -p'slave_ali_pass' -S /opt/mysql_data/mysql.sock
mysql> change master to master_host=MASTER_HOST, master_port=3306, 
       master_user='slave_ali',master_password='slave_ali_pass',
       master_log_file='mysql-bin.000135', master_log_pos=262484673;
mysql> show slave status\G
mysql> start slave;
mysql> show slave status\G

 


 

转载于:https://my.oschina.net/u/3866910/blog/1942531

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值