MySQL复制搭建
1. 原理
参考《涂抹MySQL 跟着三思一步一步学MySQL 》这本书。
2.环境背景
操作系统 :CentOS 6.5
数据库版本:MySQL 5.6
主库A:192.168.1.202
备库B:192.168.1.203
3.mysql主从复制配置[二进制日志复制]
场景:机器上已经完成Mysql数据库安装配置可以查考《MySQL on Linux 部署手册》+Innobackupex备份环境配置;主库192.168.1.202是一台运行中的服务器。现需要为主库添加一台备库
- master端操作
3.1 master端设置server_id;启动二进制日志
[mysqld]
server_id=1
log-bin=/data/mysqldata/3306/binlog/mysql-bin
3.2 创建复制帐号
(system@localhost) [mysql]> grant replication slave on *.* to 'repl'@'192.168.1.%' identified by 'li0924';
3.3 master端数据库创建数据库备份
#在备份的过程中;Master不能有写操作;
(system@localhost) [mysql]> flush tables with read lock;
#采用innobackupex备份方式;将备份集传到slave端
[mysql@es_mysql1 ~]$ innobackupex --defaults-file=/data/mysqldata/3306/my.cnf -u system -pli0924 --port=3606 --socket=/data/mysqldata/3306/mysql.sock /data/mysqldata/backup --stream=tar --tmpdir=/data/mysqldata/backup |gzip - > /data/mysqldata/backup/20171225.tar.gz
[mysql@es_mysql1 ~]$ rsync /data/mysqldata/backup/20171225.tar.gz mysql@192.168.1.203:/data/mysqldata/backup/
#备份完成之后;释放锁
(system@localhost) [mysql]> unlock tables;
slave端复制环境
3.4 配置my.cnf参数
#将master端参数文件复制到slave端;设置server_id;启动二进制日志
[mysqld]
server_id=3
log-bin=/data/mysqldata/3306/binlog/mysql-bin
3.5 slave复制mysql
[mysql@localhost ~]$ tar -zxvf /data/mysqldata/backup/20171225.tar.gz
[mysql@localhost ~]$ innobackupex --apply-log /data/mysqldata/backup/
[mysql@localhost ~]$ innobackupex --defaults-file=/data/mysqldata/3306/my.cnf -u system -pli0924 --port=3606 --copy-back --rsync /data/mysqldata/backup/
3.6 配置slave节点环境
# 启动数据库
[mysql@localhost ~]$ mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf &
# 查看备份集信息
[mysql@localhost ~]$ cat /data/mysqldata/backup/xtrabackup_binlog_info
mysql-bin.000010 120
# 配置到master端的连接
(system@localhost) [(none)]>CHANGE MASTER TO
-> MASTER_HOST='192.168.1.202',
-> MASTER_PORT=3306,
-> MASTER_USER='repl',
-> MASTER_PASSWORD='li0924',
-> MASTER_LOG_FILE='mysql-bin.000010',
-> MASTER_LOG_POS=120;
Query OK, 0 rows affected, 2 warnings (0.06 sec)
3.7启动slave进程
(system@localhost) [(none)]>use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A Database changed
(system@localhost) [mysql]>start slave;
Query OK, 0 rows affected (0.09 sec)
3.8检查状态
(system@localhost) [mysql]>show slave status\G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.202
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000010
Read_Master_Log_Pos: 315
Relay_Log_File: es_mysql1-relay-bin.000002
Relay_Log_Pos: 478
Relay_Master_Log_File: mysql-bin.000010
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
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: 315
Relay_Log_Space: 655
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:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
Master_UUID: 39d7694d-e57d-11e7-b0a6-000c29157f7a
Master_Info_File: /data/mysqldata/3306/data/master.info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
1 row in set (0.00 sec)
MySQL复制搭建的更多相关文章
- 1018关于MySQL复制搭建[异步复制和半同步复制]
转自:http://www.cnblogs.com/ivictor/p/5735580.html 搭建MySQL数据库的主从架构,还是蛮简单的.重要的几个命令整理一下. 主从服务器上: SHOW VA ...
- MySQL 复制介绍及搭建
MySQL复制介绍 MySQL复制就是一台MySQL服务器(slave)从另一台MySQL服务器(master)进行日志的复制然后再解析日志并应用到自身,类似Oracle中的Data Guard. M ...
- 生产环境搭建MySQL复制的教程(转)
[导读] 网络上有很多关于MySQL复制搭建的步骤和范例,以及手册上有一章完整的篇幅,讲述MySQL复制的原理.搭建步骤.优化等,但依然存在很多刚开始学习MySQL知识或者刚进入DBA行业的朋友咨询, ...
- MySQL复制介绍及搭建
MySQL复制介绍 MySQL复制就是一台MySQL服务器(slave)从另一台MySQL服务器(master)进行日志的复制然后再解析日志并应用到自身,类似Oracle中的Data Guard. M ...
- 转mysql复制主从集群搭建
最近搭了个主从复制,中间出了点小问题,排查搞定,记录下来 1环境:虚拟机:OS:centos6.5Linux host2 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 ...
- 搭建MHA环境【2】安装mysql-5.6 + mysql复制
本例中mysql的安装方式选用了二进制包安装方案.mysql复制用半同步复制方案 [1]安装mysql-5.6.31 要在所有的数据节点上都安装上mysql,安装方式大致相同,所以我这里就不重复写多次 ...
- 快速搭建MySQL复制集
快速搭建MySQL复制集 1 环境说明 MySQL版本 5.6 basedir :/u01/my3306 #MySQL软件目录 数据目录 :/u01/mysql/[实例名]/data 日志目录 :/u ...
- MySQL半同步复制搭建
默认情况下,MySQL 5.5/5.6/5.7和MariaDB 10.0/10.1的复制是异步的,异步复制可以提供最佳性能,主库把binlog日志发送给从库,这一动作就结束了,并不会验证从库是否接收完 ...
- CentOS6.5下源码安装多个MySQL实例及复制搭建
多实例安装本节是在CentOS6.5下源码安装MySQL5.6.35的基础上,在同一台机器增加一个MySQL实例.参考Centos中安装多个mysql数据的配置实例,安装目录为/usr/local/m ...
随机推荐
- MFC函数—— CWnd::PreCreateWindow
CWnd::PreCreateWindow virtual BOOL PreCreateWindow( CREATESTRUCT& cs ); 返回值: 如果要继续窗口的创建过程,则返回非零 ...
- SpringMVC深度探险(一) —— SpringMVC前传
在我们熟知的建立在三层结构(表示层.业务逻辑层.持久层)基础之上的J2EE应用程序开发之中,表示层的解决方案最多.因为在表示层自身的知识触角很多,需要解决的问题也不少,这也就难免造成与之对应的解决方案 ...
- 【转】两款 Web 前端性能测试工具
前段时间接手了一个 web 前端性能优化的任务,一时间不知道从什么地方入手,查了不少资料,发现其实还是蛮简单的,简单来说说. 一.前端性能测试是什么? 前端性能测试对象主要包括: HTML.CSS.J ...
- 去除QT不使用参数的警告
编译中出现以下警告: warning: unused parameter ‘arg1′ [-Wunused-parameter]原因是由于函数参数未使用,这在程序当中有时候很正常:所以个人认为此警告意 ...
- Dijkstra 算法,用于对有权图进行搜索,找出图中两点的最短距离
Dijkstra 算法,用于对有权图进行搜索,找出图中两点的最短距离,既不是DFS搜索,也不是BFS搜索. 把Dijkstra 算法应用于无权图,或者所有边的权都相等的图,Dijkstra 算法等同于 ...
- Sublime for mac 开发Golang : 一步步环境配置
安装Golang 在官网上直接下载安装包就可以了.下载pkg格式的最新安装包 ,直接双击运行,一路按照提示操作就可以完成安装. 或者使用brew进行安装 brew install go 完成安装之后, ...
- 自然语言交流系统 phxnet团队 创新实训 个人博客 (八)
今天想测试一下“庖丁”分词的效果,编写了一个测试小程序,从文件中读入文本,并将分词结果显示到控制台. 环境平台:Win7+eclipse 过程如下: 1.编辑paoding-analysis.jar中 ...
- JS 同一标签随机不停切换数据点菜--解决选择困难症
可视化的 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF- ...
- python-切片实例
针对list或tuple取指定范围的操作.可以使用切片(slice),非常有用 1.list:可变数组 L=['a','b','c','d','e'] >>> L[0:3] #从第0 ...
- 第三百三十七节,web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS
第三百三十七节,web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS PhantomJS虚拟浏览器 phantomjs 是一个基于js的webkit内核无头浏览器 ...