如何在CentOS 8上安装MySQL
MySQL是最流行的开源关系数据库管理系统。
可从默认的CentOS 8存储库安装最新版本的MySQL数据库服务器8.0版。
MySQL 8.0引入了许多新功能和更改,从而使某些应用程序与此版本不兼容。
在选择要安装的MySQL版本之前,请查阅要在CentOS服务器上部署的应用程序的文档。
CentOS 8还提供了MariaDB 10.3,它是MySQL 5.7的“直接替代品”,但有一些限制。
如果应用程序与MySQL 8.0不兼容,请安装MariaDB 10.3.
在本教程中,我们将向我们展示如何在CentOS 8系统上安装和保护MySQL 8.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
运行“ mysql_secure_installation”脚本,该脚本执行一些与安全性相关的操作并设置MySQL根密码:
sudo mysql_secure_installation
系统将要求我们配置“ VALIDATE PASSWORD PLUGIN”,该密码用于测试MySQL用户密码的强度并提高安全性。
密码验证策略分为三个级别:低,中和强。
如果我们不想设置验证密码插件,请按“ ENTER”。
在下一个提示符下,将要求我们设置MySQL root用户的密码。
完成此操作后,脚本还将要求我们删除匿名用户,限制root用户对本地计算机的访问,并删除测试数据库。
我们应该对所有问题回答“是”(是)。
要从命令行与MySQL服务器进行交互,请使用MySQL客户端实用程序,它作为依赖项安装。
通过键入以下内容测试根访问权限:
mysql -u root -p
在出现提示时输入root密码,然后将显示MySQLshell,如下所示:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 12 Server version: 8.0.17 Source distribution
就是这样!我们已经在CentOS服务器上安装并保护了MySQL 8.0,并准备使用它。
身份验证方法
由于CentOS 8中的某些客户端工具和库与“ caching_sha2_password”方法不兼容,CentOS 8存储库中包含的MySQL 8.0服务器被设置为使用旧的“ mysql_native_password”身份验证插件,该方法在上游MySQL 8.0中被默认设置为“ caching_sha2_password”方法。
释放。
对于大多数设置,“ 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