mysql服务器复制

主从复制 主–> 从

主从复制实现
1. 主节点配置
在/etc/my.cnf中
(1) 启用二进制日志

[mysqld]
log_bin

(2) 为当前节点设置一个全局惟一的ID号

[mysqld]
server_id=#   
log-basename=master 可选项,设置datadir中日志名称,确保不依赖主机名

(3) 记录主服务器的二进制日志的文件名和开始点,

mysql>show master status;

(4) 创建有复制权限的用户账号

mysql>GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'HOST' IDENTIFIED BY'replpass';

2. 从节点配置
在/etc/my.cnf中
(1) 启动中继日志

[mysqld]
server_id=# 		#为当前节点设置一个全局惟的ID号
read_only=ON 		#设置数据库只读
relay_log=relay-log 	#relay log的文件路径,默认值hostname-relay-bin
relay_log_index=relay-log.index 	#默认值hostname-relay-bin.index

(2) 使用有复制权限的用户账号连接至主服务器,并启动复制线程

mysql> CHANGE MASTER TO MASTER_HOST='host', #主服务器的ip地址
MASTER_USER='repluser',   #用于主从复制用户的用户名
MASTER_PASSWORD='replpass',  #密码
MASTER_LOG_FILE=' mariadb-bin.xxxxxx', #主服务器的二进制日志的文件名,例如:mariadb-bin.000001
MASTER_LOG_POS=#;	#主服务器二进制日志文件的开始点,例如:245
mysql> START SLAVE; #开启主从复制进程,如果配置出错用RESET SLAVE;命令可以清除配置
show slave status\G; #查看slave的状态

注意:
如果主节点已经运行了一段时间,且有大量数据时,如何配置并启动slave节点
通过备份恢复数据至从服务器
复制起始位置为备份时,二进制日志文件及其POS
3. 级联复制 – 主 --> 从(主) —> 从
如果要启用级联复制,需要在从(主)服务器启用以下配置

[mysqld]
log_bin
log_slave_updates 级联节点上二进制日志同步中继日志
relay_log=relay-log
relay_log_index=relay-log.index

过程:
主服务器完全备份–> 在级联节点还原数据库,级联服务器备份 --> 在从节点还原数据库

半同步复制

半同步复制实现:先将服务器配置成主从服务复制(至少三台服务器,即一主二从)
主服务器配置:安装数据库插件

mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
mysql>SET GLOBAL rpl_semi_sync_master_enabled=1;
mysql>SET GLOBAL rpl_semi_sync_master_timeout = 1000;超时长1s
mysql>SHOW GLOBAL VARIABLES LIKE '%semi%';
mysql>SHOW GLOBAL STATUS LIKE '%semi%';

从服务器配置:安装数据库插件

mysql> INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
mysql> SET GLOBAL rpl_semi_sync_slave_enabled=1;

在从服务器上重启线程:

mysql>stop slave;
start>slave;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值