2025最新centos7安装mysql8 相关 服务器配置 纯命令行操作 保姆级教程

目录

[用 yum 下载安装包](#用 yum 下载安装包)

[创建 mysql 的服务文件 mysql.service](#创建 mysql 的服务文件 mysql.service)

[mysql 的配置文件 my.cnf](#mysql 的配置文件 my.cnf)

[开启防火墙 开放 3306 端口](#开启防火墙 开放 3306 端口)

[配置 mysql 为环境变量](#配置 mysql 为环境变量)

[mysql 状态相关](#mysql 状态相关)

[查看 mysql 日志](#查看 mysql 日志)


用 yum 下载安装包

复制代码
# 更新系统包
sudo yum update -y

# 安装MySQL官方仓库(以MySQL 8.0为例)
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

# 安装MySQL服务器
sudo yum install -y mysql-community-server

# 启动MySQL服务
sudo systemctl start mysql

# 设置开机自启
sudo systemctl enable mysqld

# 查看初始密码(首次安装后需要)
sudo grep 'temporary password' /var/log/mysqld.log

# 安全配置(修改密码、移除匿名用户等)
sudo mysql_secure_installation

创建 mysql 的服务文件 mysql.service

复制代码
sudo vim /etc/systemd/system/mysql.service

相关配置

  • Basedir:MySQL 解压后的安装目录(你的路径是 mysql-8.0.20-linux-glibc2.12-x86_64

  • Datadir:MySQL 数据存储目录(需提前创建并设置权限:sudo mkdir -p /var/lib/mysql && sudo chown -R mysql:mysql /var/lib/mysql

  • ExecStartmysqld 二进制文件的绝对路径(基于 Basedir 路径)

  • UserGroup:运行 MySQL 的用户(需提前创建:sudo groupadd mysql && sudo useradd -r -g mysql mysql

    [Unit]
    Description=MySQL Server
    Documentation=man:mysqld(8)
    Documentation=https://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

    替换为你的MySQL安装目录

    Basedir=/usr/local/mysql-8.0.20-linux-glibc2.12-x86_64
    Datadir=/var/lib/mysql # 数据目录(确保存在且属主为mysql)
    Socket=/var/run/mysqld/mysqld.sock
    PIDFile=/var/run/mysqld/mysqld.pid

    启动命令

    ExecStart=/usr/local/mysql-8.0.20-linux-glibc2.12-x86_64/bin/mysqld --defaults-file=/etc/my.cnf $MYSQLD_OPTS

    重启策略

    Restart=on-failure
    RestartPreventExitStatus=1

    限制资源

    LimitNOFILE=5000

自己的配置

mysql 的配置文件 my.cnf

复制代码
sudo vim /etc/my.cnf

相关配置

复制代码
[mysqld]
basedir=/usr/local/mysql-8.0.20-linux-glibc2.12-x86_64
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
pid-file=/var/run/mysqld/mysqld.pid

重点需要注意的是 socket 配置 客户端和服务端端的套接字都要找到 mysql 路径

其次是 bind-address IP

开启防火墙 开放 3306 端口

配置

复制代码
# 临时开放(重启防火墙后失效)
sudo firewall-cmd --add-port=3306/tcp

# 永久开放(推荐)
sudo firewall-cmd --add-port=3306/tcp --permanent

# 重新加载防火墙使配置生效
sudo firewall-cmd --reload

检测

复制代码
# 查看已开放的端口列表
sudo firewall-cmd --list-ports

# 专门检查3306端口是否开放
sudo firewall-cmd --query-port=3306/tcp

配置 mysql 为环境变量

只要配置 profile 文件即可

添加配置

复制代码
export PATH=$PATH:/usr/local/mysql/bin

使其生效

复制代码
source etc/profile

验证

复制代码
echo $PATH
which mysql

mysql 状态相关

复制代码
# 重新加载systemd配置
sudo systemctl daemon-reload
# 查看mysql状态
sudo systemctl status mysql
# 启动mysql
sudo systemctl start mysql
# 重启mysql
sudo systemctl restart mysql

查看 mysql 日志

配置文件通常放在 var 目录下

复制代码
sudo tail -f /var/log/mysqld.log
相关推荐
小白电脑技术2 分钟前
飞牛漏洞焦虑?别瞎折腾WAF了!用Lucky五步搞定“防爬墙”
服务器·网络·安全
消失的旧时光-19432 分钟前
Nginx 是什么?为什么它不写在代码里?——从 0 认识 Nginx
运维·服务器·nginx
BJ_Bonree3 分钟前
4月17日,博睿数据受邀出席GOPS全球运维大会2026 · 深圳站!
大数据·运维·人工智能
RisunJan4 分钟前
Linux命令-lpq(查看打印队列状态)
linux·运维·服务器
powerfulhell5 分钟前
寒假python作业5
java·前端·python
山君爱摸鱼6 分钟前
Linux-服务进程
linux·运维·服务器
1尢晞16 分钟前
Java学习
java·开发语言
阿乐艾官7 分钟前
【linux文件系统重要目录及命令解释】
linux·运维·服务器
阿杰真不会敲代码8 分钟前
Mybatis-plus入门到精通
java·tomcat·mybatis
木井巳11 分钟前
【递归算法】二叉搜索树中第K小的元素
java·算法·leetcode·深度优先·剪枝