MySQL建立双向主备复制server配置方法
1、环境描写叙述
serverA(主) 192.85.1.175
serverB(从) 192.85.1.176
Mysql版本号:5.1.61
系统版本号:System OS:ubuntu 10.10 X86
(系统安装及数据环境搭建,省略)
2. 创建同步用户:
在服务B命令行运行 :
grant replication slave on *.* to 'replication'@'%' identified by 'mysqlsync';
flush privileges;
grant FILE,SELECT, replication slave on *.* to 'replication'@'192.85.1.175' identified by 'mysqlsync';
flush privileges;
在serverA命令行运行:
grant replication slave on *.* to 'replication'@'%' identified by 'mysqlsync';
flush privileges;
grant FILE,SELECT, replication slave on *.* to 'replication'@'192.85.1.176' identified by 'mysqlsync';
flush privileges;
在A与Bserver上检查主备复制账号是否正常:
(1)分别在A与Bserver上的MYSQL命令行运行 “ show grants for 'replication'@'%';”
假设输出结果类似于例如以下,表示正常,其它均为异常
mysql> show grants for 'replication'@'%';
+--------------------------------------------------------------------------------------------------------------------------------------+
| Grants for replication@% |
+--------------------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT, FILE, REPLICATION SLAVE ON *.* TO 'replication'@'%' IDENTIFIED BY PASSWORD '*47E2485DF0DBED84B9BD90AF25F48A36E7EAD57E' |
+--------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
(2)使用主备复制账号在Aserver远程登录B ,在Bserver远程登录A ,測试 ,假设能够正常登录说明,账号正常,能够使用。
假设出现例如以下错误信息:
ERROR 2003 (HY000): Can't connect to MySQL server on '192.85.1.175' (111)
sxzichen@ubutun:/var/log/mysql$ ERROR 2003 (HY000): Can't connect to MySQL server on '192.85.1.175' (111) ERROR 2003 (HY000): Can't connect to MySQL server on '192.85.1.175' (111)
或
ERROR 2003 (HY000): Can't connect to MySQL server on '192.85.1.176' (111)
sxzichen@ubutun:/var/log/mysql$ ERROR 2003 (HY000): Can't connect to MySQL server on '192.85.1.176' (111) ERROR 2003 (HY000): Can't connect to MySQL server on '192.85.1.176' (111)
导致原因是,MYSQL数据库不同意远程訪问,须要分别改动A与Bserver 中数据库配置文件my.cnf ,凝视掉 “ bind-address = 127.0.0.1 ” 即为 “#bind-address = 127.0.0.1”
分别又一次启动MYSQLserver ,測试正常
3.配置数据主切换 之serverA ,改动其相应的数据配置文件----my.cnf ,在 [MYSQLD}加入例如以下行
#mysql replication
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
master-host = 192.85.1.176
master-user = replication
master-password = mysqlsync
master-port = 3306
master-connect-retry = 60
binlog-do-db = hrkip_zhhwd
binlog-ignore-db = mysql
binlog-ignore-db = information_schema
binlog-ignore-db = phpmyadmin
replicate-do-db = hrkip_zhhwd
replicate-ignore-db = mysql,information_schema
配置信息简介:
server-id = 1 #主机标示,整数
log_bin = /var/log/mysql/mysql-bin.log #确保此文件可写
binlog-do-db =hrkip_zhhwd #须要备份数据,多个写多行
binlog-ignore-db =mysql #不须要备份的数据库,多个写多行
master-user = replication #远程登录数据库username称
master-password = mysqlsync #远程登录数据库用户密码
master-port = 3306 #远程数据库server端口号,能够使用 show variables like 'port'; 命令查看,必要与目标数据库server端口号一致
4.配置数据主切换 之serverB ,改动其相应的数据配置文件----my.cnf ,在 [MYSQLD}加入例如以下行
#mysql replication
server-id = 2
log_bin = /var/log/mysql/mysql-bin.log
master-host = 192.85.1.175
master-user = replication
master-password = mysqlsync
master-port = 3306
master-connect-retry = 60
binlog-do-db = hrkip_zhhwd
binlog-ignore-db = mysql
binlog-ignore-db = information_schema
binlog-ignore-db = phpmyadmin
replicate-do-db = hrkip_zhhwd
replicate-ignore-db = mysql,information_schema
5.检查配置是否正常(l两台server上分别检查):
启动 slave 服务 ,在MYSQL命令行运行
mysql> slave start ;
Query OK, 0 rows affected, 1 warning (0.00 sec)
查看slave 状态 ,运行命令:
mysql> show slave status \G ;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.85.1.175
Master_User: replication
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000002
Read_Master_Log_Pos: 106
Relay_Log_File: ubutun-relay-bin.000005
Relay_Log_Pos: 251
Relay_Master_Log_File: mysql-bin.000002
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: hrkip_zhhwd
Replicate_Ignore_DB: mysql,information_schema
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 106
Relay_Log_Space: 552
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
1 row in set (0.00 sec) ERROR:
No query specified
假设须要又一次启动slave server,首先 运行 slave stop ,再运行 reset slave , 删除 MYSQL 数据库相应的my.cnf 文件里log_bin文件夹( /var/log/mysql/ )下的" mysql-bin."开头的全部文件,之后又一次启动MYSQL服务,之后再运行slave start 命令 。
6.进行測试,主备是否正常工作,slave 启动时,两个server上都启动,启动后不要任意关闭再重新启动,比如在serverA上启动后。
在serverA数据中插入
INSERT INTO ddgl_qdlx ( qdlxmc, lxjc, qdlxbz) VALUES
('175a', '75a', '175a');
在serverB中能够看到相应的记录 。
相同在serverB中插入 :
INSERT INTO ddgl_qdlx (qdlx_id, qdlxmc, lxjc, qdlxbz) VALUES
( '176b', '76b', '176b') ;
在serverA中能够看到相应的记录 。
測试OK 。
MySQL建立双向主备复制server配置方法的更多相关文章
- MySQL备份与主备配置
MySQL备份与主备配置 数据备份类型 全量备份:备份整个数据库 增量备份:备份自上一次备份以来(增量或完全)以来变化的数据 差异备份:备份自上一次完全备份以来变化的数据 全量备份 全量备份的方法有 ...
- mysql+mycat搭建稳定高可用集群,负载均衡,主备复制,读写分离
数据库性能优化普遍采用集群方式,oracle集群软硬件投入昂贵,今天花了一天时间搭建基于mysql的集群环境. 主要思路 简单说,实现mysql主备复制-->利用mycat实现负载均衡. 比较了 ...
- MySQL主备复制原理、实现及异常处理
复制概述 MySQL支持三种复制方式:基于行(Row)的复制.基于语句(Statement)的复制和混合类型(Mixed)的复制. 基于语句的复制早在3.23版本中就存在,而基于行的复制方式在5.1版 ...
- keepalived主备节点都配置vip,vip切换异常案例分析
原文地址:http://blog.51cto.com/13599730/2161622 参考地址:https://blog.csdn.net/qq_14940627/article/details/7 ...
- 分布式Redis主备复制
当数据落在不同节点上时,如何保证数据节点之间的一致性是非常关键的 Redis采用主备复制的方式保证一致性,所有节点中,只有一个节点为主节点(master),它对外提供写服务,然后异步的将数据复制到其他 ...
- 干货 | SSMS客户端连接京东云RDS SQL Server配置方法
干货 | SSMS客户端连接京东云RDS SQL Server配置方法 原创: 于振江 京东云开发者社区 微软SQL Server, Oracle数据库以及MySQL系列占据了关系型数据库市场的绝对 ...
- 【MySQL】主备复制
复制对于mysql的重要性不言而喻,mysql集群的负载均衡,读写分离和高可用都是基于复制实现.下文主要从4个方面展开,mysql的异步复制,半同步复制和并行复制,最后会简单聊下第三方复制工具.由于生 ...
- 24 mysql怎么保证主备一致
Mysql主备的基本原理 在状态1中,客户端直接访问节点A,而节点B只是备库,只是将A的binlog全部同步过来并应用到本地,这样可以保持节点B和节点A的数据是相同的. 当需要切换的时候,就变成状态2 ...
- redis配置主从备份以及主备切换方案配置
前提:redis中,主从切换场景中,没有绝对的主和从,只有初始化的主和从,然后当主down后,从就变成主了,而主即使连接上,也是从,不会变为主 1.redis-server的主备关系: 需要配置的机器 ...
随机推荐
- Mysql 简介二
Mysql 数据库引擎: 数据库引擎是用于存储.处理和保护数据的核心服务 Mysql支持的引擎一般有这几种: MyISAM Mysql 5.1版本之前默认的存储引擎,仅仅支持表锁,但查询速度较Inno ...
- gplaycli—— 用于从 GooglePlayStore 中下载和管理 Apk 文件的命令行工具
gplaycli-- 用于从 GooglePlayStore 中下载和管理 Apk 文件的命令行工具 这个 GooglePlay市场 中 https://play.google.com/store/a ...
- loadrunner监控linux之linux下安装rpc
安装和配置rpc服务 说明:rpc服务需rsh的支持,一般情况下rsh已安装.通过rpm -qa rsh命令查看. 下载rpc.rstatd-4.0.1.tar.gz,可先下载到window下,通过f ...
- app 自动化测试 Appium+Java可以运行的代码
地址:http://www.cnblogs.com/sunny-sl/p/6520465.html
- noi25 最长最短单词(为什么会出现运行时错误)
noi25 最长最短单词(为什么会出现运行时错误) 一.总结 一句话总结:比如除以零,数组越界,指针越界,使用已经释放的空间,数组开得太大,超出了栈的范围,造成栈溢出 1.c++报runtime er ...
- jQuery的实现原理和核心
1.jQuery的实现原理 1)jQuery采用的是构造函数模式进行开发的,jQuery是一个类 2)上面说的常用的方法(CSS.属性.筛选.事件.动画.文档处理)都是定义在jQuery.protot ...
- nios博文
小时不识月:http://www.cnblogs.com/yuphone/archive/2010/09/20/1831448.html cracy bingo:http://www.cnblogs. ...
- [Angular] Intercept HTTP requests in Angular
Being able to intercept HTTP requests is crucial in a real world application. Whether it is for erro ...
- iOS开发- iOS7显示偏差(UITableView下移)解决的方法
之前碰到过一个问题. 就是利用storyboard拖动出来的控件, 在iOS7上跑老是莫名的下移. 比方这样(红色区域为多余的) 解决的方法: iOS7在Conttoller中新增了这个属性: aut ...
- codeforces Round 246 D. Prefixes and Suffixes (后缀数组 || KMP)
题目大意: 求一个子串,子串既是前缀又是后缀. 然后再求出它在整个串中出现的次数. 思路分析: 能够非常easy想到怎样推断一个串既是前缀又是后缀. 仅仅须要它与 sa[0] 的lcp 等于 整个串的 ...