使用多实例进行主从复制实践案例(一主一从)

环境:多实例

10.0.0.52 3306

10.0.0.52 3307

3306---->3307复制---->3309

---->3008复制

3306<---->3307

架构实践:

3306---->3307

1开启主库binlog,配置server-id

[[email protected] ~]# egrep -i"server-id|log-bin" /data/3306/my.cnf

log-bin = /data/3306/mysql-bin

server-id = 6       #注意id号不能一样,要区别

重启服务

开启主库binlog日志

vim /data/3306/my.cnf

pid-file = /data/3306/mysql.pid

log-bin = /data/3306/mysql-bin       ###将此行注释去掉,然后重新启动多实例

relay-log = /data/3306/relay-bin

"/data/3306/my.cnf" [dos]72L, 1824C written

[[email protected] backup]#

从库

[[email protected] ~]# egrep -i"server-id|log-bin" /data/3307/my.cnf

#log-bin = /data/3307/mysql-bin

server-id = 7

2.主库创建用户

mysql> grant replication slave on *.* to ‘rep‘@‘172.16.1.%‘identified by ‘oldboy123‘;

Query OK, 0 rows affected (0.04 sec)

mysql> select user,host frommysql.user;

+------+------------+

| user | host       |

+------+------------+

| root | 127.0.0.1  |

| rep | 172.16.1.% |

3.主库导出数据

按照我们讲过的内容,直接取今天00点的备份就可以.

mysql> flush table with read lock;      ####一般大部分情况不需要锁库,因为备份的时候已经有参数备份了。

Query OK, 0 rows affected (0.00 sec)

mysql> show master status; ####获取binlog日志关键点

+------------------+----------+--------------+------------------+-------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |Executed_Gtid_Set |

+------------------+----------+--------------+------------------+-------------------+

| mysql-bin.000001 |      120 |              |                  |                   |

+------------------+----------+--------------+------------------+-------------------+

1 row in set (0.00 sec)

mysqldump

cp/tar

xtrabackup

拿到位置点是关键

mysql-bin.000001   120

[[email protected] ~]# mysqldump -B --master-data=2 --single-transaction -S/data/3306/mysql.sock -A|gzip>/data/backup/all_$(date +%F).sql.gz

[[email protected] ~]# ls -l /data/backup/

总用量 228

-rw-r--r-- 1 root  root 178468 6月  28 11:11 all_2017-06-28.sql.gz

主库解锁:

mysql> unlock table;

Query OK, 0 rows affected (0.00 sec)

4.从库导入全备的数据

[[email protected] backup]# gzip -d all_2017-06-28.sql.gz

[[email protected] backup]# mysql -S /data/3307/mysql.sock <all_2017-06-28.sql

5.找位置点,然后change master从库

[[email protected] backup]# sed -n ‘22p‘all_2017-06-28.sql

-- CHANGE MASTER TOMASTER_LOG_FILE=‘mysql-bin.000001‘, MASTER_LOG_POS=120;

进入数据库中,然后输入下面内容

CHANGE MASTER TO

MASTER_HOST=‘172.16.1.52‘,         ###主数据库的IP地址

MASTER_PORT=3306,              ###主数据库的端口

MASTER_USER=‘rep‘,                ###连接主数据库的用户名

MASTER_PASSWORD=‘oldboy123‘,     ####连接主数据库的密码

MASTER_LOG_FILE=‘ oldboy-bin.000005‘,     ###主数据库上的binlog日志

MASTER_LOG_POS=223;                 ###主数据库的binlog日志关键点

mysql> start slave;     ###开启从库

Query OK, 0 rows affected (0.03 sec)

6.查看从库是否配置正确

mysql> show slave status\G

[[email protected] backup]# mysql -S/data/3307/mysql.sock -e "show slave status\G"|egrep"_Running|Behind_Master"|head -3

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Seconds_Behind_Master: 0

提示:一主多从类似于一主一从

时间: 2024-12-29 10:35:44

使用多实例进行主从复制实践案例(一主一从)的相关文章

MongoDB建立主从复制小案例(一主一从)

花了两天学习了mongoDB, 今天接触到了mongo的主从配置, 把它记下来 1. 开启两个mongo服务器(用于一主一从, 没有加安全验证相关参数 : 可以使用mongd-help查看) mongod --bind_ip IP --port PORT --dbpath D:\.. --replSet name ....(从类似, 端口不要相同) --bind_ip : 服务器地址 -- port : 服务器使用的端口 -- dbpath : 用于存放数据的文件路径 --resplSet :

mysql主从复制实践之单数据库多实例

1.主从复制数据库实战环境准备 MySQL主从复制实践对环境的要求比较简单,可以是单机单数据库多实例的环境,也可以是两台服务器之间,每台服务器都部署一个独立的数据库的环境.本文以单机数据库多实例的环境进行实践. 2.主从复制服务器角色定义 序号 数据库角色 数据库IP信息 数据库port信息 数据库配置路径 1 master 192.168.1.20 3306 /data/3306 2 slave1 192.168.1.20 3307 /data/3307 3 slave2 192.168.1.

MySQL主从复制实践与部署

本文主要介绍在单机单数据库多实例的环境下,实现MySQL主从复制功能 基本流程: 1.MySQL主从复制介绍 2.主从复制数据库实战环境准备 3.在主库Master上执行操作配置 4.在MySQL从库上执行的操作过程 5.启动从库同步开关,测试主动复制配置情况 6.MySQL主从复制配置步骤总结 流程一:MySQL主从复制介绍 Mysql数据库的主从复制方案,与使用scp/rsync等命令进行的文件级别复制类似,都是数据的远程传输,只不过Mysql的主从复制是其自带的功能,无需借助第三方工具,而

服务发现的可行方案以及实践案例-4(转)

「Chris Richardson 微服务系列」服务发现的可行方案以及实践案例 Posted on 2016年5月25日 编者的话|本文来自 Nginx 官方博客,是微服务系列的第四篇文章.第一篇介绍了微服务架构的模式,讨论了使用微服务架构的优缺点:第二篇和第三篇描述了微服务架构内部的通讯机制.这篇文章中,我们将会探讨服务发现. 转自http://blog.daocloud.io/microservices-4/ 作者介绍:Chris Richardson,是世界著名的软件大师,经典技术著作<P

Mysql主从复制排错案例一

MYSQL主从复制排错案例一: 问题:主从无法同步现象:MASTER: mysql> show master status;              Empty set (0.00 sec)      SLAVE:  mysql> show slave status \G;              Slave_IO_Running: Connecting              Slave_SQL_Running: Yes              Seconds_Behind_Mast

DDD实践案例:引入事件驱动与中间件机制来实现后台管理功能

DDD实践案例:引入事件驱动与中间件机制来实现后台管理功能 一.引言 在当前的电子商务平台中,用户下完订单之后,然后店家会在后台看到客户下的订单,然后店家可以对客户的订单进行发货操作.此时客户会在自己的订单状态看到店家已经发货.从上面的业务逻辑可以看出,当用户下完订单之后,店家或管理员可以对客户订单进行跟踪和操作.上一专题我们已经实现创建订单的功能,则接下来自然就是后台管理功能的实现了.所以在这一专题中将详细介绍如何在网上书店案例中实现后台管理功能. 二.后台管理中的权限管理的实现 后台管理中,

《SaltStack技术入门与实践》—— 实践案例 &lt;中小型Web架构&gt;3 Memcached配置管理

实践案例 <中小型Web架构>3 Memcached配置管理 本章节参考<SaltStack技术入门与实践>,感谢该书作者: 刘继伟.沈灿.赵舜东 Memcached介绍 Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态数据库驱动网站的访问速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通

redis单机多实例_主从复制

上一篇讲到了redis单机单实例的安装http://my.oschina.net/xinxingegeya/blog/389155, 这一篇主要安装单机多实例,以及主从复制的配置.这就是一个redis的集群了. 单机多实例的配置 [[email protected] redis_7000]# pwd /opt/redis-2.8.19/redis_7000 [[email protected] redis_7000]# ./src/redis-cli -p 7000 127.0.0.1:7000

mysql 主从复制 实践

异步主从复制   主从部署步骤: 备份还原 使用mysqldump或者xtrabackup 把主库现有基础数据还原到从库 授权 grant replication slave on *.* 给从库一个复制binlog的账号 配置复制,并启动 从库上配置复制信息,并指向master 查看主从复制信息 show slave status \G 1)备份还原 主:101 从:100 a)主库备份 [email protected]untu:~$ mysqldump -uroot -p --socket