全网最细!CentOS 7极速部署MySQL 8.0.23实战手册(附最佳参数模版)

一、部署前准备

1.1 环境检查清单

在进行MySQL部署前,请确认以下基础条件已满足:

检查项 标准要求
操作系统版本 CentOS 6/7(推荐7.6+)
内存 建议≥4GB(生产环境≥16GB)
磁盘空间 /分区≥30GB,数据盘按需求规划
网络连通性 确保yum源可访问

二、操作系统基础配置

2.1 关闭网络管理服务

根据系统版本选择相应操作:

▶ CentOS 6
# service NetworkManager stop
停止 NetworkManager 守护进程:                             [确定]
# chkconfig NetworkManager off
# chkconfig --list NetworkManager
NetworkManager 0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭
▶ CentOS 7
# systemctl stop NetworkManager.service

# systemctl disable NetworkManager.service

# systemctl status NetworkManager.service 

注意:关闭服务后需手动配置静态IP

2.2 关闭防火墙

防止防火墙拦截数据库连接:

▶ CentOS 6
# service iptables stop

iptables:将链设置为政策 ACCEPT:filter                    [确定]

iptables:清除防火墙规则:                                 [确定]

iptables:正在卸载模块:                                   [确定]

# chkconfig iptables off

# chkconfig ip6tables off

# chkconfig --list iptables

iptables         0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭

# chkconfig --list ip6tables

ip6tables        0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭
▶ CentOS 7
# systemctl stop firewalld.service

# systemctl disable firewalld.service 

# systemctl status firewalld.service 

2.3 关闭SELinux

# sed -i "s/SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config

# setenforce 0

2.4 配置本地YUM源

# mount  /dev/cdrom  /mnt

mount: block device /dev/sr0 is write-protected, mounting read-only

配置操作系统YUM源

# vi /etc/yum.repos.d/dvd.repo

[dvd]

name=dvd

baseurl=file:///mnt

gpgcheck=0

三、安装依赖与环境准备

3.1 安装编译依赖

yum -y install gcc make cmake ncurses-devel libaio-devel openssl-devel

3.2 创建部署用户

# groupadd -g 1001 mysql 

# useradd -u 1001 -g mysql mysql 

# echo 'mysql' | passwd --stdin mysql

3.3 创建部署目录

# mkdir /mysql/app -p

# mkdir /mysql/product -p

# chown -R mysql:mysql /mysql

# chmod -R 755 /mysql

四、MySQL 8.0.23安装

4.1 下载二进制包

访问官方下载页面选择对应版本:
https://dev.mysql.com/downloads/mysql/

全网最细!CentOS 7极速部署MySQL 8.0.23实战手册(附最佳参数模版)_第1张图片

4.2 解压安装包

tar -xvf mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz -C /mysql/app --strip-components=1

五、数据库初始化配置

5.1 编辑my.cnf

# vi /etc/my.cnf

mysql8.0 高效配置模板,一键提升数据库性能,自取

Mysql参数模版下载

5.2 初始化数据库

# cd /mysql/app

# ./bin/mysqld --defaults-file=/etc/my.cnf --initialize 

# grep 'temporary password' /mysql/product/data/myerror.log

2021-03-03T01:44:49.248365Z 1 [Note] A temporary password is generated for root@localhost: qdcf_Vl>k8LP

获取数据库初始登录临时密码:qdcf_Vl>k8LP

六、服务启动与验证

6.1 添加环境变量

# vi /root/.bash_profile

export PATH=/mysql/app/bin:$PATH

# source /root/.bash_profile

6.2 配置数据库服务

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

# vi /etc/init.d/mysqld

basedir=/mysql/app     #与上面创建的目录一致

datadir=/mysql/product/data   #与上面创建的目录一致

6.3 启停服务

# service mysqld start     //启动mysql

# service mysqld status    //查看启动状态

# service mysqld stop      //停止mysql

6.3 修改root密码

mysqladmin -uroot -p'初始临时密码' password 'NewSecurePwd@123'

6.4 设置远程登录

mysql> create user root@'%' identified by 'Hzmc321#';

mysql> grant all privileges on *.* to root@'%';


七、关键参数调优说明

参考文章我的另一篇文章

MySQL 8.0全参数深度解析,高效配置模板+避坑指南,一键提升数据库性能!」


八、运维注意事项

  1. 数据目录规划

    • 建议将数据目录挂载到独立磁盘
    • 使用LVM实现动态扩容
  2. 备份策略

    • 每日全量备份+每小时binlog备份
    • 推荐使用mysqldumpxtrabackup(使用参考我的另一篇文章Xtrabackup实战
  3. 监控工具

    • mysql-exporter+Prometheus+Grafana

九、FAQ常见问题

Q1: 初始化时报错Failed to create directory
检查部署目录权限:

chown -R mysql:mysql /mysql

Q2: 客户端无法远程连接数据库?
检查用户权限配置:

CREATE USER 'root'@'%' IDENTIFIED BY 'password';GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

推荐学习资料

  • MySQL 8.0 官方文档
  • MySQL日志全解析:类型、用途与运维实践
  • Mysql实战案例

如果觉得本教程有帮助,欢迎点赞+收藏!有疑问请在评论区留言
点击关注Mysql实战专栏,获取更多技术干货

你可能感兴趣的:(Mysql,centos,mysql,linux)