配置mysql为主主复制步骤
mysql版本:mysql-5.6.24-solaris10-sparc-64bit.tar
操作系统:solaris 11g u10
操作用户:使用非root进行操作安装,a路服务器ip地址为192.168.1.1 b路ip地址为192.168.1.2(应改为实际ip地址)
1,安装mysql数据库
1) 在预定义目录下创建mysql数据库目录(我是用的目录为/usr/db/)
|
$mkdir mysql |
2) 在mysql目录下创建data目录
|
$mkdir –p mysql_3306/data |
3) 在mysql目录下解压mysql文件
|
$tar –xvf mysql-5.6.24-solaris10-sparc-64bit.tar $mv mysql-5.6.24-solaris10-sparc-64bit mysql |
4) 初始化data目录
|
$./mysql/scripts/mysql_install_db --basedir=/usr/sjes/mysql/mysql --datadir=/usr/sjes/mysql/mysql_3306/data/ --user=mor |
5) 配置数据库启动文件
|
$vi /mysql/my.cnf |
A路mysql配置内容下:(user 改为对应实际运行用户)
|
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES socket=/tmp/mysql.sock pid-file=/usr/db/mysql_3306/mysql.pid datadir=/usr/db/mysql_3306/data basedir=/usr/db/mysql/ user=test character-set-server=utf8 wait_timeout=31536000 interactive_timeout=31536000 server_id=1 |
B路mysql配置内容如下:
|
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES socket=/tmp/mysql.sock pid-file=/usr/db/mysql_3306/mysql.pid datadir=/usr/db/mysql_3306/data basedir=/usr/db/mysql/ user=test character-set-server=utf8 wait_timeout=31536000 interactive_timeout=31536000 server_id=2 |
6) 启动mysql数据库,并更改root默认密码
|
$ ./bin/mysqld_safe --defaults-file=/usr/db/mysql/my.cnf --user=test 2>&1 & $mysql –u root –p(回车进入,不用输入密码) mysql>use mysql; mysql> update user set password=password('123456') where user='root'; mysql>flush privileges; |
7) 在两路个数据库中创建数据库实例(分别在两个数据库中创建要进行同步的数据库)
|
mysql> create database test1 default character set 'utf8'; mysql> create database test2 default character set 'utf8'; mysql> create database test3 default character set 'utf8'; |
以上步骤为创建 a/b两路数据库的具体过程,下面具体配置主主复制步骤:
2 配置主主主主复制
1) 停止mysql数据库
|
$./bin/mysqladmin shutdown –p 3306 –S /tmp/mysql.sock |
2) 分别编辑a,b两路的mysql的配置文件
|
$vi my.cnf |
A路my.cnf配置文件新增内容如下:(auto-increment-increment = 2 auto-increment-offset = 1 为防止在两路数据库添加数据造成自增字段的冲突,一般情况下只在一路进行添加、更新操作,另一路仅做作为读)
|
##################replication config####################### log-bin = mysql-bin auto-increment-increment = 2 auto-increment-offset = 1 replicate-do-db = test1 replicate-do-db = test2 replicate-do-db = test3 binlog-ignore-db = mysql binlog-ignore-db = information_schema slave-skip-errors=all log-slave-updates symbolic-links=0 skip-name-resolve |
B路my.cnf配置文件新增内容如下:
|
##################replication config####################### log-bin = mysql-bin auto-increment-increment = 2 auto-increment-offset = 2 replicate-do-db = test1 replicate-do-db = test2 replicate-do-db = test3 binlog-ignore-db = mysql binlog-ignore-db = information_schema slave-skip-errors=all log-slave-updates symbolic-links=0 skip-name-resolve |
3) 启动mysql数据库
|
$./bin/mysqld_safe --defaults-file=/usr/db/mysql/my.cnf --user=test 2>&1 & |
4) 进入数据库并相互授权
A路执行如下命令
|
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.2' IDENTIFIED BY ‘123456’; mysql>flush privileges; |
B路执行如下命令
|
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.1' IDENTIFIED BY ‘123456’; mysql>flush privileges; |
5) 查看授权是否成功
|
mysql> show grants for root@'192.168.1.1'; |
6) 互告bin-log信息
A路执行如下命令:
|
mysql> show master status; |

B路执行如下命令:
|
mysql> show master status; |

A路执行如下命令
|
mysql> change master to master_host='192.168.1.2',master_user='root',master_password='123456',master_log_file='mysql-bin.000002',master_log_pos=2626; |
B路执行如下命令
|
mysql> change master to master_host='192.168.1.1',master_user='root',master_password='123456',master_log_file='mysql-bin.000002',master_log_pos=3625; |
7) 在a,b两路上启动复制
|
mysql>start slave; |
8) 在a,b两路上查看复制状态
A路复制状态:
|
mysql> show slave status\G |
B路复制状态
Slave_IO_Running: Yes
Slave_SQL_Running: Yes两个值均为yes则表示复制链接正常。
9)
测试复制
在a路数据库中执行如下命令:
|
mysql>use mysql> `username` `password` PRIMARY ) mysql>show |
在b路数据库中查看表结构是否同步;
在b路数据库中执行如下命令:
|
mysql>INSERT |
在a路数据库中查看记录是否同步。
以上为进行mysql配置主主复制的全过程,当两边复制出现问题时,许重新执行2-(6)中的步骤。
配置mysql为主主复制步骤的更多相关文章
- linux环境下配置mysql双主复制
简单来说,双主复制就是让两台mysql服务器中的数据保持同步,可以用来实现灾备和负载均衡 主机1 IP:192.168.200.128 主机2 IP:192.168.200.131 两台主机系统均为c ...
- 分布式数据存储 - MySQL双主复制
上篇文章<分布式数据存储 - MySQL主从复制>,我们说到MySQL主从复制很好的保障了从库,读的高可用性.so,问题来了: 1.针对主库,写的高可用性又是如何做到高可用性? 2.如果需 ...
- keepalived+mysql双主复制高可用方案
MySQL双主复制,即互为Master-Slave(只有一个Master提供写操作),可以实现数据库服务器的热备,但是一个Master宕机后不能实现动态切换.而Keepalived通过虚拟IP,实现了 ...
- MySQL双主复制
原文发表于cu:2017-06-12 本文简单介绍MySQL双主复制原理及1个简单是双主复制验证. 一.MySQL双主复制原理 1. 双主复制原理 master-master复制的两台服务器,既是ma ...
- 如何配置MYSQL的MASTER---SLAVE复制备份?
如何配置MYSQL的MASTER---SLAVE复制备份? 一.配置一个mysql服务器做master: 在配置文件my.ini中添加如下内容: log-bin=matster-binlog- ...
- 怎么设置 mysql 多主复制
更新 其实本文主要来自www.digitalocean.com ,但是我没有买他们家的 VPS 用来 demo 了.只是用vagrant 来模拟了. 介绍 说说关于通过两台 vps 来扩展 mysql ...
- 利用LVS+Keepalived搭建Mysql双主复制高可用负载均衡环境
应用背景: MySQL复制(主主,主从...)能在保证数据的备份的同时也能够做读写分离分摊系统压力,但是发生单点故障时,需要手动 切换到另外一台主机.LVS和Keppalived可以设定一个VIP来实 ...
- mysql 双主复制 centos7
mysql 安装请看:http://www.cnblogs.com/leohe/p/6839705.html 双主复制设置 1. 两台虚拟机,都是 centos7 主: 10.1.1.115 从: 1 ...
- CentOS6.5配置MYSQL一主多从详解
一.环境 操作系统 :CentOS 6.5 数据库版本:MySQL 主机A:192.168.1.1 (Master) 从机B:192.168.1.2 (Slave) 从机B:192.168.1.3 ( ...
随机推荐
- poj1014二进制优化多重背包
Dividing Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 53029 Accepted: 13506 Descri ...
- spring框架总结(04)----介绍的是Spring中的JDBC模板
1.1 Jdbc模板概述 它是spring框架中提供的一个对象,是对原始Jdbc API对象的简单封装.spring框架为我们提供了很多的操作模板类,入下图所示: 我们今天的主角在spring-jd ...
- JFrame的层次结构以及背景颜色设置问题
JFrame的层次结构: JFrame:窗体,也就是窗口的框架.默认为不可见.不透明的(可以使用isVisible和isOpaque来验证).创建窗口时,最后一步需要调用setVisible(true ...
- C#对图片进行马赛克处理,可控制模糊程度
using System.Drawing; using System.Drawing.Imaging; using System.Web.Mvc; namespace MVC2017_Sample.C ...
- WPF中的imagesource 和内存图片的处理
[转载]ImageSource的使用心得 很多时候,我们会使用图片来装饰UI,比如作为控件背景等. 而这些图片可以分为两种形式,即存在于本地文件系统中的图片和存在于内存中的图片 对于这两种形式的图片, ...
- gitlab服务器搭建教程
gitlab服务器搭建教程 ----2016年终总结 三 参考https://bbs.gitlab.cc/topic/35/gitlab-ce-8-7-%E6%BA%90%E7%A0%81%E5%AE ...
- 数据库中有的字段为null时,反馈到页面上是什么也不显示?如何用一个【无】字来代替呢?
<asp:ListView ID="listViewCustomer" DataSourceID="ods_Customer" runat="s ...
- win10 UWP Markdown 含源代码
Windows下没有比较好的Markdown编辑器 我就自己写一个 csdn的Markdown很好,就是我需要截图保存有麻烦 需要把我的截图保存在本地,然后上传 这个过程比较麻烦 csdn的图没法外链 ...
- centos7安装shipyard没有本地容器及镜像
目前docker的使用越来越多,自然需要docker的管理工具.现在使用web管理的较多,web基本上实现了跨平台,只需要浏览器,不要额外的管理客户端.web管理主要推荐shipyard和kubern ...
- CSS组件
下拉菜单 .dropdown:将下拉菜单触发器和下拉菜单包含在其中 .dropdown-menu:给<ul>制定下拉菜单的样式 .dropup:向上弹出菜单 .dropdown-menu- ...