CentOS 7 安装 MySQL 8

CentOS 7 安装 MySQL 8

一、安装包下载

二进制包下载地址

https://dev.mysql.com/downloads/mysql/

这里选择 glibc 2.17的,因为CentOS是2.17的(使用命令ldd --version查看),根据自己操作系统参数选择对应的包,我这里操作系统是

root@mysql_0 tools# cat /etc/centos-release

RedHat Linux 7.9.200

MySQL选择

二、前期准备

  • 创建用户
bash 复制代码
 useradd  -s /sbin/nologin  mysql 
  • 创建安装了目录
bash 复制代码
 mkdir  -p    /application/ 
  • 创建数据目录
bash 复制代码
 mkdir  -p /data/mysql8 
  • 修改相关目录的属主信息
bash 复制代码
 chown -R    mysql:mysql  /data/mysql8/ 
 chown -R  mysql:mysql    /application/mysql8/

三、解压并安装

  • 将下载好的包上传到服务器 /server/tools目录下
bash 复制代码
tar -xf mysql-8.4.6-linux-glibc2.17-x86_64.tar.xz 
mv /application/mysql/mysql-8.4.6-linux-glibc2.17-x86_64/  /application/mysql8
  • 添加环境变量
bash 复制代码
vim /etc/profile
加入  mysql的路径
export PATH=/application/mysql8/bin:$PATH
source  /etc/profile
  • 数据初始化
bash 复制代码
/application/mysql8/bin/mysqld  --initialize-insecure --user=mysql --basedir=/application/mysql8  --datadir=/data/mysql8/data
  • 准备mysql 8 的配置文件
bash 复制代码
cat > /data/mysql8/my8.cnf << EOF
[mysqld]
user=mysql
basedir=/application/mysql8
datadir=/data/mysql8/data
socket=/data/mysql8/mysql.sock
server_id=80
port=3380
autocommit=0
gtid_mode=ON
enforce_gtid_consistency=ON
binlog_format = ROW  # 或 STATEMENT、MIXED
log_bin=/data/mysql8/mysql-bin
log_error=/data/mysql8/mysql_error.log
slow_query_log = 1
slow_query_log_file = /data/mysql8/data/slow.log
long_query_time = 0.1
log_queries_not_using_indexes = 1

[mysql]
socket=/data/mysql8/mysql.sock

[client]
socket=/data/mysql8/mysql.sock
EOF

四、配置系统服务(systemd)

  • 创建服务文件
bash 复制代码
 cat   >  /etc/systemd/system/mysqld8.service  << EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://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
ExecStart=/application/mysql8/bin/mysqld --defaults-file=/data/mysql8/my8.cnf
LimitNOFILE=5000
#重启策略
Restart=on-failure
RestartPreventExitStatus=1
PrivateTmp=false
 
EOF
  • 启动并设置开机自启
bash 复制代码
systemctl daemon-reload  # 重新加载服务配置
systemctl start mysqld8.service   # 启动服务
systemctl enable mysqld8.service  # 开机自启
systemctl status mysqld8.service  # 查看状态(确保为active running)

五、验证安装

  • 查看mysql版本

由于我这里环境还有别的版本,使用绝对路径查查看

bash 复制代码
/application/mysql8/bin/mysql -V
  • 登录mysql 8
sql 复制代码
mysql -S /data/mysql8/mysql.sock

完毕

相关推荐
我不会起名字32213 小时前
MySQL 深分页 LIMIT 1000000 卡死:3 种改写与 4 组实测对比
mysql·性能优化·索引·分页·limit
编程火箭车14 小时前
MySQL 拥抱 AI:向量、RAG、AutoML 全进了数据库
数据库·mysql·ai编程·向量数据库·rag·automl·mysql9
o_oer15 小时前
mysql type
mysql
花卷持续成长15 小时前
慢SQL的整体优化思路
后端·mysql
鱼很腾apoc15 小时前
【MySQL】第3期 索引、事务与视图系统详解
linux·mysql·事务·索引·dml·视图·macc
misty youth17 小时前
Navicat与PHPstudy小皮
mysql·adb·php·navicat
毕业设计70317 小时前
(免费领源码)SSM董家湾线上点餐系统04682- java、PHP、python、C#、小程序、大数据、单片机、网络工程等)
java·redis·mysql·tomcat·maven·mybatis·ssm
leaf9z17 小时前
阿里云rds查看所有库大小
mysql·阿里云
Yyyyyy~18 小时前
【Mysql】表的操作
数据库·mysql
Q264336502318 小时前
【有源码】基于SpringBoot+Vue的居民健康体检与慢病干预管理系统-面向智慧医疗的体检预约与健康知识服务平台
java·vue.js·spring boot·mysql·毕业设计·javaweb·课程设计