学习笔记--mysql5.7新版本

mysql5.7

在redhat6上安装新版本的mysql,若存在旧版本的mysql应卸载掉

mysql —version  查看mysql版本

rpm -qa | grep mysql   查看已经安装的mysql(需卸载的mysql包)

新版本安装包:mysql-5.7.11-1.el6.x86_64.rpm-bundle.tar

解压并安装:yum install -y mysql-community-*

安装成功后启动mysql服务:/etc/init.d/mysqld start

执行mysql_secure_installation进行安全初始化向导

[[email protected] mnt]# mysql_secure_installation

Securing the MySQL server deployment.

Enter password for user root:

这里提示输入root密码,这里与以往版本不同,新版本的密码此时已经生成,在/var/log/mysqld.log中查询temporary关键字:

2016-08-21T14:27:46.740332Z 1 [Note] A temporary password is generated for [email protected]: gw3;B:fDuJ?A

gw3;B:fDuJ?A即为初始密码,输入密码进行下一步

Remove anonymous users? (Press y|Y for Yes, any other key for No) :

####是否删除匿名用户,生产环境建议删除

Disallow root login remotely? (Press y|Y for Yes, any other key for No) :

####是否禁止root远程登录,根据自己的需求选择Y/n

Remove test database and access to it? (Press y|Y for Yes, any other key for No)

####是否删除test数据库

Reload privilege tables now? (Press y|Y for Yes, any other key for No) :

####是否重新加载权限表

提示All done!配置完成

AB复制

环境:server1.example.com         172.25.254.1

server2.example.com 172.25.254.2

将server1作为主服务器,server2作为从服务器,同步库之前需对该库进行数据手动同步

在server1上编辑mysql配置文件/etc/my.cnf添加以下参数:

log-bin=mysql-bin #启动二进制日志系统

binlog-do-db=test #二进制需要同步的数据库名,如果需要同步多个库,例如要再同步 westos库,再添加一行“binlog-do-db=westos”,以此类推

server-id=1#必须为 1 到 232–1 之间的一个正整数值

gtid-mode=ON          #启动GTID

enforce-gtid-consistency=on

官方文档介绍:

该特性最大的用处就是,如果我们的备库只是作为只读节点,那么就可以关闭复制线程的binlog来降低复制的开销(关闭 log_slave_updates),同时还会维持SQL线程拥有的事务GTID到系统表中。这样即使主备切换,我们也不会丢失GTID。而在之前的版 本中,是不允许在打开GTID时关闭log_slave_updates的。

当然了,如果你的备库是级联的一部分,也就是说,是另外一台备库的主库,这个特性就发挥不了作用啦。

在server2上编辑mysql配置文件/etc/my.cnf添加以下参数:

server-id=2

gtid-mode=on

enforce-gtid-consistency=on

在server1上

mysql> grant replication slave on *.* to ‘yml‘@‘172.25.254.2‘ identified by ‘[email protected]#‘;

# 授予用户权限用于主从同步

mysql>change master to master_host=‘172.25.254.1‘,master_user=‘yml‘,master_password=‘[email protected]#‘,master_auto_position=1

#在server2上启动从数据库,添加主DB server指向 自动寻找position号

mysql> start slave;

mysql> show slave status\G;

测试:

在主服务端对test库进行操作,并在从服务端查看是否同步,同时查看从服务端的mysql库中的gitd表

mysql> select * from gtid_executed;

+--------------------------------------+----------------+--------------+

| source_uuid                          | interval_start | interval_end |

+--------------------------------------+----------------+--------------+

| 67066110-67ab-11e6-a71d-525400237b2e |              1 |            1 |

+--------------------------------------+----------------+--------------+

开启并行复制

在从服务端配置文件中添加以下:

slave-parallel-type=LOGICAL_CLOCK

slave-parallel-workers=16           ####开启并行复制,线程为16

master_info_repository=TABLE

relay_log_info_repository=TABLE    ##这两条为官方推荐,能提升百分之50的性能

重启服务

mysql> show processlist;

+----+-------------+-----------+-------+---------+-------+--------------------------------------------------------+------------------+

| Id | User        | Host      | db    | Command | Time  | State                                                  | Info             |

+----+-------------+-----------+-------+---------+-------+--------------------------------------------------------+------------------+

| 23 | system user |           | NULL  | Connect | 25040 | Waiting for master to send event                       | NULL             |

| 24 | system user |           | NULL  | Connect | 25039 | Slave has read all relay log; waiting for more updates | NULL             |

| 25 | system user |           | NULL  | Connect | 25040 | Waiting for an event from Coordinator                  | NULL             |

| 26 | system user |           | NULL  | Connect | 25040 | Waiting for an event from Coordinator                  | NULL             |

| 27 | system user |           | NULL  | Connect | 25040 | Waiting for an event from Coordinator                  | NULL             |

| 28 | system user |           | NULL  | Connect | 25040 | Waiting for an event from Coordinator                  | NULL             |

| 29 | system user |           | NULL  | Connect | 25040 | Waiting for an event from Coordinator                  | NULL             |

| 30 | system user |           | NULL  | Connect | 25040 | Waiting for an event from Coordinator                  | NULL             |

| 31 | system user |           | NULL  | Connect | 25040 | Waiting for an event from Coordinator                  | NULL             |

| 32 | system user |           | NULL  | Connect | 25040 | Waiting for an event from Coordinator                  | NULL             |

| 33 | system user |           | NULL  | Connect | 25040 | Waiting for an event from Coordinator                  | NULL             |

| 34 | system user |           | NULL  | Connect | 25040 | Waiting for an event from Coordinator                  | NULL             |

| 35 | system user |           | NULL  | Connect | 25040 | Waiting for an event from Coordinator                  | NULL             |

| 36 | system user |           | NULL  | Connect | 25040 | Waiting for an event from Coordinator                  | NULL             |

| 37 | system user |           | NULL  | Connect | 25040 | Waiting for an event from Coordinator                  | NULL             |

| 38 | system user |           | NULL  | Connect | 25040 | Waiting for an event from Coordinator                  | NULL             |

| 39 | system user |           | NULL  | Connect | 25040 | Waiting for an event from Coordinator                  | NULL             |

| 40 | system user |           | NULL  | Connect | 25040 | Waiting for an event from Coordinator                  | NULL             |

| 42 | root        | localhost | mysql | Query   |     0 | starting                                               | show processlist |

+----+-------------+-----------+-------+---------+-------+--------------------------------------------------------+------------------+

此时多线程已经成功开启

时间: 2024-08-07 17:28:56

学习笔记--mysql5.7新版本的相关文章

thinkphp学习笔记8—命名空间

原文:thinkphp学习笔记8-命名空间 新版本(3.2)中采用命名空间的方式定义和加载类库文件,解决多个模块之间的冲突问题,并实现了更加高效的自动加载机制. 需要给类库定义所在的命名空间,命名空间的路径和类库文件的目录一致,就可以实现类的自动加载,例如Org\Util\File类的定义为 namespace Org\Util; class File { } 其所在的路径是ThinkPHP/Library/Org/Util/File.class.php,我们实例化该类写法如下: $class

MySQL学习笔记(基础部分)-单实例mysql-5.5.X安装

MySQL学习笔记(平台CentOS 6) 1.建立mysql账号 [[email protected] tools]# groupadd mysql [[email protected] tools]# useradd -s /sbin/nologin -g mysql -M mysql 2.配置安装环境 [[email protected] ~]# yum groupinstall 'Development Tools' -y [[email protected] ~]# yum insta

OpenCV 2.4.9 学习笔记(1)—— 基本功能结构

一些关于OpenCV(2.4.9版本)的学习笔记,作为记录,以免自己忘了. 安装与配置 OpenCV的下载.安装以及在各个平台(Windows/Linux等)配置网上有很多的资料,自己就不用存了.需要或者遇到问题的时候再说. 基本模块结构 OpenCV(Open Source Computer Vision Library),一个遵循BSD协议的计算机视觉技术开源库,包含了几百个计算机视觉算法.目前最新版本应该是OpenCV3.0,alpha版和beta版都有了,我目前是用的2.4.9,3.0版

C++ Primer 学习笔记_99_特殊工具与技术 --优化内存分配[续1]

特殊工具与技术 --优化内存分配[续1] 三.operator new函数和operator delete 函数 – 分配但不初始化内存 首先,需要对new和delete表达式怎样工作有更多的理解.当使用new表达式 string *sp = new string("initialized"); 的时候,实际上发生三个步骤: 1)首先,表达式调用名为operator new 的标准库函数,分配足够大的原始的未类型化的内存,以保存指定类型的一个对象; 2)接下来,运行该类型的一个构造函数

马哥学习笔记七——LAMP编译安装之MYSQL

1.准备数据存放的文件系统 新建一个逻辑卷,并将其挂载至特定目录即可.这里不再给出过程. 这里假设其逻辑卷的挂载目录为/mydata,而后需要创建/mydata/data目录做为mysql数据的存放目录. 2.新建用户以安全方式运行进程: # groupadd -r mysql # useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql # chown -R mysql:mysql /mydata/data 3.安装并初始化my

MongoDB学习笔记—权限管理

1.MongoDB权限介绍 a 上篇文章中,我们在Linux下配置了MongoDB环境并且将其设置为服务随机器启动而启动,那么接下来这篇文章我们就来简单说一下MongoDB下对登录用户权限的管理. b  MongoDB安装完成后,默认是不需要输入用户名密码即可登录的,但是往往数据库方面我们会处于安全性的考虑而设置用户名密码,本篇文章主要介绍了MongoDB添加管理员/普通用户的方法. c 在我们使用的关系型数据库中,一般都是含有权限控制的,也就是说配置什么用户访问什么数据库,什么数据表,什么用户

windows下《七天学会NodeJS》学习笔记之二--代码的组织和部署

本系列第一篇:<windows下<七天学会NodeJS>学习笔记之一--NodeJS基础>,请参见这儿:http://blog.csdn.net/fm2005/article/details/41348813 模块路径解析规则:nodejs支持三种解析方式:/或C:开头的绝对路径:./开头的绝对路径:按照一定规则解析路径,直到找到模块位置. 内置模块:如果传递给require的是NodeJS内置模块名称,则不解析,直接返回内部模块导出对象. node_modules目录:node_

hadoop 学习笔记:mapreduce框架详解

hadoop 学习笔记:mapreduce框架详解 开始聊mapreduce,mapreduce是hadoop的计算框架,我 学hadoop是从hive开始入手,再到hdfs,当我学习hdfs时候,就感觉到hdfs和mapreduce关系的紧密.这个可能是我做技术研究的 思路有关,我开始学习某一套技术总是想着这套技术到底能干什么,只有当我真正理解了这套技术解决了什么问题时候,我后续的学习就能逐步的加快,而学习 hdfs时候我就发现,要理解hadoop框架的意义,hdfs和mapreduce是密不

Android学习笔记(二)--iparty登陆界面

打开应用,判断是否第一次使用. 1 private void beforeInitMenu() { 2 AppContext appContext = (AppContext) getApplicationContext(); 3 4 if (appContext.isFirstLogin()) { 5 // 第一次启动 6 //如果第一次启动,出现5张引导图片. 7 Intent intent = new Intent(this, GuideActivity.class); 8 startAc