随着CentOS 8MySQL的发布,CentOS的存储库中不再提供世界上最流行的开源关系数据库管理系统MySQL,MariaDB已成为默认的数据库系统。
MariaDB是MySQL的向后兼容二进制替代。在本教程中,我们将向您展示如何在CentOS 8 Linux安装MySQL。
如果要安装MariaDB而不是MySQL,请查看我们的教程如何在CentOS 8安装MariaDB。
在开始本教程之前,请确保您你以root用户或者具有sudo权限的用户登录到CentOS服务器。
最好的做法是以sudo用户而不是root用户运行管理命令,如果您的系统上没有sudo用户,则可以查看我们的教程如何在CentOS创建sudo用户。
我们将向您展示如何安装MySQL 8.0。如果不确定要安装哪个版本,请查阅要在服务器上部署的应用程序的文档。在撰写本文时,MySQL的最新版本是8.0版。
然后使用yum安装MySQL 8.0,在安装过程中,yum可能会提示您导入MySQL GPG密钥。输入y
,然后按Enter
。
安装完成后,mysql将作为Systemd的服务在后台运行。你可以使用systemctl命令sudo systemctl enable mysqld
使其能够在重启时自动启动。
除了设置自动启动,你还需要进行第一次的MySQL服务的启动,运行命令sudo systemctl start mysqld
启动mysql服务。
然后你可以通过使用命令sudo systemctl status mysqld
来检查MySQL服务状态。
sudo yum install mysql-server
sudo systemctl enable mysqld
sudo systemctl start mysqld
sudo systemctl status mysqld
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since 三 2022-09-07 00:27:14 PDT; 2s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 1614 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 1691 (mysqld)
Status: "Server is operational"
Tasks: 39
CGroup: /system.slice/mysqld.service
└─1691 /usr/sbin/mysqld
连接MySQL
当MySQL安装完成后,你可能会想运行命令mysql -u root -p
登录到MySQL服务器。
如果你登录到CentOS的用户不是root用户你将不能访问MySQL服务器。如果你尝试使用密码登录也将被拒绝连接。
你将会收到类似于这样的消息(28000): Access denied for user 'root'@'localhost' (using password: YES)或者ERROR 1045 (28000): Access denied for user 'root'@'localhost'。
这是因为在MySQL 8.0,对root用户使用auth_socket
插件进行身份验证。auth_socket
插件仅对从localhost
连接到Unix socket文件用户进行身份验证。
这意味着您无法通过提供密码来以root用户连接到MySQL服务器。但你可以运行命令sudo mysql
连接到MySQL服务器。
sudo mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
mysql>
如果您要使用外部程序,例如phpMyAdmin。以root用户连接到MySQL服务器,则有两个选择。
第一个选项是将身份验证方法从auth_socket
更改为mysql_native_password
。您可以通过运行ALTER USER SQL语句命令来做到这一点。
第二个选项是创建一个新的专用管理用户,该用户可以访问所有数据库。
下面将使用第一个选项运行ALTER USER
SQL语句使root用户使用密码进行身份验证。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
FLUSH PRIVILEGES;
如果你需要配置MySQL用户的远程访问,可参考我们的教程如何允许MySQL数据库服务器的远程连接。
结论
在本教程中,我们向您展示了如何在CentOS 8服务器安装和连接MySQL服务器。如果您有任何问题或反馈,请随时发表评论。