• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > 新版mysql搭建多线程主从复制

新版mysql搭建多线程主从复制

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了mysql 主从复制,mysql主从配置,mysql主从,mysql主从复制原理,mysql主从同步等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

新版mysql搭建多线程主从复制










一:首先得到
mysql-5.7.11-1.el6.x86_64.rpm-bundle.tar

tar xf mysql-5.7.11-1.el6.x86_64.rpm-bundle.tar
yum install -y mysql-community-client-5.7.11-1.el6.x86_64.rpm mysql-community-common-5.7.11-1.el6.x86_64.rpm mysql-community-libs-5.7.11- 1.el6.x86_64.rpm mysql-community-libs-compat-5.7.11-1.el6.x86_64.rpm mysql-community-server-5.7.11-1.el6.x86_64.rpm

启动:
/etc/init.d/mysqld start
[root@vm10 mnt]# /etc/init.d/mysqld start
Initializing MySQL database: [ OK ]
Installing validate password plugin: [ OK ]
Starting mysqld: [ OK ]

获得初始密码:
grep 'temporary password' /var/log/mysqld.log
mysql -p 回车之后输入初始密码

改密码:
ALTER USER root@localhost identified by 'Redhat007!'
密码规则:必须大于八位 ,有大写,小写,数字,特殊字符

然后在里面创建数据库 xp1 后面测试要用
mysql> create database xp1;
然后我在 /mnt底下创建了add.sql (方便后面使用)代码如下:

  1. CREATE TABLE usertb (
  2. id serial,
  3. uname varchar(20),
  4. ucreatetime datetime ,
  5. age int(11)
  6. )
  7. ENGINE=MYISAM
  8. DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
  9. AUTO_INCREMENT=1
  10. ROW_FORMAT=COMPACT;

  11. delimiter $$
  12. SET AUTOCOMMIT = 0$$

  13. create procedure test1()
  14. begin
  15. declare v_cnt decimal (10) default 0 ;
  16. dd:loop
  17. insert into usertb values
  18. (null,'用户1','2010-01-01 00:00:00',20),
  19. (null,'用户2','2010-01-01 00:00:00',20),
  20. (null,'用户3','2010-01-01 00:00:00',20),
  21. (null,'用户4','2010-01-01 00:00:00',20),
  22. (null,'用户5','2011-01-01 00:00:00',20),
  23. (null,'用户6','2011-01-01 00:00:00',20),
  24. (null,'用户7','2011-01-01 00:00:00',20),
  25. (null,'用户8','2012-01-01 00:00:00',20),
  26. (null,'用户9','2012-01-01 00:00:00',20),
  27. (null,'用户0','2012-01-01 00:00:00',20)
  28. ;
  29. commit;
  30. set v_cnt = v_cnt+10 ;
  31. if v_cnt = 10000000 then leave dd;
  32. end if;
  33. end loop dd ;
  34. end;$$

  35. delimiter ;
然后在新创建的那个数据库中执行那段代码

触发代码中的存储过程
call test1 会在usertb 表中插入一千万行数据
如下证明数据已经插入

修改代码,在向其中创建表usertb1 ,然后继续触发,往里面写入一千万行数据
(创建两个表主要想让mysqldump和mysqlpump的差别更明显)
如下证明创建成功


测试mysqldump 和mysqlpump
mysqldump:

mysqlpump:
time mysqlpump -p xp1 > xp1.sql

如上,明显快了十秒,这还使用的是mysqlpump的默认线程数 2
time mysqlpump -pRedhat006! --default-parallelism=4 db1 > db1.sql
--default-parallelism=4 使用线程数 可以自己修改

做个mysql的A -- B复制
配置环境: master: 172.25.254.10
slave: 172.25.254.11
首先在master主机里
vim /etc/my.cnf
server-id=1
log-bin=mysql-bin
binlog-do-db=test
/etc/init.d/mysqld restart
mysql -pRedhat007!
用如下命令查看一下,看是否成功

新建test库: create database test;

授权:
mysql> grant replication slave on *.* to xpp@'172.25.254.11' identified by 'Redhat007!';
Query OK, 0 rows affected, 1 warning (0.40 sec)
/etc/init.d/mysqld restart

slave端: 172.25.254.11
vim /etc/my.cnf
server-id=2 与master不同即可
然后再slave上面安装最新版的mysql
首先验证master是否授权成功
mysql -pRedhat007! -uxpp -h172.25.254.10 如果可以登录进去的话就证明成功

mysql -pRedhat007!
新建test库,因为在做同步之前两个数据库中的内容必须一致
然后:chang master to master_host='172.25.254.10', master_user='xpp' , master_password='Redhat007!', master_log_file='mysql-bin.000001', master_log_pos=154;

/etc/init.d/mysqld restart

在master端:
MySQL 的新特性之一,是加入了全局事务 ID (GTID) 来强化数据库的主备一致性,故障恢复,以及容错能力
vim /etc/my.cnf 加如下两行,开启gtid模式

gtid-mode=on
enforce-gtid-consistency=on

/etc/init.d/mysqld restart

然后再slave上
vim /etc/my.cnf 加如下
gtid-mode=on
enforce-gtid-consistency=on
slave-parallel-type=LOGICAL_CLOCK
slave-parallel-workers=16
master_info_repository=TABLE
relay_log_info_repository=TABLE
relay_log_recovery=ON

/etc/init.d/mysqld restart




















分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 一次奇怪的MySQL复制故障
  • 新版mysql搭建多线程主从复制

相关文章

  • 2017-05-26Adapter模式实战-重构鸿洋的Android建行圆形菜单
  • 2017-05-26使用GNU parallel
  • 2017-05-26Android EditText只有下面有一条横线问题
  • 2017-05-26TextView,iostextview
  • 2017-05-26Android 拨号器的简单实现,android拨号器实现
  • 2017-05-26Android 系统版本&API对照表,android系统版本
  • 2017-05-26linux设备驱动程序之时钟管理(1)----最初的印象
  • 2017-05-26Android 优秀的开源框架整理,android开源框架
  • 2017-05-26安卓003快速入门
  • 2017-05-26React Native 出现红屏幕报连接服务失败,reactnative

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 关于jni编译32位、64位动态库(Android.mk和Application.mk文件),jniapplication.mk
    • 配置adb环境变量,adb环境变量
    • 硅谷新闻4--解决页签手指按下从左到右滑动的bug,硅谷4--
    • nginx rewrite常用示例
    • 显示当前光照强度,当前光照强度
    • Android Facebook和Twitter分享
    • Android编译错误——undefined reference to,androidundefined
    • Android 框架启动流程
    • Android中Window添加View的底层原理
    • BroadcastReceiver--Android广播机制,broadcastreceiver

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有