在本文中,咱们将向你展现如何在CentOS 8操做系统上安装MySQL 8.0,可从默认的CentOS 8存储库中安装最新版本的MySQL数据库服务器8.0版,CentOS 8还提供了MariaDB 10.3,它是MySQL 5.7的直接替代品,但有一些限制,若是你的应用程序与MySQL 8.0不兼容,请安装MariaDB 10.3,参考在CentOS 7服务器中安装MariaDB 10.4的方法。html
在CentOS 8上安装MySQL 8.0mysql
经过以root用户或具备sudo特权的用户身份使用CentOS软件包管理器来安装MySQL 8.0服务器:linux
$ sudo dnf install @mysqlsql
@mysql模块将安装MySQL及其全部依赖项。shell
安装完成后,经过运行如下命令来启动MySQL服务并使它在启动时自动启动:数据库
$ sudo systemctl enable --now mysqldvim
要检查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
结论
CentOS 8随MySQL 8.0一块儿发行,安装就像键入dnf install @mysql同样简单。
如今你的MySQL 8服务器已启动并正在运行,能够链接到MySQL Shell,并开始建立新的数据库和用户。