mysql 队列表设计_mysql主从同步操作,及队列设计
1.mysql主从同步操作
参考搜索文章:
http://7056824.blog.51cto.com/69854/400642
http://lymrg.blog.51cto.com/1551327/696132
http://tech.it168.com/a2009/0526/577/000000577322.shtml
http://www.aslibra.com/blog/read.php?1038
http://www.cnblogs.com/yuanermen/archive/2010/08/11/1797206.html
http://www.linux521.com/2009/database/200901/170.html
http://www.xuephp.com/main/detail.php?type=database&cid=16894
主库:
1> my.cnf
log-bin=master-bin 二进制文件的名字,开启二进制日志
log-bin-index=master-bin.index 正在使用的二进制文件的索引目录
binlog-format=maxed
server-id=1
binlog-do-db = yourdb 需要备份的数据库名,如果备份多个数据库,重复设置这个选项即可(据说是危险的)
binlog-ignore-db = mysql 不需要备份的数据库苦命,如果备份多个数据库,重复设置这个选项即可
2> server mysqld restart
3> 检测修改是否有效
mysql>show master status; 不应为空
mysql>show variables like 'log_bin'; 不应为NO
mysql>reset master; (清除日志文件)
mysql>show master logs;
4> 添加同步用户
mysql>GRANT REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO repl@'192.168.1.%' IDENTIFIED BY 'passwd';
mysql>FLUSH PRIVILEGES;
5> 上锁
mysql> FLUSH TABLES WITH READ LOCK;
6> 同步现有的数据库
tar -zcvf /tmp/mysql-yourdb.tar.gz ./yourdb
scp mysql-yourdb.tar.gz root@192.168.1.103:/tmp/mysql-yourdb.tar.gz
7> 解锁
mysql> show master status;
mysql-bin.000002 | 106 |
记录该值。以后设置从服务器时需要使用这些值。
它们表示复制坐标,从服务器应从该点开始从主服务器上进行新的更新。
mysql> unlock tables;
从库:
1> 复制原库数据
service mysqld stop
tar -zxvf mysql-yourdb.tar.gz 注意解开之后的目录权限.
2> my.cnf
server-id=2
3> 测试主库连接
mysql -urepl -h 192.168.1.105 -P 3306 -ppasswd
不通时检查网络,端口.(iptables)
3> 启动从库
mysql>change master to
master_host='192.168.1.105',
master_user='repl',
master_password='passwd',
master_port=3306,
master_log_file='mysql-bin.000002',
master_log_pos=106,
master_connect_retry=30;
4> 启动复制进程
mysql> START SLAVE;
5> 检查状态
mysql> show slave status \G;
上面出现: Slave_IO_Running: Yes 和 Slave_SQL_Running: Yes 表示复制正常
2.同步过程
http://www.diybl.com/course/6_system/linux/Linuxjs/2008108/149090.html
客户端--D->主库sql--A->主库binlog--B->从库relay-log--C->从库sql.
如果从库也开启binlog,则还可以继续级联同步下去.
mysql的同步过程是异步的,从库可以在任意时间开启,继续之前的同步.日志队列可以保证不会错过一条语句.
从库在线时,这个异步过程还是相当的快的.因为主库有更新时,会通知从库来取日志,而不是从库定时刷新主库.
A应该是原子性的,B,C的操作使数据达到最终一致性.
B,C出错时,同步过程会停止,等待人工干预.
D,C执行的是一样的语句.为了达到分布式执行的效果,mysql在主从两台机器上都写了日志文件.
简化,独立了B的操作,B只要完成binlog到relay-log的过程就好了.
3.队列设计
1> 日志文件单向增长
log-bin-index 日志文件索引
mysql-bin.000002 某日志文件
pos 坐标
从库按参数 master_log_file='mysql-bin.000002',master_log_pos=106, 来定位从队列的哪个位置开始读取数据.
对relay-log也是一样的定位.
3> 日志清理
http://www.jzxue.com/shujuku/mysql/201102/22-6298.html
mysql 队列表设计_mysql主从同步操作,及队列设计相关推荐
- 双机高可用、负载均衡、MySQL(读写分离、主从自动切换)架构设计
前几天网友来信说帮忙实现这样一个架构:只有两台机器,需要实现其中一台死机之后另一台能接管这台机器的服务,并且在两台机器正常服务时,两台机器都能用上.于是设计了如下的架构. 架构简介 此架构主要是由ke ...
- 学生管理系统的mysql数据库设计_MySQL数据库--学生管理系统数据库设计
目录 学生管理系统数据库设计 学生管理系统功能介绍 数据库设计步骤 第1步: 找对象 第2步:找属性 第3步: 找关系 建表原则 第4步: 找特例: 等级明显而且不包含敏感数据的信息建议保持为1张表 ...
- 学生管理系统的mysql数据库设计_MySQL 数据库 -- 学生管理系统数据库设计
MySQL 数据库 -- 学生管理系统数据库设计 目录 学生管理系统数据库设计 学生管理系统功能介绍 数据库设计步骤 第 1 步: 找对象 第 2 步: 找属性 第 3 步: 找关系 建表遵守原则 第 ...
- mysql 同步方式_MYSQL 主从同步详解
关于MYSQL主从同步 什么是MYSQL的主从复制 主从复制是指将一个服务器作为主服务器,所有的数据更新操作都在主服务器进行,并且将主服务器的数据同步到一个或多个从服务器,保证从服务器和主服务器的数据 ...
- mysql relaylog 慢_MySQL 主从同步延迟的原因及解决办法
mysql 用主从同步的方法进行读写分离,减轻主服务器的压力的做法现在在业内做的非常普遍. 主从同步基本上能做到实时同步.我从别的网站借用了主从同步的原理图. 在配置好了, 主从同步以后, 主服务器会 ...
- mysql 写入慢_MySQL主从,你遇到过哪些问题?
上篇文章介绍了单机环境下的MySQL主从异步复制和主从半同步复制的搭建过程.搭建过程很简单,但是在实际使用过程中,更多的是解决问题,本篇文章将介绍一下MySQL主从复制中常见的问题以及如何定位问题和如 ...
- mysql 半同步_mysql 主从同步 与 半同步
mysql主从同步复制定义 主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave).通过配置文件,可以指 ...
- mysql从服务器配置_mysql主从服务器配置基础教程
环境: A.B的MySQL数据库版本同为5.0.45-community-nt A: 操作系统:Windows xp IP地址:192.168.18.110 B: 操作系统:Windows xp 的I ...
- mysql workbench 闪电_MySQL Workbench下载|可视化数据库设计建模(MySQL Workbench) 8.0 最新版-闪电下载吧...
MySQL Workbench是一款专为MySQL设计的ER/数据库建模工具.它是著名的数据库设计工具DBDesigner4的继任者.你可以用MySQL Workbench设计和创建新的数据库图示,建 ...
最新文章
- 明日微博软件的NABCD分析
- JAVASCRIPT复制到剪贴板
- JSTL学习笔记3-----URL相关标签的使用
- python培训机构推荐-Python培训班哪家好?老男孩Python入门学习
- Tensorflow模型的保存与恢复的细节
- Mr.J--Javascript表格创建 模糊搜索 关键词搜索
- red hat linux 虚拟机,Red Hat linux 的安装详细流程(包括VM虚拟机的设置)
- 如何通过MongoDB自带的Explain功能提高检索性能?
- 【hdu2815-Mod Tree】高次同余方程-拓展BadyStepGaintStep
- 小型网站项目完整部署流程(Windows操作系统)
- html js注册表单代码,用户注册常用javascript代码
- mysql数据库有dbo吗_拒绝了对对象 '表名' (数据库 '数据库名',架构 'dbo')的 SELECT 权限...
- 开学啦!来淘宝教育体验开学第一课
- 超具性价比的学生神器,讯飞智能录音笔给足惊喜
- 【计算机网络】第七章:[网络层]网络协议(Part1.网络层首部)
- 使用TensorFlow进行图像识别
- 一款好的数据库监控工具:天兔数据库监控平台3.8搭建
- 三十六亿的《哪吒》历时五年,动画创作难如何解决?
- 2021年 Android面试知识点总结 (备战金三银四面试季),程序员翻身之路
- 对计算机专业的兴趣怎么说,我的职业兴趣-我似乎对任何领域都有兴趣,有时会很想知道计算机及其网络是怎么设计运作的,...
热门文章
- java复试容易被刷掉吗_推免生一定被录取吗复试会被刷吗
- jdbc代码_凯哥带你从零学大数据系列之数据库篇---第三章:JDBC基础
- LoadRunner第一次压测实践后的心得体会 收获
- python打开浏览器全屏_python 设置网页全屏显示
- mysql搜索所有表,mySQL查询来搜索数据库中的所有表以查找字符串?
- PO模式-unittest
- Python解决模块无法引用问题之pymysql模块导入
- 程序员面临 35 岁危机?网友:我 70 了,依然在写程序
- 最小二乘法、梯度下降法和两者区别
- mrst 实施编辑器 data流程