天天看点

mysql集群搭建-主从配置

主从形式

mysql主从复制:

一主一从

主主复制

一主多从—扩展系统读取的性能,因为读是在从库读取的;

多主一从—5.7开始支持

联级复制—

mysql集群搭建-主从配置

用途及条件

mysql主从复制用途

  • 实时灾备,用于故障切换

    读写分离,提供查询服务

    备份,避免影响业务(备可用性和容错行)

    负载平衡

主从部署必要条件:

  • 主库开启binlog日志(设置log-bin参数)

    主从server-id不同

    从库服务器能连通主库

主从原理

库生成两个线程,一个I/O线程,一个SQL线程;

I/O线程去请求主库 的binlog,并将得到的binlog日志写到relay log(中继日志) 文件中;

主库会生成一个 log dump 线程,用来给从库 i/o线程传binlog;

SQL 线程,会读取relay log文件中的日志,并解析成具体操作,来实现主从的操作一致,最终数据一致;

mysql集群搭建-主从配置

配置信息

  • Mysql主服务器:

    版本:mysql Ver 14.14 Distrib 5.7.20

    IP:192.168.168.226

    PORT:3306

  • Mysql从服务器

    版本:mysql Ver 14.14 Distrib 5.7.20

    IP:192.168.168.227

    PORT:3306

    服务器:

CentOS 7 搭建步骤

登录主服务器,执行如下命令:

mysql -u root -p
           

提示密码安全策略问题:

set global validate_password_policy=0;
grant replication slave on *.* TO 'backup'@'192.168.168.227' identified by 'Likang123qwe';
flush privileges
           
mysql集群搭建-主从配置

编辑主服务器的数据库配置文件信息my.cnf

vi /etc/my.cnf
           

添加如下信息:

server-id=226
    log_bin=/var/log/mysql/mysql-bin.log
    read-only=0
    binlog-do-db=test
    binlog-ignore-db=mysql
           
mysql集群搭建-主从配置

登录从服务器,执行如下命令:

编辑从服务器的数据库配置文件信息:my.cnf

vi /etc/my.cnf
           
server-id=227
log_bin=/var/log/mysql/mysql-bin.log
           
mysql集群搭建-主从配置

重启主服务器

service mysqld restart
           

提示如下信息:

mysql集群搭建-主从配置

修改:

  • 进入/var/log/文件夹下,新建文件mysql,进入mysql目录,新建文件mysql-bin.log文件,并赋予读写权限(mysql和mysql-bin.log)

    登录主服务器,查看master状态

show master status\G;
           
mysql集群搭建-主从配置

登录从服务器,设置主从关系

change master to master_host='192.168.168.226',master_user='backup',master_password='Likang123qwe',master_log_file='mysql-bin.000001',master_log_pos=154;
           
mysql集群搭建-主从配置

查看从服务器的主从关系状态

show slave status\G;
           

主服务器下执行

/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
           

从服务器下执行

/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
           

如果主从库中不存在test库,则需要重新建库,然后重启,重新构建主从关系

从服务器下

Slave_IO_Running: Yes
 Slave_SQL_Running: Yes
           

如果都为yes,则主从搭建成功

至此,mysql主从配置成功