配置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 test; mysql> CREATE TABLE `admin_info` ( `username` varchar(32) NOT NULL, `password` varchar(32) DEFAULT NULL, PRIMARY KEY (`username`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; mysql>show tables; |
在b路数据库中查看表结构是否同步;
在b路数据库中执行如下命令:
mysql>INSERT INTO `admin_info` VALUES ('admin','system','25d55ad283aa400af464c76d713c07ad'); |
在a路数据库中查看记录是否同步。
以上为进行mysql配置主主复制的全过程,当两边复制出现问题时,许重新执行2-(6)中的步骤。
转载于:https://www.cnblogs.com/adam1991/p/7641039.html
配置mysql为主主复制步骤相关推荐
- Keepalived+LVS+MySQL双主复制实现读写负载均衡及高可用
目录 一.Keepalived和LVS简介 1. Keepalived简介 2. LVS简介 二.安装配置 1. 下载安装LVS 2. 下载安装Keepalived 3. Keepalived配置 5 ...
- python mysql 双主_keepalived+mysql双主复制高可用方案
MySQL双主复制,即互为Master-Slave(只有一个Master提供写操作),可以实现数据库服务器的热备,但是一个Master宕机后不能实现动态切换.而Keepalived通过虚拟IP,实现了 ...
- CentOS8配置MySQL双主互备(安装centos8及MySQL)
如果对您有帮助请点赞,谢谢!一个赞至少让我开心一天. CentOS8配置MySQL双主互备 1安装操作系统centos8及配置 启用SSH 2安装MySQL及配置 2.1下载镜像 2.2安装镜像 2. ...
- mysql多实例复制,Mysql实例使用Rotate Master实现MySQL 多主复制的实现方法
搜索热词 <MysqL实例使用Rotate Master实现MysqL 多主复制的实现方法>要点: 本文介绍了MysqL实例使用Rotate Master实现MysqL 多主复制的实现方法 ...
- c mysql 双主复制_mysql双主复制及使用keepalived作高可用的配置详解
1.系统环境架构 vip 192.168..45.244 mysql-1:192.168.45.238 mysql-2:192.168.45.239 2.mysql双主设置 192.168.45.23 ...
- 多master mysql_使用 Rotate Master 实现MySQL 多主复制
背景: 众所周知,MySQL只支持一对多的主从复制,而不支持多主(multi-master)复制. 当然,5.6的GUID功能的出现也带来了multi-master的无限可能,不过这个已经是题外话了. ...
- mysql避免回环复制_【20181204】 MySQL 双主复制是如何避免回环复制的
想要了解这个问题的原因在于有一次面试的时候,面试官问我一个问题,就是MySQL的双主复制的时候是如何避免回环复制这个问题的,说老实话在基于GTID复制的时候我还是比较了解的,因为GTID复制是MySQ ...
- c mysql 双主复制_mysql双主复制总结
双主复制: 1).在两台服务器上各自建立一个具有复制权限的用户: 2).修改配置文件: # 主服务器A上 [mysqld] server-id = 10 log-bin = mysql-bin rel ...
- mysql双主复制模式_mysql复制模式第二部分-----双主模式
双主配置 我在配置主从服务器时,使用了两台服务器:10.19.34.126和10.19.34.91. 1.首先需要在这两台上搭建单独的mysql服务masterA和masterB. 2.配置数据库ma ...
最新文章
- 语音信号处理_书单 | 语音研究进阶指南
- C# 3.0 入门系列(一)
- 热点推荐:程序员路在何方
- ylb:子查询(嵌套子查询)和子查询(相关子查询)
- GeoServer 数据导出
- 复工后一次百万长连接压测Nginx与OOM的问题排查分析,我裂开了!
- Linux下文件查找命令find笔记
- 论文笔记:Person Re-identification with Deep Similarity-Guided Graph Neural Network
- linux自动分区shell,SHELL脚本实现分区
- express 文件服务器,Express搭建一个简单后台服务器
- 算法分析神器—时间复杂度
- JS实现轮播图(一看就懂逻辑清晰)
- 计算机程序式版面,功能型计算机程序式版面求职简历
- Excel妙用-公式结果我都要
- 数据库实验2:简易登录页面设计(c#)
- 重构——46令函数携带参数(Parameterize Method)
- 教你用python画不同类型的心形图虏获芳心,值得收藏!!
- linux下下载各种软件合集!!!
- 2019文章分类汇总
- 基于Verilog语言的AD0809驱动