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
相关推荐
云中飞鸿1 分钟前
虚拟机需要连外网,同时笔记本连接wlan,IP经常变,该怎么配置网络?
服务器·网络·tcp/ip
j_xxx404_2 分钟前
Linux:进程控制(创建/终止/等待/获取退出信息/多进程)
linux·运维·服务器
长安城没有风4 分钟前
Java 高并发核心编程 ----- 线程池原理与实践(上)
java·juc
Remember_9934 分钟前
Spring 核心原理深度解析:Bean 作用域、生命周期与 Spring Boot 自动配置
java·前端·spring boot·后端·spring·面试
渡我白衣9 分钟前
【MySQL基础】(2):数据库基础概念
数据库·人工智能·深度学习·神经网络·mysql·机器学习·自然语言处理
风流倜傥唐伯虎10 分钟前
java多线程打印
java·多线程
80530单词突击赢13 分钟前
云原生时代:.NET与Java的K8s进化论
java
hhy_smile15 分钟前
Special method in class
java·开发语言
BUG_MeDe15 分钟前
LINUX MTU/MSS(1500 1460等)的一些理解
linux·运维·服务器
曹牧16 分钟前
Nginx:正向代理与反向代理
运维·nginx