mysql中double master如何配置
这篇文章给大家分享的是有关mysql中double master如何配置的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
假设两台机器 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中double master如何配置”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341