CentOS 7 如何安装 MySQL
CentOS 7 更适配 MariaDB , MariaDB 是 MySQL 的一个分支,最初由 MySQL 开发者维护,MariaDB 设计为 MySQL 的替代品。
当我们在 CentOS 7 上运行 yum install mysql
命令,主机会安装 MariaDB 而不是安装 MySQL ,MariaDB 通常可无缝替代 MySQL 。而 MySQL 数据库进阶能力之一,MySQL 高效查询搜索,我推荐大家也可以试试「卡拉搜索」,一行代码即可快速部署,瞬间提升你的 MySQL 数据库搜索效率。
本教程主要讲解如何在 CentOS 7 服务器上安装 MySQL
准备工作
要跟随本教程学习,请先准备以下内容:
- 可使用 sudo 命令的非 root 用户。
- 已初始化设置好的 CentOS 7 。如不了解如何初始化,请参考《Linux 服务器初始化教程(ubuntu版)》指南。
第1步:安装 MySQL
如前文所述,安装 MySQL 的 yum 命令实际上是在安装 MariaDB 的。要安装 MySQL ,我们需要访问 the MySQL community Yum Repository ,这个 MySQL 社区提供了 MySQL 的软件包下载。
在浏览器中,访问:
https://dev.mysql.com/downloads/repo/yum/
注意:点击下载链接会跳到登录页面,邀请我们注册下载。其实如果不想注册,下面有一行小字“No thanks, just start my download.” 点击这行字即可跳过注册过程。
找到所需的版本并下载:
https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
保存rpm文件后,我们使用md5sum
命令来检测下载文件与网站上表示的 MD5 码是否一致,已确定下载的完整性。
md5sum mysql80-community-release-el7-3.noarch.rpm
Output
893b55d5d885df5c4d4cf7c4f2f6c153 mysql80-community-release-el7-3.noarch.rpm
输出的 MD5 与网站上列出的 MD5 值进行比较:
一样的 MD5 值。说明我们下载的文件没有破损和更改。接下来,我们来安装这个包
既然我们已经确认文件没有损坏或更改,我们将安装该软件包:
sudo rpm -ivh mysql80-community-release-el7-3.noarch.rpm
此命令将添加 2 个新的 MySQL yum repositories ,接下来,我们现在可以用它来安装 MySQL 服务器了:
sudo yum install mysql-server
执行命令后,按 Y
继续安装。由于我们刚刚添加了新软件包,因此,系统还会提醒我们接受 GPG 密钥。按下 Y
下载并完成安装。
第2步:启动MySQL
我们将使用以下命令启动守护程序:
sudo systemctl start mysqld
systemctl
不会显示全部 server 的结果,因此为确保成功,我们用以下命令:
sudo systemctl status mysqld
如果 MySQ L已成功启动,则输出Active: active (running)
,最后一行应类似于:
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since 五 2020-08-28 02:28:53 CST; 3s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 5346 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 5429 (mysqld)
Status: "Server is operational"
Tasks: 39
Memory: 265.4M
CGroup: /system.slice/mysqld.service
└─5429 /usr/sbin/mysqld
8月 28 02:28:41 bogon systemd[1]: Starting MySQL Server...
8月 28 02:28:53 bogon systemd[1]: Started MySQL Server.
注意:安装MySQL 时,它将在加载系统时,自动启动。我们可以通过以下方式进行更改:sudo systemctl disable mysqld
在安装过程中,系统会为 MySQL 根用户生成一个临时密码。
密码会存在 mysqld.log
中,我们可以通过以下命令来查看这个临时密码。
sudo grep 'temporary password' /var/log/mysqld.log
Output
2020-08-27T18:28:45.488399Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ozA-hi_lf6/1
记下密码,下一步将需要此密码来保护安装。
默认密码至少12位,至少包含一个大写字母,一个小写字母,一个数字和一个特殊字符。
第3步:配置MySQL
MySQL 包含一个安全脚本,用于自动更改可能有安全隐患的默认选项,例如远程 root 登录和示例用户。使用以下命令来运行安全脚本。
sudo mysql_secure_installation
运行此命令需要输入默认的 root 密码。输入后,。
Output
The existing password for the user account root has expired. Please set a new password.
New password:
让我们设置新的12个字符的密码,该密码至少包含一个大写字母,一个小写字母,一个数字和一个特殊字符。出现提示时重新输入。
我们会收到有关新密码强度的反馈,比如我的密码强度反馈是:
Estimated strength of the password: 100
然后立即提示再次更改密码。
我们已经有强密码了,这里就不需要改了,选择N
Output
Estimated strength of the password: 100
Change the password for root ? (Press y|Y for Yes, any other key for No) :
拒绝再次更改密码的提示后,我们将按Y
,然后ENTER
对后续的问题进行操作。这些操作会删除匿名用户,禁止远程 root 登录,删除测试数据库并对其进行访问并删除特权表。
执行过这个脚本后,我们已经确保了安装的安全性。
第4步:测试MySQL
我们可以通过连接该mysqladmin
工具来验证我们的安装并获取有关安装的信息,该工具可让我们运行管理命令。
使用以下命令以root(u root
)身份连接到MySQL ,提示输入密码(p
),并返回版本。
mysqladmin -u root -p version
您应该看到类似于以下的输出:
mysqladmin Ver 8.0.21 for Linux on x86_64 (MySQL Community Server - GPL)
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 8.0.21
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 11 min 53 sec
Threads: 2 Questions: 11 Slow queries: 0 Opens: 142 Flush tables: 3 Open tables: 60 Queries per second avg: 0.015
这说明 MySQL 已经安装成功。
结论
本教程主要讲解如何在 CentOS 7 中安装并开启守护进程保护 MySQL 要了解更多 MySQL 数据库信息,可查看扩展阅读。有关 MySQL 数据库高效搜索方案,推荐也可以试试「卡拉搜索」,一行代码即可快速部署,瞬间提升你的 MySQL 数据库搜索效率。