===================================================================================================
0. summary
1. 生产环境如何安装mysql
. 1.1 innodb_log_file_size说明
. 1.2 使用编辑的my.cnf安装5.6.31
. 1.3 安装5.7.13
. 1.3.1 ssl加密
2. MySQL升级
. 2.1 停止数据库
. 2.2 注意datadir参数,改成真实路径,生产环境应该是和软件目录分离的,所以该步骤不需要
. 2.3 unlink mysql并link5.7路径
. 2.4 使用mysql_upgrade升级数据文件
. 2.5 关于降级
===================================================================================================
1. 生产环境如何安装mysql
参数文件来自
http://www.innomysql.com/article/21730.html
#### 需要注意的参数 #####
[mysqld] ---- [mysqld],[mysqld-5.7]这种tag表明了下面的配置在什么版本下才生效,[mysqld]下均生效
.....
.....
autocommit = 0 ---- 从5.6版本开始才有的autocommit模式
datadir = /mdata/mysql_data ---- 默认在/usr/local/mysql/data下面,权限一定是mysql:mysql
innodb_undo_logs = 128 ---- 建议在安装之前就确定好该值,后续修改比较麻烦
innodb_undo_tablespaces =3 ---- 建议在安装之前就确定好该值,后续修改比较麻烦
innodb_log_group_home_dir =/redolog/ ---- 根据实际情况修改,权限一定是mysql:mysql
innodb_undo_directory =/undolog/ ---- 根据实际情况修改,权限一定是mysql:mysql
innodb_log_file_size = 4G ---- 该参数在5.5以后才有,安装5.6的时候要注意先把该参数注释掉,等安装完成后,再行打开,后面会演示。5.7无需预先注释
log_error = error.log ---- 指定日志名,默认是$hostname.err
innodb_buffer_pool_size =2G ---- 建议配置操作系统内存的70%
=================================================
1.1 innodb_log_file_size说明
[root@lab11g data]# du -sh* | sort -n
1.7M mysql
4.0K auto.cnf
8.0K test
13M ibdata1
16K lab11g.err
49M ib_logfile0
49M ib_logfile1
636K performance_schema
初始化是49M, 生产环境推荐用4G, 至少2G. 5.5版本之前innodb有bug, 设大了会影响恢复速度。这个bug在5.5已经修复。
=================================================
1.2 使用编辑的my.cnf安装
#### 删除之前安装的内容 ####
[root@lab11g mysql]# rm -rfdata/*
[root@lab11g mysql]# lldata
总计 0
[root@lab11g mysql]# ps -ef| grep mysqld
root 16596 5918 0 23:15 pts/2 00:00:00 grep mysqld
#### 编辑配置文件 ####
[mysqld]
########basicsettings########
server-id = 11
port = 3306
user = mysql
bind_address =192.168.1.21 ---- 注意改地址
autocommit = 0
character_set_server=utf8mb4
skip_name_resolve= 1
max_connections= 800
max_connect_errors= 1000
#datadir =/data/mysql_data
datadir =/usr/local/mysql/data ---- 修改目录
#### 初始化 ####
[root@lab11gmysql]# scripts/mysql_install_db --user=mysql
Installing MySQLsystem tables...2016-06-25 23:44:16 0 [Warning] 'ERROR_FOR_DIVISION_BY_ZERO' isdeprecated and will be removed in a future release.
2016-06-2523:44:16 0 [Warning] 'NO_ZERO_DATE' is deprecated and will be removed in afuture release.
2016-06-2523:44:16 0 [Warning] 'NO_ZERO_IN_DATE' is deprecated and will be removed in afuture release.
2016-06-2523:44:16 0 [Note] ./bin/mysqld (mysqld 5.6.31-log) starting as process 17171...
#### 检查error.err ####
2016-06-2523:44:16 2b1aba700560 InnoDB: innodb-page-size has been changed from thedefault value 16384 to 8192.
2016-06-2523:44:16 17171 [Note] InnoDB: Using atomics to ref count buffer pool pages
2016-06-2523:44:16 17171 [Note] InnoDB: The InnoDB memory heap is disable