MySQL主从同步简单介绍&配置
介绍:
现在mysql集群基本上都是使用一主多从方式,实现读写分离(主库写、从库读)、负载均衡、数据备份,以前只是使用从未配置过,今天简单配置一下!
mysql主从复制是通过binary log日志实现,具体实现流程如下:
1.主库开启binlog日志,且主库将所有操作语句记录到binlog中,并允许从库远程连接权限
2.从库开启I/O线程和SQL线程。I/O线程负责读取主库的binlog内容到relay log中;SQL线程负责从relay log中读取binlog内容并更新到从库中
下面是从网上找了一张经典的主从复制流程图:

注意事项:
mysql主从库版本尽量保持一致,如不一致主库版本要低于从库版本
mysql主从库尽量分布于不同服务器上,主库必须开启bin log日志
主从库初始数据保持一致
主库配置:
1.设置bin log和server id
vim /etc/my.cnf

2.启动服务
/usr/local/mysql/support-files/mysql.server start
报错:The server quit without updating PID file (/usr/local/mysql/data/ubuntu1.pid)
设置权限:chown -R mysql:mysql /var/log/mysql/ chmod -R 755 /usr/local/mysql/data/
3.创建从库同步数据的账号
mysql -u root -p

3.获取主服务器二进制信息

从库配置:
1.设置server id,此server-id要小于主库server-id
vim /etc/my.cnf

从库bin log日志可不开启,视情况而定,用于测试先不开启
2.启动服务
/usr/local/mysql/support-files/mysql.server start
3.设置连接连接到主库的信息

4.开启同步
start slave;
show slave status \G;

正常情况下这两项都应该是Yes才对,奔溃了,o(╥﹏╥)o ,排错吧。。。
1)在my.cnf文件中打开错误日志:vim /etc/my.cnf

2)查看错误日志:cat /var/log/mysqld.log,看到有这条内容
[Warning] Neither --relay-log nor --relay-log-index were used; so replication may break when this MySQL server acts as a slave and has his hostname changed!! Please use '--relay-log=ubuntu2-relay-bin' to avoid this problem
然后在配置文件中增加relay-log选项,vim /etc/my.cnf

3)重启myql依然是No,绞尽脑汁,想起来从库服务器环境是从主库复制过来的,主机名和主库主机名都是ubuntu1,好吧,修改主机名:vim /etc/hostname,改成ubuntu2
4)重启主机,启动mysql,执行start slave;直接报错,从库同步启动失败了,然后网上查了需要reset slave再start slave,好吧,执行reset slave,在执行start slave,依然是No,继续崩溃o(╥﹏╥)o
5)继续看错误日志,不看日志凭脑子想是想不出来的,从上往下一行行看,终于看到个ERROR

查百度,原来是auto.cnf里的server-uuid和主库重复,原因还是从库服务器环境直接从主库复制的,文件在/usr/local/mysql/data/下,直接将auto.cnf文件删除,mysql启动时会检查,没有的话会自动创建。
6)重启mysql,继续查看从库同步状态

终于Yes了, O(∩_∩)O哈哈~
测试:
1.主库创建test库,test表,插入数据;

2.从库查看是否有test库,test表,表中是否有相应数据

同步正常!!!完成~
MySQL主从同步简单介绍&配置的更多相关文章
- mysql 主从 同步原理及配置
一.在mssql 里头实现同步镜像,只能主库用而镜像库不能同时用,而mysql 主从同步可以实现 数据库的读写分离,主库负责 update insert delete ,从库负责select 这样一来 ...
- 聊聊Mysql主从同步读写分离配置实现
Hi,各位热爱技术的小伙伴您们好,好久没有写点东西了,今天写点关于mysql主从同步配置的操作日志同大家一起分享.最近自己在全新搭建一个mysql主从同步读写分离数据库简单集群,我讲实际操作步骤整理分 ...
- MySQL主从同步、读写分离配置步骤、问题解决笔记
MySQL主从同步.读写分离配置步骤.问题解决笔记 根据要求配置MySQL主从备份.读写分离,结合网上的文档,对搭建的步骤和出现的问题以及解决的过程做了如下笔记: 现在使用的两台服务器已经 ...
- Mysql主从同步配置方案(Centos7)
最近在做项目高可用时,需要使用数据同步.由于只有双节点,且采用主主同步可能存在循环同步的风险,故综合考虑采用Mysql主从同步(Master-Slave同步). 可能没有接触过Mysql数据同步时,可 ...
- Linux下MySQL主从同步配置
Centos6.5 MySQL主从同步 MySQL版本5.6.25 主服务器:centos6.5 IP:192.168.1.101 从服务器:centos6.5 IP:192.168.1.102 一. ...
- mysql主从同步配置(windows环境)
mysql主从同步配置(mysql5.5,windows环境) A主机(作为主服务器)环境:windows8.mysql5.5 ip:192.168.1.100(自己填) B主机(作为从服务器,由 ...
- Docker Mysql主从同步配置搭建
Docker Mysql主从同步配置搭建 建立目录 在虚拟机中建立目录,例如路径/home/mysql/master/data,目录结构如下: Linux中 新建文件夹命令:mkdir 文件夹名 返回 ...
- Mysql主从同步(1) - 概念和原理介绍 以及 主从/主主模式 部署记录
Mysql复制概念Mysql内建的复制功能是构建大型高性能应用程序的基础, 将Mysql数据分布到多个系统上,这种分布机制是通过将Mysql某一台主机数据复制到其它主机(slaves)上,并重新执行一 ...
- Mysql主从同步在线实施步骤【适合大数据库从库配置】
Mysql主从同步在线实施步骤[适合大数据库从库配置] MySQL的主从搭建大家有很多种方式,传统的mysqldump方式是很多人的选择之一,但比较适合在新实例中实施,对于较大的数据库则存在停机等不可 ...
随机推荐
- PV与UV你的网站也可以
个人博客网站分析 阅读前面的文章,有助于理解本文. 1.是时候来一个个人博客网站了 2.什么?你还没有自己的域名? 3.你的个人博客网站该上线了! 为什么需要流量分析? 各位小伙伴,请看下图,你们发现 ...
- Idea风格的快捷键
在使用IntelliJ IDEA时,是可以定义快捷键风格的:File --> Setting --> Keymap 里进行选择,因为我以前用Eclipse开发,后来换成Idea有2年的时间 ...
- 一个Java方法能使用多少个参数?
我最近给我fork的项目QuickTheories增加了一个接口: @FunctionalInterface public interface QuadFunction<A, B, C, D, ...
- 【AHOI2009】同类分布 题解(数位DP)
题目大意:求$[l,r]$中各位数之和能被该数整除的数的个数.$0\leq l\leq r\leq 10^{18}$. ------------------------ 显然数位DP. 搜索时记录$p ...
- Python面向对象编程扑克牌发牌程序,另含大量Python代码!
1. 题目 编写程序, 4名牌手打牌,计算机随机将52张牌(不含大小鬼)发给4名牌手,在屏幕上显示每位牌手的牌. 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不 ...
- MySQL回顾
一. 对数据库的操作 1. 创建一个库 create database 库名 create database 库名 character set 编码 创建带有编码的 查看编码: 2. 删除一个库 dr ...
- java web Session会话技术(原理图解+功能+与Cookie的区别+基本使用)
java web Session会话技术(原理图解+功能+与Cookie的区别+基本使用) 这是我关于会话技术的第二篇文章,对 Cookie有不了解的兄弟可以点击下方的Cookie跳转 Cookie链 ...
- 漫画 | 到底是什么让IT人如此苦逼???
写在最后 漫画是有点夸张,不过多少还是有点现实开发过程的影子! 老板很乐观,核心就是三个月上线,至于怎么办那是底下人的事. 产品很无奈,心里盘算着,万万不可在他这一环节耽误了进度,时间这么赶,先出个壳 ...
- mysql基础测试题
mysql基础测试题:https://www.cnblogs.com/wupeiqi/articles/5729934.html 如何创建表? 就这样类推?如何提取我们想要的元素呢? 综合提取呢?
- 拼接html不显示layui进度条解决方法
最新有个新需求,要异步拼接html并渲染数据,并且我这边是用layui的flow.load(流加载)渲染多个进度条.按官网给出的 element.progress('demo', n+'%'); 就是 ...