一、MySQL主从介绍

MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的 MySQL主从是基于binlog的,主上须开启binlog才能进行主从。 主从过程大致有3个步骤

1)主将更改操作记录到binlog里

2)从将主的binlog事件(sql语句)同步到从本机上并记录在relaylog里

3)从根据relaylog里面的sql语句按顺序执行

主上有一个log dump线程,用来和从的I/O线程传递binlog

从上有两个线程,其中I/O线程用来同步主的binlog并生成relaylog,另外一个SQL线程用来把relaylog里面的sql语句落地

MySQL主从原理图

三、配置主

安装mysql

修改vi /etc/my.cnf,增加server- id = 101和log_bin = davery1

报错,需要把 /data/mysql   和/usr/local/mysql 的数组数主都改一下

cd /usr/local/mysql

chowen -R mysql.mysql .

chown -R mysql.mysql /data/mysql

修改完配置文件后,启动或者重启mysqld服务

/etc/init.d/mysqld restart

cd /data/mysql 这时目录里边会生成很多新的文件,index文件必须一定要有在能完成主从配置

测试

把zrlog备份到 /tmp/zrlog.sql

创建一个新的库test2,并把/tmp/zrlog.sql这个库回复到test2,后边参考的库就是test2

[root@davery mysql]#  /usr/local/mysql/bin/mysql -uroot -pmimA123 -e "create database test2"

/usr/local/mysql/bin/mysql -uroot -pmimA123 test2 < /tmp/zrlog.sql

查看两个库test2  zrlog 大小一致

创建用作同步数据的用户,先登陆mysql

[root@davery mysql]# /usr/local/mysql/bin/mysql -uroot -pmimA123

mysql> grant replication slave on *.* to 'repl'@'192.168.1.106' identified by 'mimA123'; 指定从ip,以密码登陆

mysql>  flush tables with read lock;把表锁定

show master status;使用到如下两个

davery1.000002

10557

然后退出

数据备份,这时候主就配置好了

四、配置从

安装mysql

查看my.cnf,配置server-id = 106,要求和主不一样

修改完配置文件后,启动或者重启mysqld服务

[root@davery01 mysql]# /etc/init.d/mysqld restart

把主上test2库同步到从上

scp 192.168.1.101:/tmp/*.sql /tmp/

可以先创建test2库,然后把主上的/tmp/mysql.sql拷贝到从上,然后导入test2库,为防止错乱,两边都需要有同样的数据库名。

/usr/local/mysql/bin/mysql -uroot

mysql> create database davery;

mysql> create database zrlog;

mysql> create database test2;

可以看到数据已经一致了

从备份原/tmp/*.sql 还原到对应的库里边

[root@davery01 ~]# /usr/local/mysql/bin/mysql -uroot zrlog < /tmp/zrlog.sql
[root@davery01 ~]#
[root@davery01 ~]# /usr/local/mysql/bin/mysql -uroot test2 < /tmp/zrlog.sql
[root@davery01 ~]#
[root@davery01 ~]# /usr/local/mysql/bin/mysql -uroot mysql < /tmp/my2.sql
[root@davery01 ~]#
[root@davery01 ~]#
[root@davery01 ~]# ls /data/mysql

然后登陆从,并关闭从

stop slave;

mysql> change master to master_host='192.168.1.101', master_user='repl', master_password='mimA123', master_log_file=='davery1.000002', master_log_pos=10557;

start slave;

show slave status\G

出现如下内容说明主从配置成功啦!

Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.101
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: davery1.000002  
Read_Master_Log_Pos: 10557
Relay_Log_File: davery01-relay-bin.000002
Relay_Log_Pos: 281
Relay_Master_Log_File: davery1.000002
Slave_IO_Running: Yes
Slave_SQL_Running: Yes  这两行说明主从在运行。

还要到上执行 unlock tables 这一步也不能忘记

这时候主从配置就真的配置完成了

五、测试主从同步

从上执行mysql -uroot

show slave stauts\G

看是否有

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

还需关注

Seconds_Behind_Master: 0 //为主从延迟的时间

Last_IO_Errno: 0

Last_IO_Error:

Last_SQL_Errno: 0

Last_SQL_Error:

配置参数

vim  /etc/my.cnf

主服务器上 binlog-do-db= //仅同步指定的库

binlog-ignore-db= //忽略指定库

从服务器上

replicate_do_db=

replicate_ignore_db=   忽略库

replicate_do_table=

replicate_ignore_table=   忽略表

replicate_wild_do_table=    //如aming.%, 支持通配符%

replicate_wild_ignore_table=

测试主从

主上

/usr/local/mysql/bin/mysql -uroot -pmimA123 登陆

查看都有哪些库

使用test2库

use test2;

select count(*) from user; 查看user表有多少行

可看到一行

truncate table ;

到从上 

/usr/local/mysql/bin/mysql -uroot

select count(*) from user; 也是一行

主上继续drop table user;

Linux centosVMware MySQL主从介绍、准备工作、配置主、配置从、测试主从同步的更多相关文章

  1. MySQL主从介绍 准备工作 配置主 配置从 测试主从同步

    配置主: • 安装mysql • 修改my.cnf,增加server-id=130和log_bin=xiaobo1 • 添加环境变量 Vim /root/.bash_profile PATH=$PAT ...

  2. Linux centosVMware 集群介绍、keepalived介绍、用keepalived配置高可用集群

    一.集群介绍 根据功能划分为两大类:高可用和负载均衡 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务 实现高可用的开源软件有:heartbeat. ...

  3. Linux centosVMware LNMP架构介绍、MySQL安装、PHP安装、Nginx介绍

    一. LNMP架构介绍 和LAMP不同的是,提供web服务的是Nginx 并且php是作为一个独立服务存在的,这个服务叫做php-fpm Nginx直接处理静态请求,动态请求会转发给php-fpm   ...

  4. Linux 下 MySQL 的彻底卸载和安装配置字符集

    前言: Linux环境下MySQL的安装和配置在网上已经有很多教程了.之所以写这篇文章是因为在配置字符集的时候找了网上的一些教程发现并不能用导致折腾了一阵子.下面的教程均是亲自实践. MySQL的彻底 ...

  5. Linux下MySQL的彻底卸载和安装配置字符集

    前言: Linux环境下MySQL的安装和配置在网上已经有很多教程了.之所以写这篇文章是因为在配置字符集的时候找了网上的一些教程发现并不能用导致折腾了一阵子.下面的教程均是亲自实践. MySQL的彻底 ...

  6. 阿里云Linux CentOS8.1 64位服务器安装LNMP(Linux+Nginx+MySQL+PHP) 并发调试之php-fpm配置及其与Nginx的通信

    一.php-fpm的配置 1. php-fpm的配置,首先要关注进程数量. php-fpm的进程管理方式有三种:static.dynamic.ondemand. static方式,开启固定数量(pm. ...

  7. 阿里云Linux CentOS8.1 64位服务器安装LNMP(Linux+Nginx+MySQL+PHP) 并发调试之Nginx配置

    搭建好LNMP环境之后,接着要考虑的就是整个系统的并发能力了. 一.Nginx的配置 Nginx有很好的并发能力.但是要想使它的并发能力能够施展出来,需要在初步安装好的Nginx上做一些配置.主要需要 ...

  8. linux+apache+mysql+php平台构建及环境配置

    1.我使用的centos6.安装时已经选择安装apach.mysql,事实上在运行下列两行命令的时候又对其进行了更新.所以说装的时候能够不安装,免得浪费时间. yum install php-mysq ...

  9. linux下mysql安装、目录结构、配置

    1.准备安装程序(官方网站下载) 服务端:MySQL-server-community-5.1.44-1.rhel4.i386.rpm 客户端:MySQL-client-community-5.1.4 ...

随机推荐

  1. 「CF383C Propagating tree」

    这应该属于一个比较麻烦的数据结构处理树上问题. 题目大意 给出一颗根节点编号为 \(1\) 的树,对于一个节点修改时在它的子树中对于深度奇偶性相同的节点加上这个权值,不同则减去这个值,单点查询. 分析 ...

  2. 软件工程 - Test-Driven Development (TDD),测试驱动开发

    参考 https://baike.baidu.com/item/%E6%B5%8B%E8%AF%95%E9%A9%B1%E5%8A%A8%E5%BC%80%E5%8F%91/3328831?fr=al ...

  3. 2019年ipa发布苹果应用商店审核指南

    https://baijiahao.baidu.com/s?id=1623886553597961077&wfr=spider&for=pc ipa 发布审核指南 说明: 本指南为初版 ...

  4. linux 从一台机器复制文件到另一台linux机器上去

    1.功能说明scp就是security copy,用于将文件或者目录从一个Linux系统拷贝到另一个Linux系统下.scp传输数据用的是SSH协议,保证了数据传输的安全,其格式如下:scp 远程用户 ...

  5. Mybatis plus 插入数据时将自动递增的主键手动进行赋值设置

    1.首先设置好实体类:将类型设置为 @TableId(type = IdType.INPUT) 2.在插入数据前将id赋值给实体类对象即可

  6. 夯实Java基础(十九)——集合

    1.前言 集合在Java中的地位想必大家都知道,不用多BB了.无论是在我们现在的学习中还是在今后的工作中,集合这样一个大家族都无处不在,无处不用.在前面讲到的数组也是一个小的容器,但是数组不是面向对象 ...

  7. Flatpak 1.5.2 即将发布

    导读 Flatpak 1.5.1开发版本为Flatpaks的受保护/经过身份验证的下载提供了初始支持,这是基础架构的工作,旨在允许Flathub或Linux上其他基于Flatpak的“应用程序商店”中 ...

  8. c数据结构线性表的总结

    1:连表的特点   1.链表是一种存储结构,用于存放线性表   2.连表的结点是根据需要调用动态分配内存函数进行分配的,因此链表可随需要伸长缩短      在腰存储的数据个数未知的情况下节省内存.   ...

  9. centos7一步一步搭建docker jenkins 及自定义访问路径重点讲解

    系统环境:centos7.7 (VMware中) 镜像image 版本:jenkins/jenkins (截止2020.01.10最新版) 参考文章:https://www.jianshu.com/p ...

  10. java面试题蚂蚁

    hashmap结构:什么对象能做为key hashtable,concurrentHashMap,hashtable比较 String,StringBuilder,StringBuffer 对象的深浅 ...