Linux-CentOS 7 上安装 MySQL 8.0.43(保姆级教程)

1.下载MySQL 8.0.43安装包并上传至Linux的/usr/loacl目录下

2.检查C++版本(下载对应版本的MySQL安装包)

复制代码
rpm -qa | grep glibc

3.解压MySQL 8.0.43安装包

复制代码
tar -xvf mysql-8.0.43-linux-glibc2.28-x86_64.tar.xz

4.创建MySQL安装目录

复制代码
cd /usr/local/mv mysql-8.0.43-linux-glibc2.28-x86_64 mysql

5.创建MySQL用户和组

复制代码
groupadd mysqluseradd -r -g mysql -s /bin/false mysql

6.创建MySQL数据目录并赋权

复制代码
mkdir -p /usr/local/mysql/datachown -R mysql:mysql /usr/local/mysql/

7.添加环境变量

复制代码
export MYSQL_HOME=/usr/local/mysqlexport PATH=$PATH:$MYSQL_HOME/bin

8.创建MySQL配置文件

复制代码
touch /etc/my.cnf[mysqld]port=3306basedir=/usr/local/mysqldatadir=/usr/local/mysql/datasocket=/usr/local/mysql/data/mysql.sockmax_connect_errors=10character-set-server=utf8mb4default-storage-engine=INNODBuser=root#skip-grant-tables[client]port=3306socket=/usr/local/mysql/data/mysql.sockdefault-character-set=utf8mb4

注意:不要有加空格 否则会找不到socket连接

9.初始化MySQL数据目录

初始化报错:

原因:

你下载并尝试运行的是 MySQL 官方编译好的 Linux 版本(针对 glibc 2.28 环境编译),但你的 当前 Linux 系统上的 C 标准库(glibc)和 C++ 标准库(libstdc++)版本太低,无法满足 MySQL 8.0.43 的运行要求。

解决办法:下载适合的MySQL版本

复制代码
/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize --console --user=root

初始化成功后 会有一个临时密码

注意:删除/usr/local/mysql/data目录后可以重新初始化

10.创建mysql.sock文件(重要)

复制代码
cd  /usr/local/mysql/data/touch mysql.sock

11.启动MySQL服务

复制代码
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &ps -ef | grep mysql

12.登录MySQL数据库

复制代码
/usr/local/mysql/bin/mysql --socket=/usr/local/mysql/data/mysql.sock -u root -ph<z#h&3Ua0%i

报错:

解决办法:将生成的临时密码使用单引号括起来即可

13.设置新密码

复制代码
alter user user() identified by "123456";

完成!

到此为止,你已经成功安装 MySQL 8.0.43。

相关推荐
随风飘的云2 小时前
mysql的innodb引擎对可重复读做了那些优化,可以避免幻读
mysql
Johny_Zhao13 小时前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
chlk1232 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑2 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件2 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
xy123062 天前
OpenStack Train 部署实战(三)控制节点--keystone服务
centos·openstack
深紫色的三北六号2 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash3 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI3 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
于眠牧北3 天前
MySQL的锁类型,表锁,行锁,MVCC中所使用的临键锁
mysql