当前位置: 首页 > news >正文

CentOS 7 安装 MySQL 8.4.6(二进制包)指南

CentOS 7 安装 MySQL 8.4.6(二进制包)指南

MySQL社区版本下载地址:https://dev.mysql.com/downloads/mysql/ ,其中LTS为长期支持版本。

因CentOS7默认 glibc 版本为 2.17,官方不支持升级到 2.28,强行升级会破坏系统稳定性.

此处下载mysql-8.0.43-linux-glibc2.17-x86_64-minimal.tar.xz 最小安装版本。


🧰 一、创建可登录的 mysql 用户(由 root 执行一次)

# 创建用户组
sudo groupadd mysql# 创建可登录用户,主目录为 /home/ap/mysql
sudo useradd -r -g mysql -d /home/ap/mysql -s /bin/bash mysql# 创建主目录并设置权限
sudo mkdir -p /home/ap/mysql
sudo chown -R mysql:mysql /home/ap/mysql# 设置密码为 123456
echo 'mysql:123456' | sudo chpasswd

🚶 二、切换到 mysql 用户(后续操作都用该用户)

su - mysql# 设置下PS1和MySQL环境变量
vi .bash_profile# 添加行,此处文件夹不存在,可安装完成后配置
export PATH=/home/ap/mysql/mysql-8.0.43/bin:$PATH
export PS1="[\u@\h:\w] # "source .bash_profile

输入密码:123456


📦 三、下载并解压 MySQL 到指定目录

mysql-8.0.43-linux-glibc2.17-x86_64-minimal.tar.xz 文件放到 /home/ap/mysql/ 目录下。

cd /home/ap/mysql
tar -xf mysql-8.0.43-linux-glibc2.17-x86_64-minimal.tar.xz
mv mysql-8.0.43-linux-glibc2.17-x86_64-minimal mysql-8.0.43

✅ 解压后目录为:/home/ap/mysql/mysql-8.0.43

设置权限:

chown -R mysql:mysql /home/ap/mysql/mysql-8.0.43

🔧 四、初始化数据库

mkdir -p /home/ap/mysql/mysql-8.0.43/datacd /home/ap/mysql/mysql-8.0.43
./bin/mysqld --initialize-insecure \--user=mysql \--basedir=/home/ap/mysql/mysql-8.0.43 \--datadir=/home/ap/mysql/mysql-8.0.43/data

✅ 使用 --initialize-insecure 不生成随机密码,便于后续手动设置。


📁 五、创建配置文件 my.cnf(放在安装目录下)

touch /home/ap/mysql/mysql-8.0.43/my.cnf

写入以下内容:

[client]
port = 3306
socket = /home/ap/mysql/mysql-8.0.43/mysql.sock[mysqld]
port = 3306
socket = /home/ap/mysql/mysql-8.0.43/mysql.sock
datadir = /home/ap/mysql/mysql-8.0.43/data
basedir = /home/ap/mysql/mysql-8.0.43
user = mysql
bind-address = 0.0.0.0
skip-name-resolve
innodb_file_per_table = 1
default_authentication_plugin = mysql_native_password
log-error = /home/ap/mysql/mysql-8.0.43/data/mysql.err
pid-file = /home/ap/mysql/mysql-8.0.43/data/mysqld.pid

保存并退出。


🔄 六、配置 systemd 服务(需 root 权限)

此步仍需 root 权限,由管理员执行

切换回 root 用户:

exit

编辑或创建 /etc/systemd/system/mysqld.service 文件:

sudo touch /etc/systemd/system/mysqld.service

写入以下内容:

[Unit]
Description=MySQL Server
After=network.target[Service]
User=mysql
Group=mysql
ExecStart=/home/ap/mysql/mysql-8.0.43/bin/mysqld --defaults-file=/home/ap/mysql/mysql-8.0.43/my.cnf
ExecReload=/usr/bin/kill -HUP $MAINPID
ExecStop=/usr/bin/kill -TERM $MAINPID
PrivateTmp=true
Restart=always[Install]
WantedBy=multi-user.target

保存并退出。

重载 systemd:

sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable mysqld
sudo systemctl start mysqld

🔐 七、设置 root 密码为 123456,并允许远程访问

再次切换到 mysql 用户:

su - mysql

创建 ~/.my.cnf(当前用户配置)执行:

cat > ~/.my.cnf <<EOF
[client]
socket = /home/ap/mysql/mysql-8.0.43/mysql.sock
EOF

连接到 MySQL:

cd /home/ap/mysql/mysql-8.0.43
mysql -u root

在 MySQL 命令行中执行:

-- 设置 root 本地密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';-- 添加 root 远程访问权限
CREATE USER 'root'@'%' IDENTIFIED BY '123456';-- 授权远程 root 用户所有权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;-- 刷新权限
FLUSH PRIVILEGES;-- 退出
exit

🌐 八、开放防火墙(允许远程访问)

此步需 root 权限

切换回 root 用户:

exit

开放 MySQL 端口:

sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload

🧪 九、验证安装

mysql -u root -p

输入密码 123456,如果进入 MySQL 命令行界面,说明安装成功。


📁 十、目录结构说明

路径说明
/home/ap/mysql/mysql-8.0.43MySQL 安装目录
/home/ap/mysql/mysql-8.0.43/bin可执行命令
/home/ap/mysql/mysql-8.0.43/data数据目录
/home/ap/mysql/mysql-8.0.43/my.cnf配置文件
/home/ap/mysql/mysql-8.0.43/mysql.socksocket 文件
/home/ap/mysql/mysql-8.0.43/data/mysql.err错误日志

✅ 十一、总结

步骤内容
用户mysql(可登录)
安装路径/home/ap/mysql/mysql-8.0.43
数据目录/home/ap/mysql/mysql-8.0.43/data
root 密码123456
支持远程是(root@%
启动方式systemctl start mysqld

http://www.lryc.cn/news/600959.html

相关文章:

  • 学习嵌入式的第三十一天-数据结构-(2025.7.23)网络协议封装
  • Houdini快速模拟烟雾
  • 从0开始学linux韦东山教程Linux驱动入门实验班(5)
  • ThreadLocal--ThreadLocal介绍
  • SGLang 核心技术详解
  • 20250726-3-Kubernetes 网络-Service三种常用类型_笔记
  • 创建 Vue 项目的 4 种主流方式
  • 嵌入式——C语言:指针②
  • 智慧城市多目标追踪精度↑32%:陌讯动态融合算法实战解析
  • 【科普】java和html和lvgl生成页面有什么区别,还有什么方法可以生成?
  • Python深入 Tkinter 模块
  • OpHReda精准预测酶最佳PH
  • Ubuntu 22.04 配置 Zsh + Oh My Zsh + Powerlevel10k
  • dify前端应用相关
  • 超时进行报警例子
  • 成都陆军学校计算机科学学院编程马拉松活动计划书
  • linux线程概念和控制
  • java服务线程泄露临时解决脚本
  • .bat 打开方式恢复
  • QT中启用VIM后粘贴复制快捷键失效
  • CSS变量与Houdini自定义属性:解锁样式编程新维度
  • Aerospike架构深度解析:打造web级分布式应用的理想数据库
  • 数据科学与大数据技术专业的核心课程体系及发展路径全解析
  • TIM 输入捕获
  • 【AcWing 143题解】最大异或对
  • 秋招Day19 - 分布式 - 分布式事务
  • 15.6 DeepSpeed+Transformers实战:LLaMA-7B训练效率提升210%,显存直降73%
  • 复杂产品系统集成协同研发平台的研究与实现
  • MyBatis Plus 对数据表常用注解
  • 【C++基础】指针常量 | 常量指针 | int* p | const int* p | int* const p| const int* const p