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
相关推荐
CoderOnly15 分钟前
SQL,CROSS JOIN速度优化
数据库·sql·mysql
又是忙碌的一天1 小时前
Java IO流
java·开发语言
程序员buddha1 小时前
springboot-mvc项目示例代码
java·spring boot·mvc
LSL666_1 小时前
5 Repository 层接口
android·运维·elasticsearch·jenkins·repository
不懂英语的程序猿1 小时前
【Java 工具类】Java通过 TCP/IP 调用斑马打印机(完整实现)
java
老衲提灯找美女2 小时前
MySQL的增删改查功能合集
数据库·mysql·增删改查·增删改查详细用法
多多*3 小时前
分布式系统中的CAP理论和BASE理论
java·数据结构·算法·log4j·maven
sg_knight3 小时前
Docker 实战:如何限制容器的内存使用大小
java·spring boot·spring·spring cloud·docker·容器·eureka
电棍2333 小时前
在docker a100云服务器运行vulkan->sapien->robotwin的经验(报错segmentation fault)
运维·docker·容器
合作小小程序员小小店3 小时前
web网页开发,在线考勤管理系统,基于Idea,html,css,vue,java,springboot,mysql
java·前端·vue.js·后端·intellij-idea·springboot