创建一个已经存在数据的MySQL复制
1.配置master库
必须开启二进制日志和分配唯一的server id
·如果没设置server-id或将其设置为0,master节点会拒绝slave的连接
·建议在master节点设置innodb_flush_log_at_trx_commit=1和sync_binlog=1,保证复制环境事务的持久性和一致性
·不要在master节点开启skip-networking,否则网络断开后,slave节点就无法连接到master节点
# vim /etc/my.cnf
[mysqld]
server-id=1
log-bin=mysql-bin
2.master库中创建用于复制的用户
建议创建一个单独的用户用于复制(用户名和密码都会被存放在一个纯文本文件master.info中)
mysql> create user 'repl'@'%.mydomain.com' identified by 'slavepass';
mysql> grant replication slave,replication client on *.* to 'repl'@'%.mydomain.com';
3.配置salve库
配置唯一的server-id
slave节点可以不开启二进制日志,但是开启了二进制日志后,可以在slave节点进行数据备份和crash恢复操作
如果开启参数report-host=hostname,则可以在master节点使用命令"show slave hosts"
# vim /etc/my.cnf
[mysqld]
server-id=2
relay_log=/var/mysql/log/mysql-relay-bin
log_slave_updates=1 #备库将其重放事件也记录到自身的二进制日志中(会给服务器增加额外负担)
read_only=1
4.获取master的当前状态
启动复制必须要告诉slave节点从哪里开始复制,即master节点的二进制日志的当前位置
(1)在master节点,开启一个会话执行以下命令:
mysql> flush tables with read lock;
执行该命令会flush所有的表并阻塞其它对master的写操作。如果是innodb表,也会阻塞提交操作。
(2)在master节点,开启另一会话执行以下命令:
mysql > show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin. | | test | manual,mysql |
+------------------+----------+--------------+------------------+
5.原始数据同步到复制节点
(1)导出数据
# mysqldump --all-databases --master-data > fulldb.dump
mysql> unlock tables;
mysql> exit;
(2)将导出数据文件传送到复制节点
(3)启动slave,加上参数--skip-slave-start(不开启复制)
(4)在复制节点导入数据
# mysql < fulldb.dump
如果数据库较大,拷贝裸数据文件的效率会比mysqdump快。 最好是shutdown database进行冷拷贝
(1)将数据文件拷贝解压到相应的目录
(2)启动slave,加上参数--skip-slave-start(不开启复制)
6.使用master位置信息配置slave(二进制文件的名称和位置)
mysql> change master to
-> master_host='master_host_name',
-> master_user='replication_user_name',
-> master_password='replication_password',
-> master_log_file='recorded_log_file_name',
-> master_log_pos=recorded_log_position;
7.启动slave
mysql> start slave;
创建一个已经存在数据的MySQL复制的更多相关文章
- 如何创建一个django工程与和mysql打通
1. 安装Django # 在指定解释器环境下安装django 1.11.x # 在真实python3环境下: pip3 install django==1.11.x # 查看django版本: dj ...
- R 创建一个空的数据框
k = 16 #数据框的行数 z = data.frame( a = numeric(k), b = numeric(k), c = numeric(k), d = numeric(k) )
- 创建一个List获取数据的lookup
第一步,在类:syslookup中新建方法 public static client void lookupList(FormStringControl _formStringControl, Lis ...
- 【Xamarin开发 Android 系列 8】 创建一个Json读取数据应用(上)
后续将内容贴上来...........
- (转载)使用SQL-Server创建一个银行数据管理系统Ⅰ
首先,要创建一个完整的数据管理系统,不是一蹴而就的,一定要要一步一步的来,不断完善,最终方能达到自己想要的结果,所以我在这里也是一点一点分步来做的. 创建数据库,数据库属性在这里用的是默认(不推荐使用 ...
- Java开源报表Jasper入门(2) -- 使用JasperSoft Studio创建一个简单报表
在接下来的教程中,我们将实现一个简单的JasperReports示例,展现其基本的开发.使用流程.文章很长,不过是以图片居多,文字并不多. 实例中使用最新的Jasper Studio5.2进行报表设计 ...
- Linux内核分析第六周学习笔记——分析Linux内核创建一个新进程的过程
Linux内核分析第六周学习笔记--分析Linux内核创建一个新进程的过程 zl + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/U ...
- 利用django创建一个投票网站(四)
创建你的第一个 Django 项目, 第四部分 这一篇从第三部分(zh)结尾的地方继续讲起.我们将继续编写投票应用,专注于简单的表单处理并且精简我们的代码. 编写一个简单的表单 让我们更新一下在上一个 ...
- PS网页设计教程XXX——在PS中创建一个漫画书主题网页布局
作为编码者,美工基础是偏弱的.我们可以参考一些成熟的网页PS教程,提高自身的设计能力.套用一句话,“熟读唐诗三百首,不会作诗也会吟”. 本系列的教程来源于网上的PS教程,都是国外的,全英文的.本人尝试 ...
随机推荐
- Python操作Mysql实例代码教程在线版(查询手册)_python
实例1.取得MYSQL的版本 在windows环境下安装mysql模块用于python开发 MySQL-python Windows下EXE安装文件下载 复制代码 代码如下: # -*- coding ...
- Solidworks如何替换工程图参考零件
不要在左侧树形图右击修改 而是要在右侧主视图上右击,替换模型 左侧浏览找到新的零件,然后打开 替换完成之后,会有一些尺寸变成黄色,只需要改动黄色部分即可,不需要每个尺寸重新标注
- 坑人无数的Redis面试题
https://baijiahao.baidu.com/s?id=1588454565071211950&wfr=spider&for=pc 坑人无数的Redis面试题
- 关于Windows勒索病毒以及445端口防护
前两天,与这个周末,5月12日起,Onion.WNCRY两类敲诈者病毒变种在全国乃至全世界大范围内出现爆发态势,大量个人和企业.机构用户中招. 与以往不同的是,这次的新变种病毒添加了NSA(美国国家安 ...
- 带你走进EJB--将EJB发布为Webservice(2)
在企业级的应用程序中经常都要把用不同语言写成的.在不同平台上运行的各种程序集成起来,而这种集成将花费很大的开发力量. 简单的一个例子:应用程序经常需要从运行在A主机上的程序中获取数据:或者把数据发送到 ...
- 《Android开发艺术探索》图书勘误
第一章 在13页提到"系统仅仅在Activity异常终止的时候才会调用onSaveInstanceState与onRestoreInstanceState来储存和恢复数据.其它情况不会触发这 ...
- CSS3实现文字过渡移动
1.在需要移动的对象上加上a标签,并定义CSS <a><img src="/skin/images/ico-weixin.png" /><span&g ...
- oracle 判断字符串是否包含指定内容
1.情景展示 如何将表中的包含特殊字符的脏数据查出来? 2.instr()函数 语法: instr(string, substring[, start_position[, th_appearan ...
- Leveldb 使用说明文档
Leveldb 使用说明文档 原作者:Jeff Dean, Sanjay Ghemawat 翻译:乌合之众solym@sohu.com 英文原文地址https://rawgit.com/google/ ...
- C#程序实现窗体的最大化/最小化
C#程序实现窗体的最大化/最小化 http://blog.csdn.net/jiangqin115/article/details/41251215 private void button1_Clic ...