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主从同步操作,及队列设计相关推荐

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

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

  2. 学生管理系统的mysql数据库设计_MySQL数据库--学生管理系统数据库设计

    目录 学生管理系统数据库设计 学生管理系统功能介绍 数据库设计步骤 第1步: 找对象 第2步:找属性 第3步: 找关系 建表原则 第4步: 找特例: 等级明显而且不包含敏感数据的信息建议保持为1张表 ...

  3. 学生管理系统的mysql数据库设计_MySQL 数据库 -- 学生管理系统数据库设计

    MySQL 数据库 -- 学生管理系统数据库设计 目录 学生管理系统数据库设计 学生管理系统功能介绍 数据库设计步骤 第 1 步: 找对象 第 2 步: 找属性 第 3 步: 找关系 建表遵守原则 第 ...

  4. mysql 同步方式_MYSQL 主从同步详解

    关于MYSQL主从同步 什么是MYSQL的主从复制 主从复制是指将一个服务器作为主服务器,所有的数据更新操作都在主服务器进行,并且将主服务器的数据同步到一个或多个从服务器,保证从服务器和主服务器的数据 ...

  5. mysql relaylog 慢_MySQL 主从同步延迟的原因及解决办法

    mysql 用主从同步的方法进行读写分离,减轻主服务器的压力的做法现在在业内做的非常普遍. 主从同步基本上能做到实时同步.我从别的网站借用了主从同步的原理图. 在配置好了, 主从同步以后, 主服务器会 ...

  6. mysql 写入慢_MySQL主从,你遇到过哪些问题?

    上篇文章介绍了单机环境下的MySQL主从异步复制和主从半同步复制的搭建过程.搭建过程很简单,但是在实际使用过程中,更多的是解决问题,本篇文章将介绍一下MySQL主从复制中常见的问题以及如何定位问题和如 ...

  7. mysql 半同步_mysql 主从同步 与 半同步

    mysql主从同步复制定义 主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave).通过配置文件,可以指 ...

  8. mysql从服务器配置_mysql主从服务器配置基础教程

    环境: A.B的MySQL数据库版本同为5.0.45-community-nt A: 操作系统:Windows xp IP地址:192.168.18.110 B: 操作系统:Windows xp 的I ...

  9. mysql workbench 闪电_MySQL Workbench下载|可视化数据库设计建模(MySQL Workbench) 8.0 最新版-闪电下载吧...

    MySQL Workbench是一款专为MySQL设计的ER/数据库建模工具.它是著名的数据库设计工具DBDesigner4的继任者.你可以用MySQL Workbench设计和创建新的数据库图示,建 ...

最新文章

  1. 明日微博软件的NABCD分析
  2. JAVASCRIPT复制到剪贴板
  3. JSTL学习笔记3-----URL相关标签的使用
  4. python培训机构推荐-Python培训班哪家好?老男孩Python入门学习
  5. Tensorflow模型的保存与恢复的细节
  6. Mr.J--Javascript表格创建 模糊搜索 关键词搜索
  7. red hat linux 虚拟机,Red Hat linux 的安装详细流程(包括VM虚拟机的设置)
  8. 如何通过MongoDB自带的Explain功能提高检索性能?
  9. 【hdu2815-Mod Tree】高次同余方程-拓展BadyStepGaintStep
  10. 小型网站项目完整部署流程(Windows操作系统)
  11. html js注册表单代码,用户注册常用javascript代码
  12. mysql数据库有dbo吗_拒绝了对对象 '表名' (数据库 '数据库名',架构 'dbo')的 SELECT 权限...
  13. 开学啦!来淘宝教育体验开学第一课
  14. 超具性价比的学生神器,讯飞智能录音笔给足惊喜
  15. 【计算机网络】第七章:[网络层]网络协议(Part1.网络层首部)
  16. 使用TensorFlow进行图像识别
  17. 一款好的数据库监控工具:天兔数据库监控平台3.8搭建
  18. 三十六亿的《哪吒》历时五年,动画创作难如何解决?
  19. 2021年 Android面试知识点总结 (备战金三银四面试季),程序员翻身之路
  20. 对计算机专业的兴趣怎么说,我的职业兴趣-我似乎对任何领域都有兴趣,有时会很想知道计算机及其网络是怎么设计运作的,...

热门文章

  1. java复试容易被刷掉吗_推免生一定被录取吗复试会被刷吗
  2. jdbc代码_凯哥带你从零学大数据系列之数据库篇---第三章:JDBC基础
  3. LoadRunner第一次压测实践后的心得体会 收获
  4. python打开浏览器全屏_python 设置网页全屏显示
  5. mysql搜索所有表,mySQL查询来搜索数据库中的所有表以查找字符串?
  6. PO模式-unittest
  7. Python解决模块无法引用问题之pymysql模块导入
  8. 程序员面临 35 岁危机?网友:我 70 了,依然在写程序
  9. 最小二乘法、梯度下降法和两者区别
  10. mrst 实施编辑器 data流程