硬件准备:
MysqlserverA:192.168.1.1
MysqlserverB:192.168.1.2
共同使用的数据库:db1
 
软件安装:
1. 两台服务器安装centos/rhel 5 
1. Yum install mysql
注意 mysql 数据库的版本,两个数据库版本要相同,或者slave比master版本低!
 
进行单项同步配置
一、主服务器master配置
1. 配置Master 的my.cnf文件
Cp /usr/share/doc/mysql-server-5.0.22/my-medium.cnf /etc/my.cnf
 
binlog-do-db=db1
二进制需要同步的数据库名
server-id = 1
本机数据库ID 标示为主
log-bin=/var/log/mysql/updatelog
 #设定生成log文件名
binlog-ignore-db=mysql
 # 避免同步mysql用户配置,以免不必要的麻烦
 
1. 进入mysql命令行,为slave用户添加同步专用权限
GRANT REPLICATION SLAVE,REPLICATION CLIENT,RELOAD,SUPER ON *.* TO 'repl'@'10.10.91.240' IDENTIFIED BY '123'; 
##给与从服务器用户repl的同步权限
Grant ALL PRIVILEGES ON *.* TO hk@'%'   IDENTIFIED BY '123456'; 
#如果需要的话添加管理用户
Flush privileges;
#刷新权限
 
1. 停止数据库,并将本地数据库打包拷贝到从数据库上
Service mysqld stop 
停止服务
Tar -cvf /root/db1.tar /var/lib/mysql/db1
备份主服务器数据库
Scp /root/db1.tar root@192.168.1.2:/root
远程拷贝到从服务器
Service mysqld start
启动主服务器mysql服务
 
二、同步slave 从服务器配置
1. 配置slave服务器my.cnf文件
Cp /usr/share/doc/mysql-server-5.0.22/my-medium.cnf /etc/my.cnf
将以下配置启用:
server-id       = 2
从服务器ID号,不要和主ID相同
master-host     =  192.168.1.1
指定主服务器IP地址
master-user     =   repl
制定在主服务器上可以进行同步的用户名
master-password =   123
密码 
master-port     =  3306
同步所用的端口
master-connect-retry=60
断点重新连接时间
replicate-ignore-db=mysql
#屏蔽对mysql库的同步
replicate-do-db=db1
同步数据库名称
 
1. 装载主服务器数据库
Cd /var/lib/mysql
进入数据库库文件主目录
Cp /root/db1.tar ./
拷贝主数据库的tar文件到当前目录
Tar -xvf db1.tar
解包
Service mysqld start
启动从数据库服务
三、查询配置
Show Slave status:此处Slave_IO_Running ,Slave_SQL_Running 都应该是yes,表示从库的I/O,Slave_SQL 线程都正确开启.更多详细信息以及参数设置,请参考MySQL 5.0 Manual手册.
 
在主服务器A MySQL命令符下:
show master status;
显示(不同主机结果不同)
+------------------+----------+-------------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+-------------------+------------------+
| updatelog.000028 | 313361 |db1 | mysql | 
+------------------+----------+-------------------+------------------+
 
(同步之前如果怀疑主从数据不同步可以采取:上面冷备份远程拷贝法或者在从服务器上命令行同步方 法)
在从服务器执行MySQL命令下:
slave stop;
先停止slave服务
CHANGE MASTER TO MASTER_LOG_FILE='updatelog.000028',MASTER_LOG_POS=313361;
根据上面主服务器的show master status的结果,进行从服务器的二进制数据库记录回归,达到同步的效果
slave start;
启动从服务器同步服务
 
用show slave status\G;看一下从服务器的同步情况
· Slave_IO_Running: Yes
· Slave_SQL_Running: Yes
如果都是yes,那代表已经在同步
 
往表里面写点数据测试一下看是否同步成功,如果不成功,绝对不是replicaion本身问题,再检查一下操 作步骤!
 
 
注意:
 
进行双向同步配置
一、先修改原slave 服务器配置
1. 配置原slave服务器my.cnf文件(红字为添加内容)
server-id       = 2
从服务器ID号,不要和主ID相同
master-host     =  192.168.1.1
指定主服务器IP地址
master-user     =   repl
制定在主服务器上可以进行同步的用户名
master-password =   123
密码 
master-port     =  3306
同步所用的端口
master-connect-retry=60
断点重新连接时间
replicate-ignore-db=mysql
屏蔽对mysql库的同步
replicate-do-db=db1
同步数据库名称
log-bin=/var/log/mysql/updatelog
设定生成log文件名
binlog-do-db=db1
设置同步数据库名
binlog-ignore-db=mysql
避免同步mysql用户配置,以免不必要的麻烦
1. 重新启动mysql服务,创建一个同步专用账号
Service mysqld restart
重新启动服务
GRANT REPLICATION SLAVE,REPLICATION CLIENT,RELOAD,SUPER ON *.* TO 'repl'@'192.168.1.1' IDENTIFIED BY '123';
 进入命令行。并为原master服务器创建一个同步专用账号
Flush privileges;
刷新
 
二、修改原master主服务器的my.cnf,添加如下内容(红色为添加部分)
 
binlog-do-db=db1
二进制需要同步的数据库名
server-id = 1
本机数据库ID 标示为主
log-bin=/var/log/mysql/updatelog
 #设定生成log文件名
binlog-ignore-db=mysql
 # 避免同步mysql用户配置,以免不必要的麻烦
master-host = 192.168.1.2
设置从原slave数据库同步更新
master-user = repl
更新用户
master-password = 123
密码
master-port = 3306
端口
replicate-ignore-db=mysql
不需要更新的库
replicate-do-db=db1
需要更新的库
Service mysqld restart
重新启动库
 
在slave服务器执行MySQL命令符下:
show master status;
看看有无作为主服务器的信息
+------------------+----------+-------------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+-------------------+------------------+
| updatelog.000028 | 313361 |db1 | mysql | 
+------------------+----------+-------------------+------------------+
 
在master服务器执行MySQL命令下:
slave stop;
先停止slave服务
CHANGE MASTER TO 
MASTER_HOST='192.168.1.2',MASTER_USER='repl',MASTER_PASSWORD='123',MASTER_PORT=3306,MASTER_LOG_FILE='updatelog.000028',MASTER_LOG_POS=313361;
根据上面主服务器的show master status的结果,进行从服务器的二进制数据库记录回归,达到同步的效果
slave start;
启动从服务器同步服务
 

转载于:https://blog.51cto.com/zhangziqiang/186807

Mysql 5 replication(mysql主从双机策略)相关推荐

  1. 双机高可用、负载均衡、MySQL(读写分离、主从自动切换)架构设计

    前几天网友来信说帮忙实现这样一个架构:只有两台机器,需要实现其中一台死机之后另一台能接管这台机器的服务,并且在两台机器正常服务时,两台机器都能用上.于是设计了如下的架构. 架构简介 此架构主要是由ke ...

  2. mysql replication 配置_MySQL Replication配置主从的教程

    MySQL主从原理 主(master)在执行sql之后,记录二进制log文件(bin-log) 从(slave)连接主(master),并从主(master)获取binlog,存于本地relay-lo ...

  3. Mysql 主从间延迟,主从切换策略

    Mysql 主从间延迟 首先需要知道在网络情况良好的情况下,主从之间的延迟主要产生于从库根据消费 relay log 的时间. 主从间的延迟是 seconds_behind_master. 主从延迟的 ...

  4. MySQL主从互换策略(主down机切换从为和恢复过程中的倒增量备份)

    表里插入数据,假设主库A发生故障,停机.此时从库B提升为主库,在从库表上插入数据.此时A机器恢复,重建AB主从结构,A为主B为从. 点击回看主从部署 环境 MySQL主从 192.168.59.143 ...

  5. MySQL编译安装及主从配置

    说明:本实验配置以Cenos6.6和MySQL5.6.35为例 一.编译安装MySQL 1.避免在安装过程中出现问题,先安装系统依赖包 yum install apr autoconf automak ...

  6. MySQL group replication

    本篇文章主要讲解MySQL group replication介绍,文中有关MySQL,group的内容,希望对大家有所帮助. "MySQL group replication" ...

  7. 两个mysql主从同步_如何配置两个MySQL数据库之间的主从同步功能

    匿名用户 1级 2016-02-29 回答 一. 概述 MySQL从3.23.15版本以后提供数据库复制(replication)功能,利用该功能可以实现两个数据库同步.主从模式.互相备份模式的功能. ...

  8. mysql冷热备份方案_MySQL双机热备份实施方案

    MySQL双机热备份实施方案 1.MySQL数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题.还好MySQL数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份数 ...

  9. mysql 8.0配置主从同步_MySQL8.0.19开启GTID主从同步CentOS8

    前言本次搭建目标为1主2从MySQL主从同步结构.采用CentOS8作为操作系统,IP为[10.0.0.211,10.0.0.212,10.0.0.213].MySQL版本为8.0.19,端口均采用3 ...

最新文章

  1. 【Linux入门到精通系列讲解】工具——make/Makefile
  2. 关于程序员就业岗位及岗位市场的思考
  3. 用CSS实现的模式窗口效果,弹出固定大小的窗口
  4. 【C++ STL学习之五】容器set和multiset
  5. redis数据类型list总结
  6. 在Asciidoc中的多级列表以及缩进的使用
  7. 使用 .NET 平台,如何玩转 Universal Windows 应用? 1
  8. Download Android source code
  9. Android TextView之空格占位法
  10. Hadoop学习笔记一:单节点安装
  11. 谷歌浏览器的笔记在哪里_selenium学习笔记之启动谷歌浏览器
  12. 种草功能在电商app源码中发挥的作用和价值
  13. 冬日魔幻之旅-seata+dubbo+nacos+springboot解决分布式事务的全网段唯一实践之作(上)
  14. 牛客Steins;Gate(原根+FFT)
  15. XAF 与 CIIP
  16. centos7 搭建 svn 服务端
  17. scrapy 学习笔记1 爬取 www.dmoz.org 网站信息
  18. 去广告插件——火狐浏览器
  19. Content Negotation在Nancy的实现和使用
  20. 河南理工大学python挂科率_河南理工大学就业率怎么样,2020年排名好不好

热门文章

  1. 使用ps制作旧羊皮纸
  2. apache ab 压测
  3. Linux平台上的音视频互动开发平台
  4. jQuery实现百度导航li拖放排列效果,即时更新数据库
  5. 在Google App Engine中使用hash和marshal持久化模块,快速判断数据库条目是否已经存在...
  6. Windows 7 的一些使用技巧
  7. fgets()逐行读取文件内容
  8. 联想X61-Xp系统重装Ubuntu21.10
  9. 怎样利用商业智能软件实现业务目标
  10. 数据安全的四个新挑战有哪些