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选择 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6259dafa882e4019aca74685f2833f93.png) ### 二、前期准备 * 创建用户 ```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 ``` ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/eacdc30248d2473eb160d0087a0781b9.png) * 准备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 ``` ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/20bd057ad276419fa2e23171ef2f658c.png) * 登录mysql 8 ```sql mysql -S /data/mysql8/mysql.sock ``` ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/1f8c421a2d574511b4ef6efe20f78d3f.png) 完毕

相关推荐
计算机毕设指导630 分钟前
基于微信小程序的非物质文化遗产推广管理系统【源码文末联系】
java·spring boot·mysql·微信小程序·小程序·tomcat·maven
予枫的编程笔记30 分钟前
【MySQL飞升篇】分库分表避坑指南:垂直分库vs水平分表,分片键选对才不踩雷
mysql·分库分表·雪花算法·分布式id·水平分表·垂直分库·跨库查询
BYSJMG31 分钟前
大数据分析案例:基于大数据的肺癌数据分析与可视化系统
java·大数据·vue.js·python·mysql·数据分析·课程设计
液态不合群9 小时前
[特殊字符] MySQL 覆盖索引详解
数据库·mysql
盒马coding14 小时前
深度解密MySQL2PG工具MySQL至PostgreSQL语法全景拆解过程
数据库·mysql·postgresql
Nandeska14 小时前
13、MySQL半同步复制示例
数据库·mysql
液态不合群14 小时前
【面试题】MySQL 中 count(*)、count(1) 和 count(字段名) 有什么区别?
android·数据库·mysql
怣5015 小时前
MySQL聚合函数在查询中的五大核心应用
数据库·mysql
hai742516 小时前
在 Eclipse 的 JSP 项目中引入 MySQL 驱动
java·mysql·eclipse
丁劲犇16 小时前
CentOS 7.6 TCP连接奇慢故障排查:中文注释引发的sysctl配置异常
linux·tcp/ip·centos·速度慢