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的主备关系: 需要配置的机器 ...
随机推荐
- canvas.toDataURL() gives “Security Error” in IE 11
http://stackoverflow.com/questions/30101143/canvas-todataurl-gives-security-error-in-ie-11
- 洛谷——P1046 陶陶摘苹果
https://www.luogu.org/problem/show?pid=1046 题目描述 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果.苹果成熟的时候,陶陶就会跑去摘苹果.陶陶有 ...
- Android 网络图片Url 转 Bitmap
注意:该方法必须要在子线程中调用,因为涉及网络请求 public Bitmap getBitmap(String url) { Bitmap bm = null; try { URL iconUrl ...
- Altium Designer的pcb界面如何让线变成点
但是16版本,需要tools --- Grid Manager --双击 双击后: 转自:http://blog.csdn.net/ldcung/article/details/77411434
- less相关知识点
less是一门css预处理语言,文件后缀名为.less,能减少css文件编写的代码量 官网 http://lesscss.cn/#using-less 安装 使用npm install -g less ...
- 【例题 6-11 UVA-297】Quadtrees
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 发现根本不用存节点信息. 遇到了叶子节点且为黑色,就直接覆盖矩阵就好(因为是并集); [代码] #include <bits/ ...
- C# AutoMapper
http://www.cnblogs.com/xlhblogs/p/3356748.html
- Google guava工具类的介绍和使用
概述 工具类 就是封装平常用的方法,不需要你重复造轮子,节省开发人员时间,提高工作效率.谷歌作为大公司,当然会从日常的工作中提取中很多高效率的方法出来.所以就诞生了guava.. 高效设计良好的API ...
- Instruction-Set Support for Invocation of VMM-Configured Services without VMM Intervention
A processing core comprising instruction execution logic circuitry and register space. The register ...
- matplotlib 可视化 —— style sheets
Customizing plots with style sheets Matplotlib Style Gallery 1. 常见 style ggplot: bmh:Bayesian Method ...