一、所需软件

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

二、安装说明

数据库所在目录 /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

三、安装

1、下载yum源。

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

centos7系统:

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

centos6系统:

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

2、安装rpm

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

3、修改yum源配置

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

安装mysql5.6操作

1、将enabled=1更改为enabled=0

2、将enabled=0更改为enabled=1

如图:

4、安装mysql

yum install mysql-community-server

5、替换配置文件

主库配置文件:

 [mysqld]
user=mysql
datadir=/database/mysql
socket=/var/lib/mysql/mysql.sock skip-name-resolve # Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links= #slow_queries
slow_query_log_file = /var/log/mysql/mysql_slow_query.log
long_query_time=
slow_query_log=
#binlog
server-id=
log_bin=/database/mysql-bin/mysql_bin
binlog_format=mixed
expire_logs_days= #innodb
innodb_buffer_pool_size=104G
innodb_log_file_size=512M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit=
innodb_file_per_table=
innodb_file_io_threads=
innodb_flush_method=O_DIRECT
innodb_io_capacity=
innodb_io_capacity_max=
innodb_lru_scan_depth=
innodb_thread_concurrency = #cache
##内部内存临时表的最大值
tmp_table_size=2G
character-set-server=utf8
collation-server=utf8_general_ci
##即跳过外部锁定
skip-external-locking
##MySQL能暂存的连接数量(根据实际设置)
back_log=
##指定索引缓冲区的大小,只对MyISAM表起作用,这里写上也没有关系
key_buffer_size=1024M
##这条指令限定用于每个数据库线程的栈大小
thread_stack=256k
##当一个查询不断地扫描某一个表,MySQL会为它分配一段内存缓冲区
read_buffer_size=8M
##线程缓存
thread_cache_size=
##查询缓存大小
query_cache_size=128M
##内部内存临时表的最大值,每个线程都要分配
max_heap_table_size=256M
##将查询结果放入查询缓存中
query_cache_type=
##代表在事务过程中容纳二进制日志SQL语句的缓存大小
binlog_cache_size = 2M
##同样是缓存表大小
table_open_cache=
##缓存线程
thread_cache= wait_timeout=
##表和表联接的缓冲区的大小
join_buffer_size = 1024M
##是一个connection级参数,在每个connection第一次需要使用这个buffer的时候,一次性分配设置的内存
sort_buffer_size=8M
##随机读取数据缓冲区使用内存
read_rnd_buffer_size = 8M #connect
##是一个MySQL中与安全有关的计数器值,它负责阻止过多尝试失败的客户端以防止暴力破解密码
max-connect-errors=
##连接数
max-connections=
##开启查询缓存
explicit_defaults_for_timestamp=true
##mysql服务器能够工作在不同的模式下,并能针对不同的客户端以不同的方式应用这些模式
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysqldump]
quick [mysqld_safe]
log-error=/var/log/mysql/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

mysql主库配置文件

从库配置文件:

 # For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html [mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at % of total RAM for dedicated server, else %.
# innodb_buffer_pool_size = 128M
#
# Remove lead/ing # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
user=mysql
datadir=/database/mysql
socket=/var/lib/mysql/mysql.sock
server-id= #以ip为mysql的server-id
skip-name-resolve # Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links= #slow_queries
slow_query_log_file = /var/log/mysql/mysql_slow_query.log
long_query_time=
slow_query_log= #innodb
innodb_buffer_pool_size=16G
innodb_log_file_size=512M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit=
innodb_file_per_table=
innodb_file_io_threads=
innodb_flush_method=O_DIRECT
innodb_io_capacity=
innodb_io_capacity_max=
innodb_lru_scan_depth=
innodb_thread_concurrency = #cache
##内部内存临时表的最大值
tmp_table_size=2G
character-set-server=utf8
collation-server=utf8_general_ci
##即跳过外部锁定
skip-external-locking
##MySQL能暂存的连接数量(根据实际设置)
back_log=
##指定索引缓冲区的大小,只对MyISAM表起作用,这里写上也没有关系
key_buffer_size=1024M
##这条指令限定用于每个数据库线程的栈大小
thread_stack=256k
##当一个查询不断地扫描某一个表,MySQL会为它分配一段内存缓冲区
read_buffer_size=8M
##线程缓存
thread_cache_size=
##查询缓存大小
query_cache_size=128M
##内部内存临时表的最大值,每个线程都要分配
max_heap_table_size=256M
##将查询结果放入查询缓存中
query_cache_type=
##代表在事务过程中容纳二进制日志SQL语句的缓存大小
binlog_cache_size = 2M
##同样是缓存表大小
table_open_cache=
##缓存线程
thread_cache= wait_timeout=
##表和表联接的缓冲区的大小
join_buffer_size = 1024M
##是一个connection级参数,在每个connection第一次需要使用这个buffer的时候,一次性分配设置的内存
sort_buffer_size=8M
##随机读取数据缓冲区使用内存
read_rnd_buffer_size = 8M #connect
##是一个MySQL中与安全有关的计数器值,它负责阻止过多尝试失败的客户端以防止暴力破解密码
max-connect-errors=
##连接数
max-connections=
##开启查询缓存
explicit_defaults_for_timestamp=true
##mysql服务器能够工作在不同的模式下,并能针对不同的客户端以不同的方式应用这些模式
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysqldump]
quick [mysqld_safe]
log-error=/var/log/mysql/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

mysql从库配置文件

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

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

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

6、编辑配置文件:

vim /etc/my.cnf

#修改server-id=171替换成

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

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

7、创建目录

创建日志所在目录

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

8、初始化、启动

初始化数据库

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

启动

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

9、初始化配置

命令 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 [刷新权限]

10、创建一个管理员账号

#登录mysql

mysql -uroot -pzxfly

#创建账号
grant all on *.*  to   'zxfly'@'192.168.0.% ' identified by 'zxfly';          [授权管理所用库]
FLUSH PRIVILEGES;                                          [刷新权限,写入磁盘]

四、主从复制

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

五、配置文件说明

1、基本配置

[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

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

可定义类型:

1、row

详细记录所有,会产生大量的日志。

2、statement(默认)

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

3、mixed

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

12 sync-binlog=1

默认为0 1是最安全的。

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

2、他是最慢的选择。

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

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

[mysqld_safe]

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

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

pid文件所在路径

2、优化项配置

#innodb引擎优化

# 配置项 说明
1 innodb_buffer_pool_size=104G

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

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

2、

2 innodb_log_file_size=512M

事务日志的大小

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

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

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

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

4、如果该值调大,并且为了减少崩溃恢复,应该将下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会自动选择定义的模式

六、检查

1、查看进程是否存在

ps -ef|grep mysql

2、查看是否可以登录

mysql -uzxfly -pzxfly

七、监控

1、zabbix-mysql监控

2、zabbix-mysql主从监控

八、启动、关闭和登录

1、启动

service mysqld start

2、关闭

service mysqld stop

3、重启

service mysqld restart

4、登录

mysql -uzxfly -pzxfly

九、压力测试

十、其他

mysql备份&还原

mysql5.6快速安装及参数详解的更多相关文章

  1. java架构之路-(分布式)初识zookeeper安装与参数详解

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的功 ...

  2. tcpdump安装与参数详解

    Centos7安装Tcpdump 对于大部分的Linux操作系统,已经默认安装了tcpdump,可以通过以下命令查看: [root@localhost local]# tcpdump --versio ...

  3. 【转】MySQL5.5的my.cnf 参数详解

    这篇文章很多地方只是翻译了my.cnf原始配置文件的说明 以下原文中有些参数事实上不适用于MySQL5.5,不知道原作者是否有经过实际测试,比如log-slow-queries应该写成slow-que ...

  4. Linux iftop 安装与参数详解

    介绍 iftop是一款实时流量监控工具,监控TCP/IP连接等,缺点就是无报表功能.必须以root身份才能运行. .编译安装如果采用编译安装可以到iftop官网下载最新的源码包. 安装前需要已经安装好 ...

  5. Xtrabackup 安装 参数详解

    目录 安装 常用参数详解 innobackupex 相关参数 xtrabackup相关参数 安装 继Xtrabackup 介绍,本次来讲解安装和使用. Xtrabackup的RPM包下载地址: 系统版 ...

  6. linux PHP 编译安装参数详解

    linux PHP 编译安装参数详解 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc -- ...

  7. mysql5.6主从参数详解

    mysql5.6的主从相当的不错,增加了不少参数,提升了主从同步的安全和效率,以下是mysql5.6主从参数详解. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

  8. Linux中Nginx安装与配置详解

    转载自:http://www.linuxidc.com/Linux/2016-08/134110.htm Linux中Nginx安装与配置详解(CentOS-6.5:nginx-1.5.0). 1 N ...

  9. mysql的my.cnf参数详解

    转载[Mysql] MySQL配置文件my.cnf的理解 一.缘由 最近要接手数据库的维护工作,公司首选MySQL.对于MySQL的理解,我认为很多性能优化工作.主从主主复制都是在调整参数,来适应不同 ...

随机推荐

  1. (十二)class文件结构:魔数和版本

    一.java体系结构 二.class格式文件概述 class文件是一种8位字节的二进制流文件, 各个数据项按顺序紧密的从前向后排列, 相邻的项之间没有间隙, 这样可以使得class文件非常紧凑, 体积 ...

  2. python面向对象之花里胡哨大杂烩

    python类的魔法方法之__str__.__repr__.__format__.__module__.__class__.__slots__.__call__.__del__(析构函数) 字符串的内 ...

  3. Zabbix设置触发器调用远程主机脚本实现触发告警后自动启动自愈功能

    参考:https://www.cnblogs.com/xiami-xm/p/8929163.html 当zabbix添加触发器后触发告警后可以设置发送邮件及短信告警,但是恢复故障需要运维人员收到告警以 ...

  4. thinkPHP 类库映射 类库导入

    遵循我们上面的命名空间定义规范的话,基本上可以完成类库的自动加载了,但是如果定义了较多的命名空间的话,效率会有所下降,所以,我们可以给常用的类库定义类库映射.命名类库映射相当于给类文件定义了一个别名, ...

  5. 报错Unsupported major.minor version 52.0的原因

    原因分析 很明显是JDK版本不一致所导致的,,我们知道Java是支持向后编译的,也就是说,在低版本(如JDK6)上编译的class文件或者jar文件可以在高版本上(如JDK8)上编译通过,但这并不意味 ...

  6. yml 文件中使用环境变量

    Spring Boot 中可以用 spring.profiles.active 参数来指定系统环境,让系统加载不同的配置文件. 可以在程序启动的时候加上参数来指定需要的配置 java -Dspring ...

  7. LinkedList的基本用法

    LinkedList类是双向列表,列表中的每个节点都包含了对前一个和后一个元素的引用. 博客原文地址链接:http://blog.csdn.net/i_lovefish/article/details ...

  8. TCP状态转换(图解+文字解说)

    <深入分析 javaweb 技术内幕>P38 读书扩展 作者:淮左白衣 写于2018年4月12日20:58:36 目录 TCP状态转换图解 图解三次握手 文字讲解三次握手: 图解四次挥手 ...

  9. RecursiveSequence(HDU-5950)【矩阵快速幂】

    题目链接: 题意:Si=S(i-1)+2*S(i-2)+i^4,求Sn. 思路:想到了矩阵快速幂,实在没想出来怎么构造矩阵.... 首先构造一个向量vec={a,b,16,8,4,2,1}. 在构造求 ...

  10. php类常量

    类常量类常量可以使用define定义,也可用const定义,但是在类的内部,只允许用const定义,类常量不能更新,也不能删除类常量通常是大写的,两个单词之间用下滑线连接,如MY_NATION类常量在 ...