暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

超详细的MySQL5.6安装部署教程

数据库干货铺 2019-07-25
518

一、MySQL版本的选择

  • 推荐选择MySQL官方版本,且选择MySQL5.6以后的版本。

  • 如选择Percona版本(例如5.6版本使用线程池等),但在5.6版本以后,官方版MySQL集成了Percon之前的优化。

  • 不建议选择MariaDB:无INNODB;且核心代码较老

  • MySQL在5.6以后不断重构源码,安装包越来越大,功能和性能在持续改进

二、下载

MySQL官网:

https://www.mysql.com/      

建议大家经常查看是否有更新及相关技术大牛文章

社区GA版下载地址:

https://www.mysql.com/

选择版本:例如Linux版本可以按照如下方式选择(版本、操作系统、操作系统版本)

下载完成后将其上传,如上传至/usr/local目录下。


三、安装

总体安装步骤概述如下:

  • 操作系统等相关配置设置

  • 安装依赖包

  • 创建用户

  • 修改配置文件、创建相关数据目录、日志目录等并授权

  • 运行安装命令,启动数据库

  • 配置环境变量、服务等(看需要)

1.操作系统等相关配置设置
查看CPU、内存、SSL版本、硬盘大小

# 查看物理CPU个数
cat proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
# 查看逻辑CPU的个数
cat proc/cpuinfo| grep "processor"| wc -l
# 查看CPU信息(型号)
cat proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

# 查看内存:
cat proc/meminfo

# 查看ssl版本
openssl version

#查看硬盘大小
df -lh

修改防火墙

service iptables stop
chkconfig iptables off


修改selinux

vim  etc/selinux/config
SELINUX=disabled
setenforce 0     ## 不重启机器生效


修改文件限制等

vim etc/security/limits.conf
* hard nofile 65535
* soft nofile 65535

ulimit -n 65535  (sudo sh -c "ulimit -a"检查)

修改控制文件

vim etc/sysctl.conf
kernel.sem=250 32000 100 128
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30


2. 生产环境安装对应包

yum install -y epel-release   
yum install -y glibc gcc gcc-c++ openssl-devel autoconf automake cmake bison make ncurses-devel numactl numactl-devel
yum install -y libtool-ltdl-devel*  zlib* libxml* fiex* 
yum install -y libaio libaio-devel libmcrypt libmcrypt-devel mcrypt mhash


3.创建用户

groupadd mysql
useradd -r -g mysql mysql


4.修改配置文件、创建相关数据目录、日志目录等并授权

# 切换到mysql安装包目录,并解压安装包

cd usr/local
tar -zxvf mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz


# 创建软连接 (以便于后期升级、或安装多实例等),并修改权限

ln -s mysql-5.6.40-linux-glibc2.12-x86_64 mysql5.6



chown -R mysql  .      # 注意    .为当前目录的意思
chgrp  -R root .         # 注意    .为当前目录的意思
或直接2步合并
chown -R mysql:mysql .



 

# 创建数据目录、日志目录、配置文件目录及临时文件目录并授权

mkdir -p  data/mysql/mysql4406/{data,logs,etc,tmp}    # 一次性创建多个目录,4406端口号(默认端口号为3306)

 

# 修改配置文件 (根据实际情况修改)

 主要参数配置如下,生产环境需要根据实际情况修改,配置参数说明请参见下一篇文章

vi data/mysql/mysql4406/etc/my4406.cnf

    [mysqld]
    server-id=4406
    port=4406
    basedir=/usr/local/mysql5.6
    datadir=/data/mysql/mysql4406/data
    socket=/data/mysql/mysql4406/tmp/mysql4406.sock


    log-error=/data/mysql/mysql4406/logs/mysqld4406.log
    pid-file=/data/mysql/mysql4406/tmp/mysqld4406.pid
    character-set-server=utf8
    max_binlog_size =1G
    log-bin=/data/mysql/mysql4406/logs/mysql-bin
    binlog-format=row
    expire_logs_days=7
    sync_binlog=1
    binlog_cache_size= 128M


    [client]
    port=4406
    socket=/data/mysql/mysql4406/tmp/mysql4406.sock
    复制

    # 修改权限

    chown -R mysql:mysql  data/mysql/mysql4406



    5. 安装MySQL

    做完上面一系列准备工作后,终于迎来了MySQL安装操作

    # 进入MySQL安装包所在目录,指定配置文件及用户进行安装

    scripts/mysql_install_db  --defaults-file=/data/mysql/mysql4406/etc/my4406.cnf --user=mysql



    如出现OK且无其他错误信息,即安装成功

    6. 配置服务

    如果需要配置服务(如进行开机自启动等),可以进行配置,生产环境上如有多个实例等不建议如此配置

    cp support-files/mysql.server etc/init.d/mysqld



    再将其中的basedir 、datadir路径及conf配置文件名等进行修改(如机器上只配置一个MySQL实例无需修改)

     

    7. 开启MySQL

    # 指定配置文件启动数据库(推荐),并在后台运行(执行下面命令时多次回车,专为小白而备注)

     

    /usr/local/mysql5.6/bin/mysqld_safe --defaults-file=/data/mysql/mysql4406/etc/my4406.cnf  & 


     # 服务方式启动(建议第一种方式,如此机器上只有一个mysql实例可以采用如下方式启动,多实例将在后续介绍)

    /etc/init.d/mysqld start



    8. 配置环境变量

    (看需要,如不配置,则运行mysql相关命令需要输入全路径,建议配置)

    vi /ect/profile

    #  末尾追加如下信息

    export PATH=$PATH:/usr/local/mysql5.6/bin
    export PATH

    # 使环境变量生效

    source /etc/profile

     

     

    四、登录MySQL,修改密码,创建账号及授权等

    1. 登录mysql

    说明:mysql5.6版本安装后默认root密码为空,即不输入密码即可进入,如下所示,其中-uroot 指 登录用户名,-P4406 表示端口号为4406(默认3306,当为3306时 可以不输入),--socket=/data/mysql/mysql4406/tmp/mysql4406.sock 为指定套接字方式登录(--socket可以写作-S)

    如果采用默认端口3306 ,则输入 mysql即可登录

    2. 修改密码

    # 修改当前账号密码

    mysql> set password=password('123456');
    mysql> flush privileges;     # 刷新权限



    3.创建账号并授权

    # 创建超级管理员账号

    mysql> grant all on *.* to root@'%' identified by '123456' with grant option;


    说明:

    all表示所有权限

     root为账号名,‘%’表示所有主机可以连接(mysql账号有账号名及主机组成一个用户名,相同账号不用主机属于不同用户)

     identified by '123456' 表示设置密码为123456

     with grant option 表示该账号有授权的权限,all权限不包含授权权限


    # 创建查询账号

    mysql> grant select on *.* to query@'%' identified by 'query';
    mysql> flush privileges;



     

    至此,mysql 5.6版本的安装,配置以及简单的创建账号等操作就完成了,具体日常操作命令将在后续推出。

      

    说明

    后续新建的mysql实例建议安装mysql5.7及后续版本,且持续关注新版本信息。


    最后修改时间:2020-05-26 11:35:51
    文章转载自数据库干货铺,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论