Centos7,MySQL 5.7.23(稳定版) 生产环境,二进制压缩包官网安装步骤

1、进入MySQL官网,下载二进制tar.gz压缩包

  • 进入 MySQL Community Server 5.7 » mysql5.7社区版下载页面。选择版本、类型 然后进入下载地址。
    《Centos7,MySQL 5.7.23(稳定版) 生产环境,二进制压缩包官网安装步骤》 image
  • 不登录可以直接下载,下载后上传至服务器即可;或者直接右击复制下载地址,在服务器用wget命令下载。
    《Centos7,MySQL 5.7.23(稳定版) 生产环境,二进制压缩包官网安装步骤》 image 《Centos7,MySQL 5.7.23(稳定版) 生产环境,二进制压缩包官网安装步骤》 image

2、解压安装二进制tar,gz压缩包

  • 解压刚刚下载的tar.gz 压缩文件,并移动至/usr/local/mysql
shell> tar -xvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
shell> mv mysql-5.7.23-linux-glibc2.12-x86_64 /usr/local/mysql
  • 安装依赖命令
shell> yum install libaio

3、创建mysql用户、用户组、配置环境变量

shell> groupadd -g 27 -o -r mysql 
#注释:groupadd -g27 和 -o 选项用于分配一个非唯一的 group ID (GID), -r 选项使组成为系统组。
shell> useradd -M -N -g mysql -o -r -d /usr/local/mysql/data -s /bin/false -c "MySQL Server" -u 27 mysql
#注释  -M 选项为防止创建用户主目录
#      -N 选项表示应该将用户添加到 -g 选项指定的group中。
#      -o 和 -u 27选项分配一个非唯一用户ID (UID)。
#      -r 和 -s /bin/false 选项创建的用户不需要登录服务器主机。mysql用户仅用于所有权目的,而不用于登录。
#      -d 选项指定用户登录目录,该目录设置为MySQL数据目录路径。此次安装 本机mysql的数据目录为 /usr/local/mysql/data (安装目录可根据实际需求更改)
#      -c 选项指定了一个描述,mysql用户 的注释 
shell> export PATH=/usr/local/mysql/bin:$PATH #将 mysql bin目录添加至系统环境变量
  • 创建用于导入和导出操作的安全目录
    为了限制文件特权的范围,创建一个用户可以安全地使用文件特权进行导入和导出操作的目录。在此部署中,创建的目录名为mysql-files
shell> cd /usr/local/mysql  #进入mysql目录
shell> mkdir mysql-files    #创建文件夹
shell> chown mysql:mysql mysql-files  #将 mysql-files 文件夹的 所属组、所属用户 配置为 mysql组、mysql用户
shell> chmod 750 mysql-files #将 mysql文件夹权限配置为 750 即  所属用户拥有(读、写、执行)权限;所属组拥有(读)权限;其他用户无权限 
                             #  (linux文件、文件夹权限本文不做详细讲解)

4、初始mysql配置

  • 创建mysql配置文件、并分配权限
shell> cd /etc
shell> touch my.cnf #创建 mysql 配置文件 my.cnf
shell> chown root:root my.cnf   #将mysql 配置文件的所属组、所属用户 配置为 root组、root用户
shell> chmod 644 my.cnf   #将mysql配置文件的权限设置为 644 即 所属用户拥有(读、写)权限;所属组拥有(读)权限;其他用户拥有(读)权限
shell> vim my.cnf #编辑配置文件  配置内容如下
  • my.cnf 文件内容
[mysqld]
datadir=/usr/local/mysql/data  # mysql数据存储目录
socket=/tmp/mysql.sock
port=3306
log-error=/usr/local/mysql/data/localhost.localdomain.err
user=mysql #固定用户
secure_file_priv=/usr/local/mysql/mysql-files #设置导入导出文件目录 
local_infile=OFF #为了避免加载数据的本地版本可能出现的安全问题,请确保默认启用local_infile
max_connections = 200 # 支持的最大并发链接数,这个根据实际业务需求去设置
query_cache_size = 100M #指定MySQL查询缓冲区的大小,本机内存为2G 设置100M左右即可
thread_cache_size = 15  # 缓存的最大线程数,本机内存2G  设置15个左右即可
wait_timeout = 20 #(秒)指定一个请求的最大连接时间,默认为28800 (八小时)                             
expire_logs_days = 30 #超过30天的binlog删除
long_query_time = 1 #慢查询时间 超过1秒则为慢查询
slow_query_log_file = /etc/mysql/slow.log #查询日志文件
lower_case_table_names = 1 #不区分大小写
  • 初始化数据目录
shell> cd /usr/local/mysql
shell> mkdir data    #床架mysql用于存放数据的文件夹
shell> chmod 750 data    #设置权限
shell> chown mysql:mysql data    #分配文件夹 所属组、所属用户
shell> bin/mysqld --defaults-file=/etc/my.cnf --initialize #初始化数据目录  
#初始化的信息输出到了my.cnf中配置的 log-error 所在的错误日志文件中,其中包括初始的随机密码;结果如下图

《Centos7,MySQL 5.7.23(稳定版) 生产环境,二进制压缩包官网安装步骤》 image

5、mysql启动服务配置

shell> cd /usr/lib/systemd/system
shell> touch mysqld.service  #创建mysql服务文件
shell> chmod 644 mysqld.service  #配置权限
shell> vim mysqld.service  #编辑服务文件
#=================mysqld.service 文件内容 start=================
[Unit]
Description=MySQL Server
Documentation=man:mysqld(7)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target 
[Install]
WantedBy=multi-user.target 
[Service]
User=mysql
Group=mysql 
Type=forking 
PIDFile=/usr/local/mysql/data/mysqld.pid  #pid文件为 mysql存放数据的文件夹下 
TimeoutSec=0 # 为mysqld服务禁用系统的服务启动和停止超时逻辑。   
# 启动主服务   指定启动服务文件   默认配置文件  pid文件
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --daemonize --pid-file=/usr/local/mysql/data/mysqld.pid $MYSQLD_OPTS   
EnvironmentFile=-/etc/sysconfig/mysql 
# Sets open_files_limit
LimitNOFILE = 5000 
Restart=on-failure 
RestartPreventExitStatus=1 
PrivateTmp=false
#======================== end ======================================== 
  • 配置 systemd tmpfiles特性
#配置 systemd tmpfiles特性
shell> cd /usr/lib/tmpfiles.d
shell> touch mysql.conf
shell> chmod 644 mysql.conf
shell> vim mysql.conf
#==========mysql.conf 文件内容===============
d /usr/local/mysql/data 0750 mysql mysql  - 
#=============== end ================
  • 设置mysql服务开机启动、启动服务、查看服务启动状态、停止服务
shell> systemctl enable mysqld.service #设置服务开机启动  或者 systemctl enable mysqld 
shell> systemctl start mysqld.service #开启服务
shell> systemctl status mysqld.service #查看服务当前状态
shell> systemctl stop mysqld.service #停止服务
  • 服务启动成功状态 《Centos7,MySQL 5.7.23(稳定版) 生产环境,二进制压缩包官网安装步骤》 image

6、重置mysql root账户密码

shell> cd /usr/local/mysql/bin #进入mysql bin目录
shell> ./mysql -uroot -p 
#Enter password: 然后输入刚刚的临时密码 进入mysql命令行
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码'; 
#Query OK, 0 rows affected (0.00 sec)  修改成功

7、开启防火墙端口

shell> firewall-cmd --zone=public --add-port=3306/tcp --permanent  # --permanent选项为永久生效,没有此参数重启后失效
shell> firewall-cmd --reload  #重新加载防火墙

《Centos7,MySQL 5.7.23(稳定版) 生产环境,二进制压缩包官网安装步骤》

    原文作者:Joey_Java
    原文地址: https://www.jianshu.com/p/02ddf9892d00
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞