Chinaunix首页 | 论坛 | 博客
  • 博客访问: 660154
  • 博文数量: 125
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 962
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-14 10:20
个人简介

我是一只小白兔~

文章分类

全部博文(125)

文章存档

2017年(16)

2016年(108)

2014年(1)

我的朋友

分类: 系统运维

2016-04-02 10:15:29









一:首先得到  
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




















阅读(1189) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~