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的主备关系: 需要配置的机器 ...
随机推荐
- HDU4825 Xor Sum(贪心+Trie树)
Problem Description Zeus 和 Prometheus 做了一个游戏,Prometheus 给 Zeus 一个集合,集合中包含了N个正整数,随后 Prometheus 将向 Zeu ...
- 解决sublime text3配置Python3编译环境:运行代码时提示“NO Build System”
只需要在路径中把单杠换成双杠,重启sublime即可.
- 二、Docker基础操作
原文:二.Docker基础操作 一.下载镜像 命令:docker pull xxxxxx(镜像名) docker pull training/weapp 二.运行镜像 docker run -d -P ...
- sqlite3-查看数据库
在做android开发的时候,有时候我们需要查看系统下的数据库,这时候我们可以使用下面的方法 1.数据库存放位置 data/data/package/databases/abc.db 2.导出数据库 ...
- HTML基础第六讲---表格
转自:https://i.cnblogs.com/posts?categoryid=1121494 上一讲,讲了关于<控制表格及其表项的对齐方式>,在这里我要讲讲表格及其属性 ,然后大家在 ...
- Vue使用Promise自定义confirm确认框组件
使用Promise模拟浏览器确认框,可自定义标题,内容,按钮文字和类型 参数名 类型 说明 title String 标题 content String 内容 yesBtnText String 确认 ...
- Monkey (压力测试)-移动端手机压力测试工具 monkey以及monkeyrunner
4. Monkey (压力测试) 这个是Android提供的系统工具.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行压力测试.Monkey测试是一种 ...
- Java基础学习总结(53)——HTTPS 理论详解与实践
前言 在进行 HTTP 通信时,信息可能会监听.服务器或客户端身份伪装等安全问题,HTTPS 则能有效解决这些问题.在使用原始的HTTP连接的时候,因为服务器与用户之间是直接进行的明文传输,导致了用户 ...
- Java Web学习总结(12)——使用Session防止表单重复提交
在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交. 一.表单重复提 ...
- win7管理工具不可用
看看这个路径的文件夹是否还在C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools如果有缺失的文件夹就自己新 ...