mysql sga_MySQL王者晋级之路(一)安装、体系结构和存储引擎

《MySQL王者晋级之路》张甦,电子工业出版社,2018.3

基于MySQL5.6和MySQL5.7

MySQL简介与主流分支版本

MySQL简介

MySQL AB -> Sun -> Oracle

MySQL主流分支版本

MySQL、Percona Server、MariaDB

官方版本的MySQL

MySQL 5.5 5.6 5.7 8.0

MySQL 8.0对源代码进行了重构,对MySQL Optimizer优化器进行了改进,支持隐藏索引

20180619143538.jpg

Percona Server

在InnoDB存储引擎的基础上,提升性能和易管理性,最后形成增强版的XtraDB引擎,可以更好地发挥硬件性能。

XtraDB-Cluster支持多点写入强同步高可用集群,实现实时同步,解决MySQL主从复制延迟问题

TokuDB存储引擎,支持数据压缩、高扩展性和优秀的查询插入性能

MariaDB

由开源社区维护,高度兼容

包含XtraDB存储引擎、TokuDB存储引擎、Spider水平分片存储引擎,支持基于表的并行复制、多源复制、Galera Cluster集群

MySQL数据库的安装、启动和关闭

下载MySQL二进制软件包

官网MySQL有四个版本:GA版、DMR版、RC版、Beta版。一般生产和测试环境使用GA版(常规可用的版本,经过bug修复测试)

wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

wget https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz

安装前系统环境检测

1、SELinux和系统防火墙iptables需要关闭

2、I/O调度系统默认是cfq模式,强烈建议使用deadline模式

cat /sys/block/sda/queue/scheduler

#cfq完全公平队列;noop电梯式调度;deadline截止时间调度

3、swap分区的设置

不分配swap或分配4GB的swap

swappiness控制如何使用swap分区,0表示最大限度使用物理内存,然后才使用swap,可能导致内存溢出,导致MySQL被意外kill掉;100,积极使用swap,把内存数据及时搬到swap,不建议

cat /proc/sys/vm/swappiness

编辑 /etc/sysctl.conf 加入vm.swappiess的值

4、文件系统的选择 [xfs]

5、操作系统限制

ulinit -a

open files和max user processes,建议均设置为65535

vim /etc/security/limits.conf

* soft nproc 65535

* hard nproc 65535

* soft nofile 65535

* hard nofile 65535

6、numa需要关闭

numa --interleave=all /usr/local/mysql/bin/mysqld_safe -defaults-file=/etc/my.cnf &

关闭numa,可以更好地分配内存,不需要采用swap的方式来获取内存

可以在BIOS、操作系统或者在数据库启动过程中关闭

yum install numactl

numastat -H 、lscpu

MySQL 5.6版本的安装过程

#第一部曲

1、创建MySQL用户,指定用户组

groupadd mysql

useradd -g mysql mysql -s /sbin/nologin

2、软件包放到/usr/local目录

cd /usr/local

tar zxf mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz

3、做个链接,方便以后升级

ln -s mysql-5.6.40-linux-glibc2.12-x86_64/ mysql

4、给MySQL目录授权

chown -R mysql:mysql mysql-5.6.40-linux-glibc2.12-x86_64/

#第二部曲

1、创建数据目录

mkdir -p /data/mysql

2、授权

chown mysql:mysql -R /data/mysql/

#第三部曲

配置数据库配置文件

Python

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

cat/etc/my.cnf

[client]

port=3306

socket=/tmp/mysql.sock

default-character-set=utf8

[mysql]

default-character-set=utf8

[mysqld]

port=3306

socket=/tmp/mysql.sock

basedir=/usr/local/mysql

datadir=/data/mysql

open_files_limit=65535

back_log=103

max_connections=512

max_connect_errors=100000

table_open_cache=512

external-locking=FALSE

max_allowed_packet=128M

sort_buffer_size=2M

join_buffer_size=2M

thread_cache_size=51

query_cache_size=32M

tmp_table_size=96M

max_heap_table_size=96M

slow_query_log=1

slow_query_log_file=/data/mysql/slow.log

log-error=/data/mysql/error.log

long_query_time=0.5

server-id=1323306

log-bin=/data/mysql/mysql-bin

sync_binlog=1

binlog_cache_size=4M

max_binlog_cache_size=128M

max_binlog_size=1024M

expire_logs_days=7

key_buffer_size=32M

read_buffer_size=1M

read_rnd_buffer_size=16M

bulk_insert_buffer_size=64M

character-set-server=utf8

default-storage-engine=InnoDB

binlog_format=row

#gtid_mode = on

#log_slave_updates 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值