1.1 mysql主从复制:

环境规划:集群中原有的db01服务器作为数据库主服务器,由于笔记本空间问题这里把backup备份服务器作为从服务器,不在安装新的机器,节省点空间,在backup服务器上部署好mysql即可

说明:实现主从复制的前提是两台服务器的时间同步要一致,前面ntp时间服务器已经搭建好,这里则不存在此问题

1.1.1 主服务器配置:

1.      修改配置文件

[root@db01 ~]# tail /etc/my.cnf

server_id = 1

log-bin=master-bin

log-slave-updates=true

2.      重启数据库

[root@db01 ~]# /etc/init.d/mysqld restart

3.      进入主数据库进行授权

mysql> grant replication slave on *.* to 'myslave'@'172.16.1.0/255.255.255.0' identified by 'oldboy123';

Query OK, 0 rows affected (0.00 sec)

4.      显示position信息,一遍在从服务器端进行更改

mysql> show master status;

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

| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

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

| master-bin.000001 |      120 |              |                  |                   |

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

1 row in set (0.00 sec)

1.1.2 从服务器配置:

1.      修改配置文件

[root@backup bin]# tail /etc/my.cnf

server_id = 2

relay-log=relay-log-bin

relay-log-index=slave=relay-bin.index

2.      启动mysql服务

3.      按照主服务器配置master-log-file 和 master—log-pos参数

mysql> change master to master_host='172.16.1.51',master_user='myslave',master_password='oldboy123',master_log_file='master-bin.000001',master_log_pos=120;

Query OK, 0 rows affected, 2 warnings (0.07 sec)

mysql> start slave;

Query OK, 0 rows affected (0.04 sec)

mysql> show slave status\G

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

Slave_IO_State: Waiting for master to send event

Master_Host: 172.16.1.51

Master_User: myslave

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: master-bin.000002

Read_Master_Log_Pos: 120

Relay_Log_File: relay-log-bin.000002

Relay_Log_Pos: 284

Relay_Master_Log_File: master-bin.000002

Slave_IO_Running: Yes

Slave_SQL_Running: Yes            必须全为yes证明主从复制配置成功

1.1.3 遇到报错:   查看slave状态时显示Slave_IO_Running: No

在查看从库端查看slave状态时显示IO为no

mysql> show slave status\G

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

Slave_IO_State:

Master_Host: 172.16.1.51

Master_User: myslave

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: master-bin.000001

Read_Master_Log_Pos: 1645

Relay_Log_File: relay-log-bin.000001

Relay_Log_Pos: 4

Relay_Master_Log_File: master-bin.000001

Slave_IO_Running: No

Slave_SQL_Running: Yes

这主要是以为在主库端的file和pos值 和从库端设置不同所导致,解决方案如下:

master端:

1.      重新启动数据库服务

[root@db01 ~]# /etc/init.d/mysqld restart

Shutting down MySQL.. SUCCESS!

Starting MySQL.... SUCCESS!

2.      查看file和pos值

mysql> show master status;

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

| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

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

| master-bin.000002 |      120 |              |                  |                   |

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

1 row in set (0.02 sec)

slave端:

1.      进入数据库,停止slave

mysql> stop slave;

Query OK, 0 rows affected (0.02 sec)

2.      重新写入file和pos值:

mysql> change master to master_log_file='master-bin.000002',master_log_pos=120;

Query OK, 0 rows affected (0.04 sec)

3.      启动slave:

mysql> start slave;

Query OK, 0 rows affected (0.03 sec)

4.      查看slave状态

mysql> show slave status\G

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

Slave_IO_State: Waiting for master to send event

Master_Host: 172.16.1.51

Master_User: myslave

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: master-bin.000002

Read_Master_Log_Pos: 120

Relay_Log_File: relay-log-bin.000002

Relay_Log_Pos: 284

Relay_Master_Log_File: master-bin.000002

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

1.1.4 进行测试:

1.      在master端创建数据库

mysql> create database jiang;

Query OK, 1 row affected (0.03 sec)

mysql> show databases;

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

| Database           |

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

| information_schema |

| dedecms            |

| discuz             |

| jiang              |

| mysql              |

| performance_schema |

| test               |

| test2              |

| test3              |

| wordpress          |

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

10 rows in set (0.01 sec)

2.      在slave端查看数据库:

mysql> show databases;

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

| Database           |

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

| information_schema |

| jiang              |                mysql主从复制配置成功!

| mysql              |

| performance_schema |

| test               |

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

5 rows in set (0.00 sec)

转载于:https://blog.51cto.com/13520772/2085164

MySQL---主从复制相关推荐

  1. 基于GTID模式MySQL主从复制

    基于GTID模式MySQL主从复制 GTID复制原理: 基于GTID的复制是MySQL 5.6后新增的复制方式 GTID (global transaction identifier) 即全局事务ID ...

  2. mysql 主从复制 性能_zabbix监控mysql各项性能,主从复制

    ###################################################### 监控mysql(默认监控模板不能用,再agentd.conf开启自定义key,自己编写脚本 ...

  3. mysql主从复制(master-slave)_mysql主从复制------Master-Slave搭建及注意事项

    前言 关于mysql主从复制的原理实际上是很通俗易懂的,可是,在实际的搭建这个结构的时候,仍是会遇到不一样的状况的.因而下面介绍的是搭建Master-Slave的操做及注意事项,本文不含数据库的调优参 ...

  4. 【MySQL】面试官:如何添加新数据库到MySQL主从复制环境?

    今天,一名读者反馈说:自己出去面试,被面试官一顿虐啊!为什么呢?因为这名读者面试的是某大厂的研发工程师,偏技术型的.所以,在面试过程中,面试官比较偏向于问技术型的问题.不过,技术终归还是要服务于业务的 ...

  5. mysql主从复制 跳过表_mysql主从复制-从库跳过异常日志点

    mysql主从复制-从库跳过异常日志点 来源:互联网 作者:佚名 时间:2015-03-08 08:39 mysql主从复制--从库跳过错误日志点 (本文转载,特此声明) 在MYSQL进行Replic ...

  6. mysql 主从复制

    mysql 主从 1 更改主数据库配置文件 cat > /etc/my.cnf <<EOF [mysqld] server-id=1 log-bin EOF 2 重启mysql /e ...

  7. mysql主从复制监控shell脚本

    ########本脚本应用在生产环境中,是运用mysql主从的基础上######## vi mysqlm-s.sh #!/bin/bash ip=`ifconfig eth0|sed -n 2p|aw ...

  8. mysql主从复制实战

    一,mysql主从复制的原理 mysql支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.mysql复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新. ...

  9. 老男孩教育每日一题-2017年4月28日- MySQL主从复制常见故障及解决方法?

    MySQL主从复制常见故障及解决方法? 1.1.1故障1:从库数据与主库冲突 show slave status; 报错:且show slave status\G Slave_I/O_Running: ...

  10. mysql主从复制原理详解_MySQL主从复制没使用过?三大步骤让你从原理、业务上理解透彻...

    成长是一棵树,总是在你不知不觉的情况下快乐长大:成长是一株草,总是在你不知不觉的情况下长满大地:成长是一朵花,总是在你不知不觉的情况下开满山头. 这不,随着时间的迁移.项目网站的用户量.数据量持续上升 ...

最新文章

  1. QT webkit学习笔记(2)
  2. PostgreSQL学习手册(五) 函数和操作符
  3. jq鼠标移入移除事件
  4. 数据可视化必修课 - 图表篇
  5. [MS Sql Server术语解释]预读,逻辑读,物理读
  6. SQLite指南(1) -- SQLite的特性
  7. internet信息服务(IIS)管理器 在哪里?
  8. js 跨域访问 找了好长时间
  9. php7和php5对比
  10. 伺服驱动器,方案迈信ep100 成熟方案STM32源代码原理图,包含原理图,pcb图,源码
  11. XXXX软件项目系统测试报告
  12. iPhone - 不能读取文件 iTunes.Library.itl 因为它是由更高级别的 iTunes 所创建
  13. 经典点云配准算法:迭代最近点算法ICP(Iterative Closest Point)
  14. python绘制直方图
  15. python实现标号法确定最短路径
  16. 撤销博士学位!取消硕导资格!科技部最新通报一批科研不端案件...
  17. DC - 13 :顺序表
  18. 思科模拟器DHCP配置-CCNA
  19. SD卡SPI读写模式,基于51单片机的讲解
  20. 求知若饥,虚心若愚——Stay Hungry, Stay Foolish

热门文章

  1. CSS3 高斯模糊与动画效果
  2. cmder全局添加右键菜单项
  3. 20191024:单调栈问题的引出
  4. mysql 截取json字符串_mysql如何截取一个json字符串?
  5. python的dropna 和notna的性能_python数据分析学习(7)数据清洗与准备(1)
  6. VB更改任何标题程序源代码
  7. 用VB如读取内存地址
  8. 年总结(八):关于思考的重新认识
  9. 活动报名 | 苏州工业园区领军人才项目申报宣讲对接会
  10. ARM太贵,80多家科技巨头悄然站队开源芯片架构RISC-V