实验环境;

两台centos7主机,一台ip为10.10.251.49 作为master

一台ip为10.10.251.59作为slave(复制上台虚拟机,需要修改ip,还有mysql数据库的uuid)

主从同步原理图

1),master需要开启bin-log,用于记录主库修改数据库的SQL语句。

2),异步复制过程,毫秒延迟(磁盘io,网速影响),需要开启3个线程,master开启IO线程,slave开启IO线程,SQL线程

3),从库启动salve start,通过IO线程,用户名和密码去连接 MASTER,MASTER IO线程,负责将bin-log内容,Position位置点数据发给SLAVE。

4),SLAVE IO 线程收到数据后,会将内容追加到本地 relay-log 中继日志,同时生成master.info 文件(用户名,密码,bin-log,)

二:

1)安装mysql

wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm从 下载yum源

yum localinstall mysql57-community-release-el7-7.noarch.rpm 安装yum源

yum install mysql mysql-server mysql-devel -y

2)编辑myql默认配置文件,

vi /etc/my.cnf

添加以下内容

log-bin=mysql-bin

server-id= 1

systemctl restart mysqld 重启数据库

3)MASTER授权从库访问

mysql -uroot -pzabbix

mysql>  grant replication slave on *.* to 'zabbix'@'10.10.251.65' identified by 'zabbix';  #授权用户名为zabbix,密码为zabbix的用户访问 (一定确认用户名,密码,ip地址正确)

Query OK, 0 rows affected, 1 warning (0.02 sec)

mysql> FLUSH PRIVILEGES; (刷新授权)

Query OK, 0 rows affected (0.01 sec)

mysql> show global variables like '%log%';

确认 为 on

| log_bin | ON |

mysql> show MAster LOGs;(先记录log_name (master主机上的日志名字) 和 File_size(开始同步时候的节点))

+------------------+-----------+

| Log_name | File_size |

+------------------+-----------+

| mysql-bin.000001 | 1125905 |

+------------------+-----------+

1 row in set (0.00 sec)

三,SLAVE库配置

vi /etc/my.cnf

添加以下内容

server-id= 2

relay-log=relay-log

relay-log-index=relay-log.index

systemctl restart mysqld    重启数据库

mysql -uroot -pzabbix

mysql> CHANGE MASTER TO MASTER_HOST='10.10.251.49',MASTER_USER='zabbix',MASTER_PASSWORD='zabbix', MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=881468;

Query OK, 0 rows affected, 2 warnings (0.43 sec)  ##需要指定的master的ip,LOG_FILE,LOG_POS,

mysql> start slave;

Query OK, 0 rows affected (0.03 sec)

mysql> show slave status\G

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: 10.10.251.49

Master_User: zabbix

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000001

Read_Master_Log_Pos: 1127135

Relay_Log_File: relay-log.000002

Relay_Log_Pos: 245987

Relay_Master_Log_File: mysql-bin.000001

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: 1127135

Relay_Log_Space: 246188

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: 1

Master_UUID: 2c5af6b7-73a1-11e8-8798-a20c9f0a7fef

Master_Info_File: /var/lib/mysql/master.info

SQL_Delay: 0

SQL_Remaining_Delay: NULL

Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates

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

Replicate_Rewrite_DB:

Channel_Name:

Master_TLS_Version:

1 row in set (0.00 sec)

最后测试数据库

master1上

mysql> create database test;

Query OK, 1 row affected (0.01 sec)

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| sys |

| test |

| zabbix |

+--------------------+

6 rows in set (0.00 sec)

slave上

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| sys |

| test |

| zabbix |

+--------------------+

6 rows in set (0.00 sec)

本次搭建测试成功

一:

本次遇到的错误,复制主机后mysql的UUID没改

Last_IO_Errno: 0

Last_IO_Error:

这儿就出现关于uuid的错误,需要在数据库目录下

(我的是/var/lib/mysql/)

vi auto.cfg

删除

server-uuid=2c5af6b7-73a1-11e8-8798-a20c9f0a7fef

并且重启mysqld,会生成新的uuid

二,

SLAVE上多次写入MASTER的信息;

导致数据库总无法 start  slave;

需要 reset slave all;

重新重新绑定主机,

mysql> CHANGE MASTER TO MASTER_HOST='10.10.251.49',MASTER_USER='zabbix',MASTER_PASSWORD='zabbix', MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=881468;

方可start slave;

本次参考B站京峰教育视频、

mysql5.7 删除复制_mysql5.7实现主从复制以及产生问题记录相关推荐

  1. mysql5.7 读写分离_mysql5.7的主从复制+读写分离

    Mysql主从复制与读写分离 目录: 1.mysql主从复制工作原理 2.mysql读写分离原理,使用Amoeba中间代理层实现读写分离 3.在vmware中实现mysql主从复制+读写分离 一.My ...

  2. mysql设置slave复制_mysql5.5建立主从复制(setupmaster-slavereplication)_MySQL

    bitsCN.com mysql5.5建立主从复制(set up master-slave replication) 1.注意事项: (1)主从服务器版本要一致 (2)要修改root密码,切不可用初始 ...

  3. mysql5.5删除干净_MySql5.5 安装及卸载

    忙乎一个下午.郁闷之极,在放弃之前搞定,记录. 环境:win7 1.安装mysql之前,最好在网上找一下安装教程,然后再装. 我没有这么办,所以第一次装完后,卸载,由于没有卸干净,所以又重新装N次,不 ...

  4. mysql5.7无损复制_MySQL5.7新特性:lossless replication 无损复制

    MySQL的三种复制方式 asynchronous 异步复制 fully synchronous 全同步复制 Semisynchronous 半同步复制 asynchronous replicatio ...

  5. rhel6系统中,mysql 5.6复制新特性下主从复制配置[基于GTID]

    1.mysql5.6在复制方面的新特性: (1).支持多线程复制:事实上是针对每个database开启相应的独立线程,即每个库有一个单独的(sql thread).针对这样的改进,如果我们想实现多线程 ...

  6. mysql主从复制与主主复制的对比_MySQL主从复制与主主复制

    mysql 的主从复制: 实验环境: linux CentOS7两台:192.168.230.10(主)----192.168.230.11(从)(系统安装好,关掉防火墙或配置好防火墙) mysql ...

  7. linux mv复制命令,linux中删除复制移动文件rm,mv,cp命令详解linux操作系统 -电脑资料...

    在linux中对文件的复制删除移动分别会使用到rm,mv,cp三个命令,下面我来给大家介绍一下rm,mv,cp命令对文件的常规操作吧, 先看实例 删除复制移动文件命令 Linux代码 rm -rf / ...

  8. linux vim 删除 h,Linux VIM 的使用快捷键之删除, 复制, 粘贴

    Linux VIM 的使用快捷键之删除, 复制, 粘贴 注: 以下删除, 复制和粘贴均是在非编辑模式下的操作 (esc) 一, 删除 x 小写的 x 表示向后删除一个字符, 也就是删除光标所在字符 n ...

  9. mysql5.6.37 主从同步_MySQL5.6 Replication主从复制(读写分离) 配置完整版

    1.MySQL5.6开始主从复制有两种方式: 基于日志(binlog): 基于GTID(全局事务标示符). 需要注意的是:GTID方式不支持临时表!所以如果你的业务系统要用到临时表的话就不要考虑这种方 ...

最新文章

  1. Java多线程复习:3(在操作系统中查看和杀死进程线程)
  2. 稳扎稳打Silverlight(29) - 2.0Tip/Trick之Cookie, 自定义字体, 为程序传递参数, 自定义鼠标右键...
  3. wordpress 5.0.0 远程代码执行漏洞分析cve-2019-8943
  4. Oracle 11g 数据库启动和关闭
  5. “奶茶第一股”香飘飘,“香”不起来了?
  6. vs2008调试c#网页时出现“加载配置文件时出错: 未能映射路径'/' 错误 .
  7. 1005 继续(3n+1)猜想 (25 分)(c语言实现)
  8. html5input输入框设置无边框_芯片充电两大改变,无看点的iPad8,上手体验发现并不简单!...
  9. Error: Flash Download failed - Target DLL has been cancelled
  10. ubutun 更换网络源_Ubuntu 更换源
  11. Eclipse集成PyDev5.2.0开发插件
  12. ES11新特性_动态import---JavaScript_ECMAScript_ES6-ES11新特性工作笔记065
  13. java中流关闭如何打开_关于java中流关闭的问题
  14. 火狐浏览器将网页保存为pdf
  15. split分割造成索引越界异常问题
  16. c4d-创建样条曲线-4
  17. 一键Pad变电脑,安全快速的远控办公这不就来了。
  18. 转载大牛对Microsoft的认识
  19. 【(类似DP)优化】 分梨子
  20. iOS11降级到iOS10.3.3/10.3.2教程

热门文章

  1. Ionic4使用crosswalk-webview内核
  2. python post 请求
  3. 电子商务数据仓库架构
  4. 从底层结构开始学习FPGA(7)----进位链CARRY4
  5. 知识产权恶意侵权是什么意思
  6. 人群计数主流数据集介绍
  7. Python Numpy练习(一)
  8. 推荐一款Node.js编写的HTTP代理服务器Zan Proxy
  9. 安卓前台服务的使用(简单)
  10. 第三单元分支结构程序设计总结与感想