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) 完毕

相关推荐
a程序小傲7 小时前
京东Java面试被问:动态规划的状态压缩和优化技巧
java·开发语言·mysql·算法·adb·postgresql·深度优先
007php0079 小时前
mySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据
数据库·redis·git·mysql·面试·职场和发展·php
lkbhua莱克瓦249 小时前
进阶-存储过程3-存储函数
java·数据库·sql·mysql·数据库优化·视图
碎像10 小时前
10分钟搞定 MySQL 通过Binlog 数据备份和恢复
数据库·mysql
竹之却11 小时前
CentOS 系列,防火墙相关指令
linux·运维·centos
岁岁种桃花儿12 小时前
MySQL 8.0 基本数据类型全面解析
数据库·mysql·数据库开发
chuxinweihui14 小时前
MySQL数据库基础
数据库·mysql
无敌的牛14 小时前
MySQL基础
数据库·mysql
鱼跃鹰飞15 小时前
面试题:解释一下什么是全字段排序和rowid排序
数据结构·数据库·mysql
Dxy123931021615 小时前
MySQL连表查询讲解:从基础到实战
数据库·mysql