准备工作

服务器1:IP:192.168.4.58 操作系统CentOS6.8 数据库:MySQL5.6
服务器1:IP:192.168.4.88 操作系统CentOS6.8 数据库:MySQL5.6

主从配置的前提条件

1、MySQL版本一致
2、MySQL中的数据一致
3、操作前停止一切更新操作(写入、更新、删除等)

配置步骤

配置master
1、修改配置文件
vim /etc/my.cnf
log-bin=mysql-bin 启用二进制日志,mysql-bin为自己取名字
server-id=58 服务器ID,唯一性,一般是IP地址最后一段
binlog_format=mixed 日志存储格式
2、创建备份专用账户

mysql> GRANT REPLICATION SLAVE ON *.* TO 'backup'@'%' IDENTIFIED BY '123456';
mysql> FLUSH PRIVILEGES;

3、查看master主机状态
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 | 120 | | | |
+------------------+----------+--------------+------------------+-------------------+
注:File 和Position 值待会儿要用到
4、关闭防火墙
[root@master ~]# service iptables stop
配置 slave
1、修改配置文件
vim /etc/my.cnf
log-bin=mysql-bin [可选] 启用二进制日志
relay-log=relay-log 启用中继日志
server-id=88 配置服务器ID
2、配置主从复制
mysql> change master to
master_host='192.168.4.58',master_user='backup',master_password='123456',master_log_file='mysql-bin.000001', master_log_pos=120;

注:
master_host=主服务器IP
master_user=在主服务器上创建的备份用户名
master_password=备份用户密码
master_log_file=查询master(主服务器)的状态得到的File列的值
master_log_pos=Position列的值
start slave:启动从服务器复制功能
3、启动从服务器
mysql> start slave;
4、检查从服务器复制功能状态
mysql> show slave status\G;
1. row
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.4.58
Master_User: backup
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000002
Read_Master_Log_Pos: 120
Relay_Log_File: relay-log.000004
Relay_Log_Pos: 283
Relay_Master_Log_File: mysql-bin.000002
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 120
Relay_Log_Space: 613
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 58
Master_UUID: ebb71aca-381c-11e8-8b6d-000c29138f00
Master_Info_File: /data/mysql/master.info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
5、设置从服务器为只读
mysql> SHOW GLOBAL VARIABLES LIKE 'READ%';
+----------------------+--------+
| Variable_name | Value |
+----------------------+--------+
| read_buffer_size | 131072 |
| read_only | OFF |
| read_rnd_buffer_size | 262144 |
+----------------------+--------+
在slave的mysql配置文件中修改: read-only=on(在从服务器上设定,但对具有SUPER权限的用户不生效)

主要查看以下两项:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。
以上操作过程,主从服务器配置完成。

主从服务器测试

在主服务器上执行以下操作:
mysql -uroot -ppassword
create database db_test_slave;
use db_test_slave;
create table tb_test(id int(3), name varchar(50));
insert into tb_test values(1,'hello slave');
show databases;
mysql> select * from db_test_slave.tb_test;

在从服务器上执行以下操作:
[root@node2 ~]# mysql -uroot -p123456 -e "show databases;use db_test_slave; select * from tb_test;"
| Database |
+--------------------+
| information_schema |
| db_test_slave |
| mysql |
| performance_schema |
| test |
+--------------------+
+------+-------------+
| id | name |
+------+-------------+
| 1 | hello_slave |
+------+-------------+
看到在主服务器上创建的数据库、数据表、插入的数据记录。

MySQL的半同步复制

1、分别在主从节点上安装相关的插件
master:
安装插件:mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
启动模块:mysql> SET GLOBAL rpl_semi_sync_master_enabled = 1;
( rpl_semi_sync_master模块名称,semisync_master.so模块文件)
(取消加载插件mysql> UNINSTALL PLUGIN rpl_semi_sync_master;)
2、查看安装的模块
mysql> SHOW GLOBAL VARIABLES LIKE '%rpl%';
+------------------------------------+----------+
| Variable_name | Value |
+------------------------------------+----------+
| rpl_semi_sync_master_enabled | ON |
| rpl_semi_sync_master_timeout | 10000 |
| rpl_semi_sync_master_trace_level | 32 |
| rpl_semi_sync_master_wait_no_slave | ON |
| rpl_stop_slave_timeout | 31536000 |
+------------------------------------+----------+
slave:
安装插件:msyql> INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
启动模块:mysql> SET GLOBAL rpl_semi_sync_slave_enabled = 1;
重启进程使其模块生效:mysql> STOP SLAVE IO_THREAD; START SLAVE IO_THREAD;

mysql> STOP SLAVE IO_THREAD; START SLAVE IO_THREAD; (将从线程关掉在启动才可以)
mysql> show global variables like "rpl%";
+---------------------------------+----------+
| Variable_name | Value |
+---------------------------------+----------+
| rpl_semi_sync_slave_enabled | ON |
| rpl_semi_sync_slave_trace_level | 32 |
| rpl_stop_slave_timeout | 31536000 |
+---------------------------------+----------+

转载于:https://blog.51cto.com/437549/2113793

CentOS6.8 下MySQL5.6.29主从复制架构配置相关推荐

  1. 基于CentOS7,MySQL5.7的主从复制架构搭建实战

    基于CentOS7,MySQL5.7的主从复制架构搭建实战1 一.环境说明 1. 软件版本 环境&软件 版本 虚拟机&VMware Workstation 15 Pro 服务器& ...

  2. 解决CentOS6.5下MySQL5.6无法远程连接的问题

    解决CentOS6.5下MySQL5.6无法远程连接的问题 参考文章: (1)解决CentOS6.5下MySQL5.6无法远程连接的问题 (2)https://www.cnblogs.com/yang ...

  3. Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置

    如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)--Cen ...

  4. windows mysql源码安装配置_windows下MySQL5.6版本安装及配置过程附有截图和具体介绍...

    随着MYSQL版本的升级以及电脑系统的变化,我们给大家整理了种种电脑环境下安装MYSQL的图解过程,希望我们整理的内容能够帮助到大家:mysql安装图解总结 https://www.in68.com/ ...

  5. mysql安装与配置的截图_windows下MySQL5.6版本安装及配置过程附有截图和详细说明...

    随着MYSQL版本的更新以及电脑系统的变化,我们给大家整理了各种电脑环境下安装MYSQL的图解过程,希望我们整理的内容能够帮助到大家:mysql安装图解总结 https://www.jb51.net/ ...

  6. mysql server5.7.17安装_Windowsserver2008r2下MySQL5.7.17winx64安装版配置方法图文教程

    win下安装mysql5.7,供大家参考,具体内容如下 @Author GQ 2017年04月4日 刚买了一个阿里云winServer 2008R2 标准版,需要安装一个MySql数据库,一路的坑已填 ...

  7. CentOS7 64位下 MySQL5.7的安装与配置(YUM)

    趁着11.11的时候在阿里云上弄了一云服务ECS(作为自己的节日礼物 > _ <) ,系统为CentOS的,打算弄一个人博客之类的,这些天正在备案当中(不知得多久). 忙里偷闲,在中午休息 ...

  8. centos6.5下postgresql9.4.3安装与配置

    一.简介 PostgreSQL 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统.有些特性甚至连商业数据库都不具备.这个起源于伯克 ...

  9. [转]CentOS6.4下Mysql数据库的安装与配置

    如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)–Cent ...

最新文章

  1. 在腾讯,我的试用期总结!
  2. 用c语言合并两个链表,合并两个链表.
  3. 使用java生产二维码
  4. 如何处理表单中的中文(中文编码/解码问题)
  5. 前端学习(2382):js编码规范说明
  6. java 对 redis 的基本操作
  7. WebForm 分页与组合查询
  8. hadoop面试题答案
  9. QT中PRO文件写法
  10. iOS programming Code Snippet Library
  11. 吐血整理!必须收藏,44条代码优化细节
  12. 【优化算法】改进型的LMS算法-NLMS算法【含Matlab源码 631期】
  13. 麦克风阵列技术(转载)
  14. 南京大学计算机学类,南京大学计算机专业怎么样
  15. oracle的成本核算,ORACLE-EBS-最新成本管理手册
  16. 如何申请一个教育邮箱
  17. 钉钉企业应用网关接入(保姆级教程)
  18. NSURLSession htpps证书设置
  19. 内网渗透(四十六)之横向移动篇-使用系统漏洞ms17010横向移动
  20. 悼念512汶川大地震遇难同胞——重建希望小学 ( )

热门文章

  1. 自然语言处理与中文分词的难点总结--学习笔记
  2. Feescale MX31 bootloader Program : HAB Toolkit
  3. Ansible安装及配置
  4. Express+Socket.IO 实现简易聊天室
  5. 蓝鲸“配置平台”正式开源
  6. 兼容iOS 10 资料整理笔记
  7. 【SICP归纳】6 副作用与环境模型
  8. 目标跟踪学习笔记_1(opencv中meanshift和camshift例子的应用)
  9. sql注入***的各种注入方法
  10. TiDB集群大规模删除实践