原文地址:https://www.cnblogs.com/yangykaifa/p/19406741
MYSQL8是目前主流的数据库版本,相比MySQL5.7版本带来了更强的安全性、性能优化和新特性。本文将详细介绍在centOS7系统中通过官方yum仓库安装MySQL8的完整步骤,包括环境准备、安装配置、密码重置、远程访问等部分,适用于学习、测试及生产环境
一、环境准备
1.系统要求
操作系统:centOS7(64位)
权限:需root或sudo权限
依赖:系统已安装yum包管理器(centOS7默认自带)并配置镜像源
2.清理旧版本(可选)
如果系统中已经安装MySQL5.x或MariaDB(centOS7默认自带数据库)的话,需要先卸载,避免冲突
sudo systemctl stop mysqld mariadb -停止现有数据库服务
sudo yum remove -y mysql-server mariadb mariadb-server - 卸载已安装的数据库包
sudo rm -rf /var/lib/mysql /etc/my.cnf /etc/my.cnf.d - 删除残留文件(避免配置冲突)
二、安装MySQL8
1.配置MySQL官方yum仓库
第一步:
更新密钥
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
第二步:
下载MySQL8官方仓库包:
sudo rpm -Uvh https://dev.mysql.com/get/mysql84-community-release-el7-2.noarch.rpm

第三步:
验证仓库是否配置成功
yum repolist enable | grep mysql
如果输出包含mysql84-community相关的信息,说明仓库配置成功
2.目录创建(可选)
使用mkdir MYSQL命令创建一个空的目录并cd MYSQL进入目录
3.安装MySQL服务
通过yum安装MySQL核心服务包(mysql-community-server为服务主包):
安装MySQL8服务(自行解决依赖):
sudo yum -y install mysql-community-server

验证安装是否完成:
rpm -qa |grep mysql-community-server
如果输出mysql-community-server-8.x.x-xxx.el7.x86_64相关格式的信息,说明安装完成
4.启动MySQL并设置开机自启动
因为MySQL安装完成后会自动安装名称为mysqld’的服务,可以被systemctl所管理,所以:
启动MySQL服务并设置开机自启动
启动:sudo systemctl start mysqld
设置开机自启动:sudo systemctl enable mysqld
检查一下MySQL的运行状态:systemctl status mysqld

如果输出:active(running)这条绿色的消息说明服务启动成功
三、初始化配置
1.获取MySQL的初始密码
通过MySQL8安装后,会自动生成root用户的临时密码,存储在日志文件中,所以我们能够通过gerp命令,在/var/log/mysql.log中过滤关键字temporary password,得到初始密码:
grep 'temporary password' /var/log/mysqld.log
2.登录MySQL并重置密码
MySQL8强制要求首次登录后重置密码,否则无法进行其他操作
登录MySQL:
mysql -uroot -p
-u 登陆的用户,MySQL数据库的管理员用户与Linux系统一样,都是root
-p表示使用密码登录
之后输入第一步查询到的初始密码
2.1 重置密码
登陆上MySQL数据库后必须先修改默认密码,我们使用SQL语句去修改:ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
如果出现ERROR 1819代表密码强度不足,建议使用大小写字母+数字+特殊字符的形式设置
2.2 降低密码策略(可选,适用于测试、学习环境):
首先,运行SET GLOBAL validate_password.lemgth=6;降低密码长度要求
接着运行SET GLOBAL validate_password.policy=LOW;降低密码强度要求
最后运行ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';就可以改为6位数字密码了在这里
不允许远程登陆的,只允许在MySQL所在的Linux服务器中登录MySQL系统(注意:允许root远程登陆会带来安全风险,仅学习使用的话许可,工作的时候千万不要)就是默认情况下,root用户
2.3 退出并重新验证密码
退出MySQL控制台界面:
使用命令exit或快捷键ctrl+d

再次登录验证:
mysql -uroot -p
3.设置远程登录(可选)
第一次设置root远程登陆,并设置密码:
CREATE USER 'root'@'%' IDENTIFIED BY '密码'; 创建
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'; 赋予权限
flush privileges; 刷新权限
注意:密码需要长度大于八位,有大写字母,特殊符号(%是MySQL中的通配符)
后续修改密码:
ALTER USER 'root'@'%' IDENTIFIED BY '密码';
4.检查端口
一般来说,MySQL默认绑定3306端口,可以通过端口检测MySQL进程是否在运行:netstat -anp | grep 3306

如果通过端口查询不到也可以通过服务名mysqld检查MySQL进程是否在运行:
netstat -anp | grep mysqld

2402

被折叠的 条评论
为什么被折叠?



