mysql主从复制-方案2
MySQL主从介绍
(两台机器数据同步)
主:-->binlog
从:-->relaylog
主上有一个log dump线程,用来和从的I/O线程传递binlog
从上有两个线程,其中I/O线程用来同步主的binlog并生成relaylog,另外一个SQL线程用来把relaylog里面的sql语句落地(执行)
主从的应用场景:
(1)做数据的备份,(主:作读写数据,从:实时同步,当 主 宕机时,从 也可以即使提供服务 )
(2)也是做备份。(客户从 从 这台机器上读取数据(但是不能再从上写),减轻主的压力)
准备工作
1.两台机器都装上mysql,并且都开启mysql的服务
======================== 配置主========================
主:192.1683.136.133 从:192.168.136.134
1.修改my.cnf,增加server-id=133和log_bin=canshenglinux1
log-bin=mysql-bimlog
binlog_format=mixed
server-id = 159
binlog-do-db = bim #指定数据库
binlog-do-db = bam
binlog-do-db = apphub
2.修改完配置文件后,启动或者重启mysqld服务
重启完后,我们可以发现在/data/mysql下生成了以在配置文件中定义log_bin=canshenglinux1为开头的文件
这些文件很重要,不然不能实现主从
3.把mysql库备份并恢复成cansheng库,作为测试数据(这个库就是用来做主从)
mysqldump -uroot -p123456 mysql > /tmp/mysql.sql
mysql -uroot -p123456 -e “create database cansheng”
mysql -uroot -p123456 cansheng < /tmp/mysql.sql
4.创建用作同步数据的用户
(1)先进入到mysql
(2)再创建同步数据的用户------注意修改参数
grant replication slave on *.* to 'repl'@slave_ip identified by '123456';
5.锁定一下表:
flush tables with read lock;
(为了同步前数据一致。)
show master status (查看一下position和file)
(退出mysql)
此时查看一下/data/mysql又是什么库
(一般同步不要同步mysql库,因为里面有很多用户名和密码)
6.备份一下所需要同步的库:
mysqldump -uroot -p123456 zrlog > /tmp/zrlog.sql
===================配置从=======================
1.查看my.cnf,配置server-id=134,要求和主不一样
2.修改完配置文件后,启动或者重启mysqld服务
/etc/init.d/mysqld restart
3.把主上需要同步的库复制过来:
scp 192.168.136.133:/tmp/*.sql /tmp/
临时创建alias,方便使用命令:
alias 'mysql=/usr/local/mysql/bin/mysql'
alias 'mysqldump=/usr/local/mysql/bin/mysqldump'
4.进入mysql
创建相对应的库:
create database cansheng;
create database zrlog;
create database mysql2;
5.数据恢复:
mysql -uroot cansheng < /tmp/mysql.sql
6.进入mysql
(1)stop slave;
(2)change master to master_host='192.168.136.133', master_user='repl', master_password='123456', master_log_file='canshenglinux1.000002', master_log_pos=646207;
(3)start slave;
(4)判定主从是否配置成功
show slave status\G
这样是表示不成功配置成功的要出现两个yes才成功。
不成功的因素:
(1)防火墙 systemctl stop firewalld
(2)selinux -->关闭 sentenforce 0
(3)用户名是否正确
{而我的因素是在配置主的时候指定用户名和密码错误了,从头来了一次}
7.回到主,进到mysql解除table(表)的锁定
unlock tables;
至此完成主从配置:
===========测试主从同步=====================
(只需要在主或者从,其中一个配置就可以了。这些参数默认是没有配置的,没有手动配置,那默认是同步所有的库)
在从上配置尽量使用最后两个,可以避免在忽略某个库或者表时,当级联查询的时候避免出现数据丢失,不该忽略的也忽略了!!
测试主从是否成功,是否同步!
1.两台机器都进到mysql下,进到测试的数据库:cansheng2
此时清空主上的comment表;看看从上的comment表数据是否也清空,从而同步。
truncate table comment;
删除表测试:
我们不能再 从 这台机器上执行mysql操作,不然这时我们的主从就断开。
(因为此时我们的position已经改变)
如果此时我们的主从断开了,应该重新执行
(1)stop slave;
(2)change master to master_host='192.168.136.133', master_user='repl', master_password='123456', master_log_fil_log_file='canshenglinux1.000002', master_log_pos=646207;
(3)start slave;
(4)判定主从是否配置成功
show slave status\G
这样是表示不成功配置成功的要出现两个yes才成功。
mysql主从复制-方案2的更多相关文章
- mysql主从复制-方案1
mysql主机master 1. 编辑mysql配置文件my.cnf server_id = 1 #server_id服务器唯一标识 log_bin = mys ...
- MySQL主从复制中常见的3个错误及填坑方案
一.问题描述 主从复制错误一直是MySQL DBA一直填不完的坑,如鲠在喉,也有人说mysql主从复制不稳定云云,其实MySQL复制比我们想象中要坚强得多,而绝大部分DBA却认为只要跳过错误继续复制就 ...
- 分布式数据存储 - MySQL主从复制高可用方案
前面几篇文章说道MySQL数据库的高可用方案主从复制.主从复制的延迟产生原因.延迟检测及延迟解决方案(并未从根本上解决),这种主从复制方案保证数据的冗余的同时可以做读写分离来分担系统压力但是并非是高可 ...
- 马老师 生产环境mysql主从复制、架构优化方案
Binlog日志(主服务器) => 中继日志(从服务器 运行一遍,保持一致).从服务器是否要二进制日志取决于架构设计.如果二进制保存足够稳定,从性能上来说,从服务器不需要二进制日志.默认情况下, ...
- 【大型网站技术实践】初级篇:搭建MySQL主从复制经典架构
一.业务发展驱动数据发展 随着网站业务的不断发展,用户量的不断增加,数据量成倍地增长,数据库的访问量也呈线性地增长.特别是在用户访问高峰期间,并发访问量突然增大,数据库的负载压力也会增大,如果架构方案 ...
- MySQL主从复制与读写分离
MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践 Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过.但在实际的生产环境中, ...
- mysql学习(3)-linux下mysql主从复制
前言:为什么MySQL要做主从复制(读写分离)?通俗来讲,如果对数据库的读和写都在同一个数据库服务器中操作,业务系统性能会降低.为了提升业务系统性能,优化用户体验,可以通过做主从复制(读写分离)来减轻 ...
- mysql主从复制的一篇文章(转载)
管理mysql主从有2年多了,管理过200多组mysql主从,几乎涉及到各个版本的主从,本博文属于总结性的,有一部分是摘自网络,大部分是根据自己管理的心得和经验所写,整理了一下,分享给各位同行,希 ...
- mysql主从复制的一些东西的整理
最近给新上线的项目进行主从结构的搭建,因此整理些有用的东西出来,供作记录: 一.mysql主从复制的一般配置步骤: 1.准备两台数据库环境,或者单台多实例的环境,能够正常的启动和登陆. 2.配置my. ...
随机推荐
- Vue(二十)项目初始化步骤
提:需要安装 node.js / npm淘宝镜像 / webpack / vue-cli脚手架构建工具 1.创建项目 - vue init webpack framework https://gith ...
- FIlter(2)—案例
案例 demo2,login.jsp请求提交到hello.jsp,该页面中有两个text,分别使用两个Filter链拦截,验证账号密码是否正确,把账号密码设置到Filter初始化参数中 login.j ...
- delphi 响应鼠标进入控件消息
procedure MSGEnter(var msg:TMessage);message CM_MOUSEENTER;//响应进入的消息 procedure MSGLeave(var msg: TMe ...
- Oracle创建Database Link
一菜单方式: 打开plsql,点击[File]-[New]-[Database link],打开如下图所示窗口 填好各项信息后,点击[Apply]即可完成Database Link的创建. 二SQL方 ...
- APP中的图片如何长按可以下载并保存图片到相册出错处理
https://www.cnblogs.com/interdrp/p/9302164.html 接上文. 如果用户在保存图片过程中,不小心拒绝了相册的访问权限
- Jsoup的简易使用示例
http://www.open-open.com/jsoup/parsing-a-document.htm 测试用网页 <!doctype html> <!-- http://jwc ...
- 微软 microsoft calendar control 11.0 控件下载
微软 microsoft calendar control 11.0 控件下载 https://files.cnblogs.com/files/mqingqing123/csccal2.rar
- CMD批处理循环,太强大了(转)
终极dos批处理循环命令详解格式:FOR [参数] %%变量名 IN (相关文件或命令) DO 执行的命令 作用:对一个或一组文件,字符串或命令结果中的每一个对象执行特定命令,达到我们想要的结果. ...
- 单片机成长之路(51基础篇) - 008 C51 的标示符和关键字
标准 C 语言定义了 32 个关键字,如下表(ANSI C的32个关键字): C51在此基础上针对单片机功能进行了扩展,详情见下表(C51编译器扩充关键字): C 51的数据类型 51单片机使用的C语 ...
- 构建自己的 Smart Life 私有云(一)-> 破解涂鸦智能插座
博客搬迁至https://blog.wangjiegulu.com RSS订阅:https://blog.wangjiegulu.com/feed.xml 原文链接:https://blog.wang ...