013 MySQL集群搭建之主从复制

一、主从复制原理

        主对外工作,从对内备份。

1.关闭主从机器的防火墙

systemctl stop iptables(需要安装iptables服务)
systemctl stop firewalld(默认)
systemctl disable firewalld.service(设置开启不启动)

2.主服务器配置

2.1修改my.cnf文件

#启用二进制日志
log-bin=mysql-bin
#服务器唯一ID,一般取IP最后一段
server-id=133
#指定复制的数据库(可选)
binlog-do-db=kkb2
binlog-ignore-db=kkb
#指定不复制的数据库(可选,,mysql5.7)
replicate-ignore-db=kkb
#指定忽略的表(可选,mysql5.7)
replicate-ignore-table = db.table1

2.2:重启mysql服务

systemctl restart mysqld

2.3主机给从机授备份权限

GRANT REPLICATION SLAVE ON *.* TO 'root'@'%' identified by 'root';

2.4 刷新权限

FLUSH PRIVILEGES;

2.5查询master的状态

mysql> show master status;
+------------------+----------+--------------+------------------+---------------
----+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
Executed_Gtid_Set |
+------------------+----------+--------------+------------------+---------------
----+
| mysql-bin.000009 | 871 | | kkb_2 |
|
+------------------+----------+--------------+------------------+---------------
----+
1 row in set (0.00 sec)

3.从服务器配置

3.1修改my.cnf文件

[mysqld]
server-id=135

3.2重启并登录到MySQL进行配置从服务器

        查看节点状态show slave status \G;,如果是开启就先关闭stop slave;

        change master to同步初始化 master_log_file 、 master_log_pos 以主机状态为主 show master status;

change master to
  master_host='192.168.85.129',
  master_port=3306,
  master_user='root',
  master_password='root',
  master_log_file='mysql-bin.000009',
  master_log_pos=871

3.4启动从服务器复制功能

start slave;

3.5检查从服务器复制功能状态

mysql> show slave status \G;
……………………(省略部分)
Slave_IO_Running: Yes //此状态必须YES
Slave_SQL_Running: Yes //此状态必须YES
……………………(省略部分)

4.主从延时

4.1因为SQLThread和IOThread是默认单线程,当主机的tps(每秒事务处理数)高于从机的Thread所能承受范围,则会出现从机复制延时; 解决方案: 将thread改成多线程模式 MySQL5.6改表,MySQL5.7改GTID;

4.2、网络延时 解决方案:

        主和从要布置在同一个网段内;

4.3、IO延时

        slave server硬件升级

4.5判断延时

  • 通过show slave status查看从机中Seconds_Behind_Master=0则不延时

  • 建表加时间戳(timestamp),看时间差

注:利用分库分表中间件 Mycat、 sharding JDBC强制读取主库解决主从问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值