mysql 半同步 主主_MySQL主从,半同步,主主复制

MySQL Replication

我们知道,MySQL数据库的二进制日志记录着每一个明确或者潜在可能导致数据库发生改变的sql语句,因此我们可以基于二进制日志来实现mysql的主从一致。而我们在此提到的mysql的复制的简单过程就是:

首先mysql的主服务器(Master)上有一个叫dump的线程,负责将二进制日志读取进来,发送给slave.

而后mysql的从服务器(Slave)上有个I/O线程 ,负责接收Master传送过来的二进制日志数据,并且将此写入到本地的中继日志中,此时会有一个SQL线程,每次中继日志读取一句sql语句, 并在从Slave上应用,以实现主从服务器的一致。

首先需要提供2台mysql版本一致的mysql服务器,在此选用的mysql-5.5.20,平台为RedHat5.4

一、安装mysql-5.5.20

# groupadd -r mysql

# useradd -g mysql -r -s /sbin/nologin –M mysql

//新建用户以安全方式运行进程

# chown -R mysql:mysql /mydata/data

# tar xf mysql-5.5.20-linux2.6-i686.tar.gz -C /usr/local

//将下载好的mysql软件解压安装

# cd /usr/local/

# ln -sv mysql-5.5.20-linux2.6-i686  mysql

# cd mysql

# chown -R mysql:mysql  .

# scripts/mysql_install_db --user=mysql --datadir=/mydata/mysql

//初始化mysql,此处使用的/mydata/mysql存放mysql的数据,建议将/mydata挂载至一个逻辑卷,方便数据备份

# chown -R root  .

# cd /usr/local/mysql

# cp support-files/my-large.cnf  /etc/my.cnf

#vim /etc/my.cnf

thread_concurrency = 2        //修改此项,我们的cpu为双核的

datadir = /mydata/data        //添加此项,指定数据存放的目录

# cp support-files/mysql.server  /etc/rc.d/init.d/mysqld

# chkconfig --add mysqld

# chkconfig mysqld on

二:为使用mysql的安装符合系统使用规范,并将其开发组件导出给系统使用,需如下操作

#vim/etc/man.config            //输出mysql的man手册至man命令的查找路径

MANPATH  /usr/local/mysql/man     //添加此行

# ln -sv /usr/local/mysql/include  /usr/include/mysql

//输出mysql的头文件至系统头文件路径/usr/include

# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf

//输出mysql的库文件给系统库查找路径

# ldconfig            //让系统重新载入系统库

#vim /etc/profile          //修改PATH环境变量,让系统可以直接使用mysql的相关命令

PATH=$PATH:/usr/local/mysql/bin      //添加此行

三:实现主从复制

master ip:192.168.1.10

slave ip:192.168.1.11

On Master :(在主服务器的操作)

#vim /etc/my.cnf    确保证如下选项:

server-id = 1   //主服务器的身份标识

log-bin=mysql-bin  //开启二进制日志

sync_binlog=1       //事务提交立即写入到二进制日志

innodb_flush_logs_at_trx_commit=1 //事务提交之时,立即将二进制日志写入磁盘

#mysql –uroot –p

mysql> grant replication client,replication slave on *.* to cclo@’192.168.1.%’ identified by ‘12345’;

//此处创建一个用户名为cclo,密码为12345的用户,其权限为client和replication

mysql> flush privileges;

mysql> show grants for cclo@’192.168.1.%’; //验证此用户的权限

On Slave:(在从服务器的操作)

#vim /etc/my.cnf

[mysqld]

server-id       = 11    // 数值只要保证和Master不同即可

#log-bin=mysql-bin     //slave的二进制日志一般用不到,暂时关闭

relay-log=relay-bin    //开启中继日志

relay-log-index=relay-bin.index

read_only=1            //此项为阻止普通用户写从服务器

skip_slave_start=1

//mysql服务关闭后,当服务开启时跳过自动启动主从复制(如需自动启动,此项略过)

#service mysqld restart

#mysql –uroot –p

mysql> show master status;

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

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |

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

| MySQL-bin.000003 |      374 |              |                  |

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

1 row in set (0.00 sec)

mysql> change master to master_host='192.168.1.10',master_user='cclo',master_password='12345',master_log_file='mysql-bin.000003',master_log_pos=374;

//指定Master的ip及复制的用户及二进制日志的位置

mysq> start slave;                //启动主从复制

mysql > show slave status;       //查询从服务器的工作属性,确保以下2项

Slave_IO_Runing: Yes

 Slave_SQL_Runing: Yes        //确保此2项为Yes的状态0b1331709591d260c1c78e86d0c51c18.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/527012.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 数据队列_Java 数据结构 - 队列

Java 数据结构 - 队列我们今天要讲的数据结构是队列,比如 Java 线程池任务就是队列实现的。1. 什么是队列和栈一样,队列也是一种操作受限的线性结构。使用队列时,在一端插入元素,而在另一端删除元素。1.1 队列的主要特性队列中的数…

java+set+split_阿里资深工程师教你如何优化 Java 代码!

原标题:阿里资深工程师教你如何优化 Java 代码!作者 | 王超责编 | 伍杏玲明代王阳明先生在《传习录》谈为学之道时说:私欲日生,如地上尘,一日不扫,便又有一层。着实用功,便见道无终穷&#xff0…

myVariable是java标识符吗_java 标识符与变量

一、Java 标识符三要素1.标识符由字母、下划线(_)、美元符号($)或者字母组成。2.标识符应以字母、下划线(_)、美元符开头。3.标识符字符大小写敏感,长度无限制。标识符最重要的就是 见名知意并且不能与java关键字重名!二、Java 变量1.java变量是程序中最基本的单元。…

友盟统计java代码_SFAnalytics 分析友盟统计源码,反编译 SDK,还有部分没有 出来 android 259万源代码下载- www.pudn.com...

文件名称: SFAnalytics下载 收藏√ [5 4 3 2 1 ]开发工具: Java文件大小: 8023 KB上传时间: 2016-06-05下载次数: 0提 供 者: 花心大萝卜详细说明:分析友盟统计源码,反编译友盟统计SDK,还有部分没有反编译出来-Analysis their Allies s…

java mvc数据库 封装_关于SpringMvc参数封装_JavaEE框架(Maven+SpringMvc+Spring+MyBatis)全程实战教程_Java视频-51CTO学院...

SpringMVCSpring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。SpringSpring是一个开源框架,Spring是于2003 年兴起的…

20199计算机二级java答案_计算机二级Java练习题-2019.9

是不是急于做大量的计算机等级考试题库,却因测试结果不尽人意而心慌不安?不要急!考无忧小编为大家准备了一些二级Java练习题,希望能帮助大家高效复习,轻松通关!1.下列叙述中正确的是()。A.栈是“先进先出”…

平行志愿遵循分数优先php,2020平行志愿的录取规则是什么有哪些优势

摘要: 2020平行志愿的录取规则是什么有哪些优势为你介绍平行志愿的投档原则仍为“分数优先,遵循志愿”,而传统的顺序志愿则是根据“志愿优先,按分排序”。 2020平行志愿录取规则 平行志愿的投档原则仍为“分数优先,遵循…

Oracle quartile函数,Oracle分析函数六——数据分布函数及报表函数

Oracle 分析函数——数据分布函数及报表 函数CUME_DIST功能描述:计算一行在组中的相对位置, CUME_DIST 总是返回大于 0 、小于或等于 1 的数,该数表示该行在 N 行中的位置。例如,在一个 3 行的组中,返回的累计分布值为…

redhat配置oracle yum源,Redhat5和6 YUM源配置的区别

一、概述随着各个软件版本的不断升级,我们需要掌握的软件特性也越来越多,技术的不断更新也促进了我们脑细胞的循环。 今天在配置RedHat6.3的yum源时也出现了一个有趣的事情,下面请听俺道来。二、问题处理问题源于哥们处,自己就搭建…

linux7 修改服务启动项目命令,centos7服务部署flask项目

8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?centos7语言配置问题登录服务器,注意观察是否出现以下警告提示warning: setlocale: LC_CTYPE: cannot change locale (en_US.utf8): No such file or d…

虚拟机linux中怎样打开qt,虚拟机中在Centos 4.7中安装qt-x11-opensource-4.4.3

本人最近学习qt,把qt安装在了虚拟机下,用的是免费的Linux,qt是Linux下开发c不错的软件,经过了2天的奋战,终于把qt安装在了自己的机器上面,现在把安装步骤告诉大家,希望对你们安装错误的同志们有…

linux top p 乱码,将Linux top命令输入到指定文件时的乱码问题

根据需求,项目需要读取linux系统环境参数,所以需要将top命令的输出结果输入到文件中。用重定向命令如下:topresult.txt。用vi打开文件:viresult.txt。显示的根据需求,项目需要读取linux系统环境参数,所以需…

win10子linux如何重置密码,Win10如何使用Windows PowerShell命令重置本地账户密码

在win10系统中,都自带有本地账户,为了安全也会给本地商户设置密码,不过使用一段时间之后,想要重置本地账户密码,但是很多用户并不知道要如何操作,其实我们可以使用Windows PowerShell命令方式来实现&#x…

linux wine 性能,Wine 1.9.16 发布,改善 GDI 性能

Wine 1.9.16 最近发布下载,配备了大量的新功能,改进和错误修正。显着的更新包括在MacOS下能更好与64位二进制兼容性,提升JavaScript性能,对Direct3D的改进,在Direct3D更多的着色器指令,提升GDI性能&#xf…

二级考试c语言中 星号与字母 题型总结,2017年计算机二级考试C语言知识点归纳...

2017年计算机二级考试C语言知识点归纳计算机二级考试是全国计算机等级考试(National Computer Rank Examination,简称NCRE)四个等级中的一个等级,考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能。下面是2017年计算机二级考试…

c#语言输出字符串长度,C#获取字符串长度(string.Length)

字符串实际上是由多个字符组成的,字符串中的第一个字符使用字符串[0]即可得。[0]中的0称为下标。获取字符串中的第一个字符使用的下标是0,则字符串中最后一个字符的下标是字符串的长度减1。使用C#语言如果要获取字符串的长度,使用Length属性即可&#xf…

易语言取c盘文件夹中的文件被占用,win7系统怎么快速找出文件被什么进程占用|win7解除文件占用的方法...

‍‍很多时候我们想删除文件或文件夹的时候,会出现文件正在使用的提示导致文件无法删除,如果知道是什么程序在使用这个文件好,但多数时候我们并不知道是被什么程序占用,那么在win7系统怎么快速找出文件被什么进程占用呢&#xff1…

菜鸟linux的sed,Linux sed命令菜鸟入门

本文首先以一个简单的sed命令应用示例,说明如何使用sed命令进行文本处理,接着从sed命令的用法、工作原理、行地址模式以及sed命令支持的脚本命令详细介绍sed命令的用法。一个完整的sed命令使用简单示例现在有一个待处理文件test.txt,文件中包…

三星s10能升级android11,三星 S10+手机已在测试 Android 11 系统

IT之家2月25日消息 谷歌本月初发布了首个Android 11开发者预览版,首先面向Pixel手机,不过看起来三星已经在Galaxy S10 手机开始测试最新系统。IT之家从Geekbench数据库中获知,上面出现了运行Android R,型号为SM-G975F的三星Galaxy…

android 5. 蓝牙 mesh,蓝牙mesh组网

智能照明是智能家居的一个重要入口,传统照明方案存在布线复杂,控制单一等问题。搭配飞易通MESH组网模组替换传统方案,无需额外的布线。提供更智能的控制,更极致的用户体验。一、MESH应用领域:蓝牙5.0MESH是由SIG蓝牙联盟发布建立的…