centos8安装mysql8

本文详细介绍了如何在CentOS8上使用软件包管理器安装MySQL8.0服务器,包括启动服务、检查状态、增强安全性、修改身份验证插件及创建用户授权等步骤。

CentOS 8上安装MySQL 8.0
通过以root用户或具有sudo特权的用户身份使用CentOS软件包管理器来安装MySQL 8.0服务器:

$ sudo dnf install @mysql

@mysql模块将安装MySQL及其所有依赖项。
安装完成后,通过运行以下命令来启动MySQL服务并使它在启动时自动启动:

$ sudo systemctl enable --now mysqld

要检查MySQL服务器是否正在运行,请输入:

$ sudo systemctl status mysqld

返回信息如下:

mysqld.service - MySQL 8.0 database server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2019-10-17 22:09:39 UTC; 15s ago

注:说明安装MySQL 8.0成功了。

保护MySQL的操作
运行mysql_secure_installation脚本,该脚本执行一些与安全性相关的操作并设置MySQL根密码:

$ sudo mysql_secure_installation

系统将要求你配置VALIDATE PASSWORD PLUGIN(验证密码插件),该插件用于测试MySQL用户密码的强度并提高安全性,密码验证策略分为三个级别:低、中和强,如果你不想设置验证密码插件,请按Enter。
在下一个提示符下,将要求你设置MySQL root用户的密码,完成此操作后,脚本还将要求你删除匿名用户,限制root用户对本地计算机的访问,并删除测试数据库,你应该对所有问题回答“是”。
要从命令行与MySQL服务器进行交互,请使用MySQL客户端实用程序,它作为依赖项安装,通过键入以下内容测试根访问权限:

$ mysql -u root -p

在出现提示时输入root密码,然后将显示MySQL shell,如下所示:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.17 Source distribution

至此,已经在CentOS 8服务器上安装并保护了MySQL 8.0,并准备使用它。

身份验证的操作
由于CentOS 8中的某些客户端工具和库与caching_sha2_password方法不兼容,因此CentOS 8存储库中包含的MySQL 8.0服务器设置为使用旧的mysql_native_password身份验证插件,该方法在上游MySQL 8.0发行版中设置为默认。
对于大多数设置,mysql_native_password方法应该没问题,但是,如果你想将默认身份验证插件更改为caching_sha2_password,这样可以更快并提供更好的安全性,请打开以下配置文件:

$ sudo vim /etc/my.cnf.d/mysql-default-authentication-plugin.cnf
将default_authentication_plugin的值更改为caching_sha2_password:
[mysqld]
default_authentication_plugin=caching_sha2_password

关闭并保存文件,然后重新启动MySQL服务器以使更改生效:

$ sudo systemctl restart mysqld

创建普通用户授权

CREATE USER 'admin'@'%' IDENTIFIED BY 'Admin1234';
grant all on *.* to admin@'%';
flush privileges;

root用户授权
use mysql
update user set host='%' where user ='root';
update user set plugin='mysql_native_password' where user ='root';
grant all on *.* to 'root'@'%';
flush privileges;
CentOS 8安装 MySQL 8 数据库,可以按照以下步骤进行操作: ### 下载并安装 MySQL Yum Repository 首先,需要下载 MySQL 官方提供的 Yum Repository 包。可以通过 `wget` 命令来下载: ```bash wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm ``` 接着,使用 `dnf` 命令来安装下载的 repository 包: ```bash sudo dnf install mysql80-community-release-el7-1.noarch.rpm ``` ### 安装 MySQL 服务器 一旦 repository 被正确安装,就可以使用 `dnf` 来安装 MySQL 服务器了: ```bash sudo dnf install mysql-community-server ``` ### 启动 MySQL 服务 安装完成后,启动 MySQL 服务,并设置开机自动启动: ```bash sudo systemctl start mysqld sudo systemctl enable mysqld ``` ### 获取临时密码 MySQL 8 在首次安装后会生成一个临时密码,这个密码可以在日志文件中找到: ```bash sudo grep 'temporary password' /var/log/mysqld.log ``` ### 登录 MySQL 并更改密码 使用临时密码登录 MySQL 后,需要立即更改 root 用户的密码。由于 MySQL 8 的密码策略较为严格,如果希望设置简单的密码,可以先调整密码策略[^3]: ```sql SET GLOBAL validate_password.length = 0; SET GLOBAL validate_password.policy = 0; ``` 然后修改 root 用户的密码,并刷新权限[^4]: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password' PASSWORD EXPIRE NEVER; FLUSH PRIVILEGES; ``` ### 配置防火墙 为了允许外部访问 MySQL 服务,可能还需要配置防火墙规则: ```bash sudo firewall-cmd --permanent --add-port=3306/tcp sudo firewall-cmd --reload ``` ### 卸载旧版本(如有) 如果之前尝试过安装 MySQL 但遇到问题,建议彻底卸载旧版本[^2]: ```bash sudo dnf remove mysql-community-server sudo rm -rf /var/lib/mysql sudo rm -rf /etc/my.cnf ``` 完成以上步骤之后,MySQL 8 应该已经在你的 CentOS 8 系统上成功安装并运行了。记得根据实际需求进一步配置 MySQL 服务器。 ```bash # 检查MySQL服务状态 sudo systemctl status mysqld ``` 确保服务处于 active (running) 状态。如果有任何错误或警告信息,请检查日志文件 `/var/log/mysqld.log` 中的具体内容以进行故障排查。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值