MySQL学习系列(2) -- MySQL数据库生产环境的安装和升级

本文详细介绍了在生产环境中安装MySQL 5.6.31和5.7.13的步骤,包括配置参数、SSL加密以及升级过程。特别强调了innodb_log_file_size的设置,以及在不同版本间如何平滑升级,避免数据丢失。
摘要由CSDN通过智能技术生成

===================================================================================================

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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值