新版mysql搭建多线程主从复制_PHP教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了新版mysql搭建多线程主从复制_PHP教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3818字,纯文字阅读大概需要6分钟。
内容图文
![新版mysql搭建多线程主从复制_PHP教程](/upload/InfoBanner/zyjiaocheng/191/d32b5cb371744666be22d7a8752d3978.jpg)
新版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 (方便后面使用)代码如下:
然后在新创建的那个数据库中执行那段代码
- CREATE TABLE usertb (
- id serial,
- uname varchar(20),
- ucreatetime datetime ,
- age int(11)
- )
- ENGINE=MYISAM
- DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
- AUTO_INCREMENT=1
- ROW_FORMAT=COMPACT;
- delimiter $$
- SET AUTOCOMMIT = 0$$
- create procedure test1()
- begin
- declare v_cnt decimal (10) default 0 ;
- dd:loop
- insert into usertb values
- (null,'用户1','2010-01-01 00:00:00',20),
- (null,'用户2','2010-01-01 00:00:00',20),
- (null,'用户3','2010-01-01 00:00:00',20),
- (null,'用户4','2010-01-01 00:00:00',20),
- (null,'用户5','2011-01-01 00:00:00',20),
- (null,'用户6','2011-01-01 00:00:00',20),
- (null,'用户7','2011-01-01 00:00:00',20),
- (null,'用户8','2012-01-01 00:00:00',20),
- (null,'用户9','2012-01-01 00:00:00',20),
- (null,'用户0','2012-01-01 00:00:00',20)
- ;
- commit;
- set v_cnt = v_cnt+10 ;
- if v_cnt = 10000000 then leave dd;
- end if;
- end loop dd ;
- end;$$
- 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
http://www.bkjia.com/PHPjc/1114327.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1114327.htmlTechArticle新版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-cl...
内容总结
以上是互联网集市为您收集整理的新版mysql搭建多线程主从复制_PHP教程全部内容,希望文章能够帮你解决新版mysql搭建多线程主从复制_PHP教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。