mysql 三主_MySQL主主复制3

一、创建并授权用户

在每一台(主)服务器上创建一个用户,并为之授权,使它们可以互相访问彼此的数据库

在Server-1上:

创建一个充许Server-2来访问的用户server2,密码为:server2

mysql> GRANT REPLICATION SLAVE ON *.*

> TO ‘server2’@’192.168.0.2’ IDENTIFIED BY ‘server2’;

在Server-2上:

创建一个充许Server-1来访问的用户server1,密码为:server1

mysql> GRANT REPLICATION SLAVE ON *.*

> TO ‘server1’@’192.168.0.1’ IDENTIFIED BY ‘server1’;

编者注:最好整成同一个用户和同一个密码!!

二、修改MySQL主配置文件

在MySQL的主配置文件中修改/添加如下内容:

Server-1上:

[mysqld]

server-id = 10

log-bin = mysql-bin

replicate-do-db = mydb

auto-increment-increment = 2

auto-increment-offset=1

# service mysqld restart

Server-2上:

[mysqld]

server-id = 20

log-bin = mysql-bin

replicate-do-db = mydb

auto-increment-increment = 2

auto-increment-offset =2

# service mysqld restart

注:二者只有server-id不同和 auto-increment- offset不同

auto-increment-offset是用来设定数据库中自动增长的起点的,因为这两台服务器都设定了同一个自动增长值2,所以它们的起点必须得不同,这样才能避免两台服务器数据同步时出现主键冲突

replicate-do-db 指定同步的数据库,我们只在两台服务器间同步mydb数据库

另:auto-increment-increment的值应设为整个结构中服务器的总数,本案例用到两台服务器,所以值设为2

三、复制其中一台服务器的数据库到另外一台服务器

这一步中谁做为源数据不重要,重要的是在正式的复制(Replication)开始之前两台服务都能准确的反应彼此的数据。

我们可以先从源数据库中导出数据到备份文件,这里我们使用mysqldump命令

以Server-1上数据库为源数据库

备份数据前先锁表,保证数据一致性

mysql> FLUSH TABLES WITH READ LOCK;

> SHOW MASTER STATUS;

+—————–+————+—————-+——————–+

|File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+—————–+————+—————-+——————–+

|mysql-bin.000006 | 213 | | |

+—————–+————+—————-+——————–+

该结果显示,源服务器现在处于6号二进制文件的213位置

开始备份数据库

# mysqldump –user=root -p mydb > /tmp/mydb.sql

备份完毕,现在可以解锁数据库表

mysql> UNLOCK TABLES;

Query OK, 0 rows affected (0.00 sec)

四、将备份数据导入Server-2

先在Server-2上创建一个与mydb同名的空数据库

# mysql

> CREATE DATABASE mydb;

>\q

# scp 192.168.0.1:/tmp/mydb.sql ./

# mysql -uroot -p mydb < /tmp/mydb.sql

此时,我们需要注意当前服务器的二进制日志的位置

# mysql

> LOCK TALBES WITH READ LOCK;

> SHOW MASTER STATUS;

+—————–+————+—————-+——————–+

|File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+—————–+————+—————-+——————–+

|mysql-bin.000001 | 106 | | |

+—————–+————+—————-+——————–+

1 row in set (0.00 sec)

> UNLOCK TABLES;

五、互相通告二进制日志位置

在Server-1上:

# mysql

> CHANGE MASTER TO

> MASTER_HOST=’192.168.0.2′,

> MASTER_USER=’server1′, //???

> MASTER_PASSWORD=’server1′,

> MASTER_LOG_FILE=’mysql-bin.000001′,

> MASTER_LOG_POS=106;

在Server-2上:

# mysql

> CHANGE MASTER TO

> MASTER_HOST=’192.168.0.1′,

> MASTER_USER=’server2′,

> MASTER_PASSWORD=’server2′,

> MASTER_LOG_FILE=’mysql-bin.000006′,

> MASTER_LOG_POS=213;

六、启动复制(Replication)功能

在两台主机上分别执行

# mysql

> START SLAVE;

配置到此完成!

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

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

相关文章

0727日志

为什么80%的码农都做不了架构师&#xff1f;>>> c端线上地址 http://x.diandanme.com/fe/?d183#/ 什么时候来需求&#xff0c;我做好准备了吗&#xff1f; eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC94LmRpYW5kYW5tZS5jb21cL2FwaVwvd2VjaGF0XC…

Python基础学习总结__Day3

一、集合 1&#xff0e;特性&#xff1a;无序且天生去重&#xff0c;格式为{} 2&#xff0e;作用&#xff1a; &#xff08;1&#xff09;去重 &#xff08;2&#xff09;关系测试 3&#xff0e;可调用函数&#xff08;常见对列表操作&#xff09; &#xff08;1&#xff09;取…

day8网络编程,面向对象1

一.只是回顾 1.导入模块的顺序,首先从当前目录下找,再从环境变量里面找,使用"sys.path.insert(0,需要导入的环境变量)"加入需要导入文件的环境变量; 2.如果不同项目中有相同的文件,需要导入文件,需要将非当前项目中右键添加的环境变量取消,将当前的环境变量添加上去;…

mysql练手数据_MySQL新手练习

操作插入数据 的语法 :INSERT INTO 表名称 VALUES(值1&#xff0c;值2&#xff0c;......);修改数据 的语法&#xff1a;UPDATE 表名称 SET 字段名1 值1, 字段名2值2,...... 【WHERE 条件】;删除数据 的语法&#xff1a;delete from 表名 【[where 条件】;delete 表1&#xff…

spring security config

spring secuirty 相关的配置解析 permitAll()与web.ignoring() ingore是完全绕过了spring security的所有filter&#xff0c;相当于不走spring securitypermitall没有绕过spring security&#xff0c;其中包含了登录的以及匿名的。转载于:https://www.cnblogs.com/MND1024/p/10…

TSPITR方式数据库找回误操作丢失的数据

一、TSPITR介绍 TSPITR全称是Tablespace Point In Time Recover&#xff08;表空间基于时间点的不完全恢复&#xff09;。原理是通过辅助实例基于时间还原出误操作前的数据通过DataPump将数据导入到目标数据库。TSPITR的最大好处是不需要生产库停机。 二、适用场景 表空间时点恢…

乌班图系统的MySQL_乌班图系统mysql主从备份

一&#xff0e;准备系统&#xff1a;ubuntu 14.04.2 LTSMysql: server version 5.5.43两台主机可以互相通信&#xff1a;192.168.1.11 master192.168.1.12 slave二&#xff0e;步骤Master部分&#xff1a;1.创建备份帐号&#xff1a;slave密码&#xff1a;slaveGrant repl…

mysql table alter_MySQL-ALTER TABLE命令学习[20180503]

学习ALTER TABLE删除、添加和修改字段和类型CREATE TABLE alter_tab01(id int,col01 char(20))enginInnoDB default charsetutf8;删除字段ALTER TABLE DROP ;mysql> alter table alter_tab01 dropcol01;Query OK, 0 rows affected (0.01sec)Records: 0 Duplicates: 0 Warnin…

时间戳转换

13 位时间戳转换 1 通过java&#xff0c;如下&#xff1a; public static String timeStamp2Date(String time) {Long timeLong Long.parseLong(time);SimpleDateFormat sdf new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//要转换的时间格式Date date;try {date …

React.Component(V16.8.6)

组件的生命周期 挂载 当组件实例被创建并插入 DOM 中时&#xff0c;其生命周期调用顺序如下&#xff1a; constructor()static getDerivedStateFromProps()render()componentDidMount()componentWillMount() 之后将废弃 更新 当组件的 props 或 state 发生变化时会触发更新。组…

mysql date类型加一个月jdbc_JDBC操作数据库Date类型数据

JDBC操作数据库Date类型数据由于java原生的工具类java.util提供的Date对象与JDBC提供的Date对象并不相同分别是java.util.Date和java.sql.Datejava.sql.Date是java.util.Date的子类所以在进行增删改查部分操作中&#xff0c;不能直接将原生工具类的Date对象直接运用到JDBC中可以…

使用深度学习TensorFlow框架进行图片识别

Apsara Clouder大数据专项技能认证&#xff1a;使用深度学习TensorFlow框架进行图片识别本认证系统的介绍了深度学习的一些基础知识&#xff0c;以及Tensorflow的工作原理。通过阿里云机器学习PAI基于经典的CIFAR-10数据集实现图片识别。学员可以通过本实验&#xff0c;对深度学…

删除开发分支 新建另一个开发分支

//查看状态 git status //查看分支 会有一个分支git branch -d wlh-dev git branch //删除wlh-dev 分支 git branch -d wlh-dev //再次查看分支 git branch //拉代码 git pull //查看状态 git status //新分支创建的同时切换分支 git checkout -b wlh-dev1222 //…

ES语法及-IK分词器

{"query": {"query_string": {"default_field": "title",//全文搜索"query": "器大"}} } "id":1, "title":"Elasticsearch是一个基于Lucene的搜索服务器", "content":&q…

Git仓库配置

安装git依赖包 yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker 源码安装 wget https://github.com/git/git/archive/v2.7.4.zip unzip v2.7.4.zip cd git-2.7.4 make prefix/usr/local/git all make prefix/usr/l…

python3 tkinter电子书_Python3 Tkinter-Text

1.创建from tkinter import *rootTk()tText(root)t.pack()root.mainloop()2.添加文本from tkinter import *rootTk()tText(root)t.insert(1.0,0123456789)t.insert(1.0,ABDCEFGHIJ)t.pack()root.mainloop()3.设置添加位置from tkinter import *rootTk()tText(root)for i in ran…

问题 1: 区间交集

问题 1: 区间交集 题目描述 输入 5 个正整数 a1、b1、a2、b2 和 c&#xff0c;如果 c 在区间[a1, b1]内 并且 c 也在区间[a2, b2]内&#xff0c;输出”in”&#xff0c;否则输出”out”。 注意&#xff1a;方括号表示的是闭区间&#xff0c;[a, b]是包括 a 和 b 的。 输入 一行…

python倒三角形粉色填充笔的形状海龟_Python001-Turtle(海龟绘图)详解

一、简介Turtle库是Python语言中的一个绘制图像的函数库。详细文档&#xff1a; https://docs.python.org/zh-cn/3/library/turtle.html二、使用1.画布设置(canvas)(1)设置画布大小turtle.screensize(canvwidthNone, canvheightNone, bgNone)参数分别为画布的宽(单位像素), 高,…

Python 提取数据库(Postgresql)并邮件发送

刚入门python&#xff0c;发现确实是一个不错的语言。业务部门要求将将某一个数据库中的表&#xff0c;定期发送到相关部门人员邮箱。其实整个业务需求很简单&#xff0c;实现起来也不难。但是由于刚入门python&#xff0c;所以还是借鉴了不上网上的内容&#xff0c;也得到了许…

4.Python的不堪一击到初学乍练(列表,元组)

Python(列表,元组) 一.列表 列表初识 列表是python的基础数据类型之一,其他编程语言也有类似的数据类型. 比如JS中的数组, java中的数组等等,它是以[ ]括起来, 每个元素用","隔开并且可以存放各种数据类型.列表相比于字符串,不仅可以存放不同的数据类型,并且可以存放…