mysql5.6快速安装及参数详解

mysql5.6快速安装及参数详解

1、所需软件

软件名称 版本 下载地址 当前环境 管理员帐号/密码
mysql 5.6 yum安装 centOS6.7系统 zxfly/zxfly

2、安装说明

数据库所在目录 /database/mysql 新建目录mysql
sock文件路径 /var/lib/mysql/mysql.sock 自动生成
配置文件路径 /etc/my.cnf  
慢查询日志路径 /var/log/mysql/mysql_slow_query.log 新建mysql日志目录
错误日志路径 /var/log/mysql/mysqld.log  
pid文件 /var/run/mysqld/mysqld.pid 自动生成
binlog日志文件 /database/mysql-bin/mysql_bin*.log 新建目录mysql-bin

3、安装

一、下载yum源。

官网地址:http://dev.mysql.com/downloads/repo/yum/ html

centos7系统:mysql

wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpmweb

centos6系统:sql

wget http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm数据库

二、安装rpm

rpm -Uvh mysql57-community-release-el6-7.noarch.rpmvim

三、修改yum源配置

 vim /etc/yum.repos.d/mysql-community.repocentos

安装mysql5.6操做缓存

一、将enabled=1更改成enabled=0

二、将enabled=0更改成enabled=1

如图:安全

 

四、安装mysql

yum install mysql-community-server服务器

五、替换配置文件

主库配置文件:

mysql主库配置文件

从库配置文件:

mysql从库配置文件

复制配置文件到/etc/my.cnf

主库:cp my.cnf /etc/my.cnf

从库:cp my_web_slave.cnf /etc/my.cnf

六、编辑配置文件:

vim /etc/my.cnf

#修改server-id=171替换成

server-id=[配置为安装数据库所在服务器的ip]

说明:若是部署的mysql服务是做为从库来使用的话,还须要将bin_log项给注释掉。

七、建立目录

建立日志所在目录

mkdir -p /var/log/mysql

chown -R mysql.mysql /var/log/mysql

建立数据所在目录

mkdir -p /database/mysql

chown -R mysql.mysql /database/mysql

建立binlog所在目录(若是做为从库的话,能够跳过)

mkdir -p /database/mysql-bin

chown -R mysql.mysql /database/mysql-bin

八、初始化、启动

初始化数据库

mysql_install_db --user=mysql --datadir=/database/mysql

启动

service mysqld start #(第一次时间会相对长点,须要初始化,请耐心等待)

九、初始化配置

命令 mysql_secure_installation

Enter current password for root (enter for none):[回车跳过]

et root password? [Y/n] y  [是否设置root密码]
New password:                  [输入:zxfly]
Re-enter new password:    [输入:zxfly]
Remove anonymous users? [Y/n] y [删除匿名用户]
Disallow root login remotely? [Y/n] y [禁止root远程登陆]
Remove test database and access to it? [Y/n] y [删除test数据库]
Reload privilege tables now? [Y/n] y [刷新权限]

十、建立一个管理员帐号

#登陆mysql

mysql -uroot -pzxfly

#建立帐号

grant all on *.*  to   'zxfly'@'192.168.0.% ' identified by 'zxfly';          [受权管理所用库]

FLUSH PRIVILEGES;                                          [刷新权限,写入磁盘]

4、主从复制

MySQL主从部署文档:http://www.cnblogs.com/feiren/p/7722185.html

5、配置文件说明

一、基本配置

[mysqld]

# 配置项 说明
1 user=mysql 启动用户
2 datadir=/database/mysql 数据库所在路径
3 socket=/var/lib/mysql/mysql.sock sock文件所在目录
4 skip-name-resolve 禁用DNS解析,访问太慢加入此优化
5 symbolic-links=0 关闭符号链接
6 slow_query_log_file = /var/log/mysql_slow_query.log 慢查询日志所在路径
7 long_query_time=1 记录1秒以上的慢查询
8 slow_query_log=1 开启慢查询
9 server-id=171 每个mysql实例设置一个独立的server-id通常以IP定义
10 log_bin=/database/mysql/mysql_bin 二进制文件所在路径及格式
11

binlog_format=mixed

定义二进制文件输出的格式(混合型)

可定义类型:

一、row

详细记录全部,会产生大量的日志。

二、statement(默认)

记录sql语句,及其位置。在复杂的语句时可能记录不正确。

三、mixed

以上两种的结合,会自动选择。

12 sync-binlog=1

默认为0 1是最安全的。

一、当出现错误的时候,设置为1,最多会丢失一个事务。

二、他是最慢的选择。

三、可是确保恢复快的话,应该由双电源缓存机制存在。

13 expire_logs_days=14 保留二进制文件的天数

[mysqld_safe]

# 配置项 说明
1 log-error=/var/log/mysqld.log 错误日志路径
2

pid-file=/var/run/mysqld/mysqld.pid

pid文件所在路径

二、优化项配置

#innodb引擎优化

# 配置项 说明
1 innodb_buffer_pool_size=104G

缓存innodb表的索引,数据,插入数据时的缓冲,

一、官方建议设置为内存大小的80%,线上所挂载的大小为160G,可用130G,因此设置为104G

二、

2 innodb_log_file_size=512M

事务日志的大小

官方推荐为:日志大小*日志组大小(默认为2)不能超过512G

一、该值越大,写入磁盘IO越小,

二、该值越大,出现错误恢复越难

三、默认为48M,修改成512M,也就是在大并发的时候1G的日志刷入。

四、若是该值调大,而且为了减小崩溃恢复,应该将下main的innodb_flush_log_at_trx_commit改成1

3 innodb_log_buffer_size = 8M 事务在内存中的缓冲大小
4 innodb_flush_log_at_trx_commit=2 每秒将事务日志刷到磁盘中 (0:每秒刷一次 1:提交事务就刷入磁盘 2:有事务执行,而后每秒刷一次)
5 innodb_file_per_table=1 开启共享表空间自动收缩
6 innodb_file_io_threads=4 可用的IO线程数
7 innodb_flush_method=O_DIRECT 定义刷写模式(默认为:fdatasync) O_DIRECT会最小化缓冲对io的影响,
8 innodb_io_capacity=2000 定义读写IO的能力 和磁盘转速及大小有关
9 innodb_io_capacity_max=6000 每秒最大IO能力
10 innodb_lru_scan_depth=2000 通常与innodb_io_capacity的值相同
11 innodb_thread_concurrency = 0 不限制并发线程数

#cache缓存优化

# 配置项 说明
1 tmp_table_size=2G 内部(内存中)临时表的最大大小
2 character-set-server=utf8 更改默认字符集
3 collation-server=utf8_general_ci 指定字符串的比对规则
4 skip-external-locking 跳过外部锁定
5 back_log=1024 监听队列中所能保持的链接数
6 key_buffer_size=1024M 关键词缓冲的大小
7 thread_stack=256k 线程使用的堆大小. 此容量的内存在每次链接时被预留
8 read_buffer_size=8M 全表扫描的缓冲大小
9 thread_cache_size=64 在cache 中保留用于重用的线程个数
10 query_cache_size=128M 查询缓冲大小,保留select查询,下次一样查询能够直接返回结果
11 max_heap_table_size=256M 每一个表所容许的内存的最大容量(防止内存被大表直接占用完)
13 query_cache_type=1 开启查询缓存
14 binlog_cache_size = 2M binlog记录事务所保留的缓存大小
15 table_open_cache=128 每一个线程容许打开表的数量
16 thread_cache=1024 保留的用于从重用的线程数
17 thread_concurrency=24 向系统发送但愿用到的线程的个数(通常为CPU的数量的二到四倍)
18 wait_timeout=18000 sleep操做最大等待时间(即一个后台运行的命令最大时间)
19 join_buffer_size = 1024M 优化全联合,当联合表操做时,使用此缓存
20 sort_buffer_size=8M 排序操做缓存
21 read_rnd_buffer_size = 8M 排序完成后会放入此缓存,能够减小磁盘IO
22 max-connect-errors=100000 负责阻止过多尝试失败的客户端以防止暴力破解密码
23 max-connections=3000 最大链接数
24 explicit_defaults_for_timestamp=true 开启查询缓存
25 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 定义其工做模式,mysql会自动选择定义的模式

6、检查

一、查看进程是否存在

ps -ef|grep mysql

二、查看是否能够登陆

mysql -uzxfly -pzxfly

7、监控

一、zabbix-mysql监控

二、zabbix-mysql主从监控

8、启动、关闭和登陆

一、启动

service mysqld start

二、关闭

service mysqld stop

三、重启

service mysqld restart

四、登陆

mysql -uzxfly -pzxfly

9、压力测试

10、其余

mysql备份&还原

分类: mysql

相关文章
相关标签/搜索