详解mysql double master的配置方法

藏色散人
发布: 2021-09-15 17:30:20
转载
2240 人浏览过

假设两台机器  ip 分别为 机器一: 192.168.14.37  机器二:  192.168.14.38 ,服务器 为 linux Rhel 5.9

在两台服务器中执行创建用户语句:

mysql:>create user 'repl'@'%' identified by '135246';       -- 创建用户  repl  密码 135246
登录后复制

服务器一执行:

mysql:>grant replication client,replication slave on *.* to 'repl'@'192.168.14.38' identified by '135246';    -- 授权服务器一可以远程访问服务器二
登录后复制

服务器二执行:

mysql:>grant replication client,replication slave on *.* to 'repl'@'192.168.14.37' identified by '135246';     -- 授权服务器二可以远程访问服务器一
登录后复制

验证(根据提示输入密码):
   在服务器一上连接服务器二

mysql -h 192.168.14.38 -u repl -p
登录后复制

在服务器二上连接服务器一

mysql -h 192.168.14.37 -u repl -p
登录后复制

查看 mysql :

首先:vi /etc/my.cnf
  在服务器1, 添加如下内容:

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
server_id = 1
log-bin
character-set-server=utf8
#表名不区分大小写
lower_case_table_names=1
#server_id = 1 # uniquely identify  从为2


show master  status
登录后复制

可以得到服务器一和服务器二的  MASTER_LOG_FILE  和  MASTER_LOG_POS 信息,

假设服务器一为   " localhost-bin.000004" 和 "120"


   服务器二为   " localhost-bin.000005" 和 "667"
登录后复制

在服务器一上执行:

stop slave;

CHANGE MASTER TO MASTER_HOST = '192.168.14.38', MASTER_USER = 'repl', MASTER_PASSWORD = '135246', MASTER_LOG_FILE = 'localhost-bin.000004', MASTER_LOG_POS = 120; 

start slave;
登录后复制

在服务器二上执行:

stop slave;

CHANGE MASTER TO MASTER_HOST = '192.168.14.37', MASTER_USER = 'repl', MASTER_PASSWORD = '135246', MASTER_LOG_FILE = 'localhost-bin.000005', MASTER_LOG_POS = 667; 

start slave;
登录后复制

最后验证主主同步是否成功:

在服务器一 mysql 添加 表 example

mysql:> create database example1 ;

use example1;

create table example1 (length int);
登录后复制

最后在服务器二查看是否有此数据库,此表,和此条数据.

查看同步状态 :show slave status \G

如果出错,可以看到出错日志。

错误导致同步失败参考mysql slave-skip-errors=all 深层理解

注意: 设置 double master 之前的数据,两个服务器不会同步;

推荐学习:《mysql视频教程

以上是详解mysql double master的配置方法的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:segmentfault.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板