如何在CentOS 7上安装MySQL

介紹

MySQL是一個開源的資料庫管理系統,通常作為流行的LEMP(Linux、Nginx、MySQL/MariaDB、PHP/Python/Perl)堆疊的一部分安裝。它使用關聯式資料庫和SQL(結構化查詢語言)來管理其數據。

CentOS 7 偏好使用 MariaDB,這是 MySQL 的一個分支,由原始的 MySQL 開發人員管理,並設計為 MySQL 的替代品。如果您在 CentOS 7 上運行 yum install mysql,將安裝的是 MariaDB 而不是 MySQL。如果您想知道 MySQL 與 MariaDB 的區別,MariaDB 通常可以無縫替換 MySQL,因此除非您對 MySQL 有特定的使用案例,請參閱在 CentOS 7 上安裝 MariaDB 的指南。本教程將解釋如何在 CentOS 7 伺服器上安裝 MySQL 版本 8。

先決條件

要遵循本教程,您需要:

  • A CentOS 7 with a non-root user with sudo privileges. You can learn more about how to set up a user with these privileges in the Initial Server Setup with CentOS 7 guide.

步驟1 — 安裝 MySQL

如介紹中所述,使用 Yum 命令安裝 MySQL 實際上安裝的是 MariaDB。要安裝 MySQL,我們需要訪問提供 MySQL 套件的 MySQL 社區 Yum 儲存庫

在網頁瀏覽器中訪問:

https://dev.mysql.com/downloads/repo/yum/

請注意,突出顯示的下載鏈接並不直接指向文件。相反,它們將您引導到後續頁面,邀請您登錄或註冊帳戶。如果您不想創建帳戶,您可以找到文字“不,謝謝,直接開始我的下載”,然後右鍵單擊並複製鏈接位置,或者您可以在下面的命令中編輯版本號。

找到所需版本,並根據需要更新以下鏈接:

  1. curl -sSLO https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm

一旦 rpm 文件保存完畢,我們將通過運行 md5sum 來驗證下載的完整性,並將其與網站上列出的相應 MD5 值進行比較:

  1. md5sum mysql80-community-release-el7-5.noarch.rpm
Output
e2bd920ba15cd3d651c1547661c60c7c mysql80-community-release-el7-5.noarch.rpm

將此輸出與網站上的相應 MD5 值進行比較:

現在,我們已經驗證了文件未損壞或更改,我們將安裝該套件:

  1. sudo rpm -ivh mysql57-community-release-el7-9.noarch.rpm

這將添加兩個新的 MySQL yum 儲存庫,現在我們可以使用它們來安裝 MySQL 服務器:

  1. sudo yum install mysql-server

y键确认您要继续。由于我们刚刚添加了该软件包,我们还将被提示接受其GPG密钥。按y键下载并完成安装。

第2步 – 启动 MySQL

我们将使用以下命令启动守护进程:

  1. sudo systemctl start mysqld

systemctl 不会显示所有服务管理命令的结果,所以为了确保我们成功,我们将使用以下命令:

  1. sudo systemctl status mysqld

如果 MySQL 已成功启动,则输出应包含 Active: active (running),并且最后一行应类似于:

  1. Dec 01 19:02:20 centos-512mb-sfo2-02 systemd[1]: Started MySQL Server.

注意:MySQL 在安装时会自动启用启动时启动。您可以使用 sudo systemctl disable mysqld 更改该默认行为。

在安装过程中,为 MySQL root 用户生成了临时密码。使用此命令在 mysqld.log 中找到它:

  1. sudo grep 'temporary password' /var/log/mysqld.log
Output
2022-01-24T19:54:46.313728Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: mqRfBU_3Xk>r

记下密码,在下一步中您将需要使用它来保护安装,并且您将被强制更改密码。默认密码策略要求12个字符,至少一个大写字母,一个小写字母,一个数字和一个特殊字符。

步驟 3 — 配置 MySQL

MySQL 包含一個安全腳本,用於更改一些較不安全的默認選項,例如遠程 root 登錄和示例用戶。

使用此命令運行安全腳本。

  1. sudo mysql_secure_installation

這將提示您輸入默認的 root 密碼。一旦您輸入它,您將需要更改它。

Output
The existing password for the user account root has expired. Please set a new password. New password:

輸入一個新的 12 位字符密碼,其中至少包含一個大寫字母、一個小寫字母、一個數字和一個特殊字符。在提示時重新輸入。

您將收到有關新密碼強度的反饋,然後立即被提示再次更改它。因為您剛剛進行了更改,您可以自信地說

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工具來驗證我們的安裝並獲取有關它的信息,該工具是一個允許您運行管理命令的客戶端。使用以下命令連接到MySQL作為root-u root),提示輸入密碼(-p),並返回版本。

  1. mysqladmin -u root -p version

您應該看到類似於此的輸出:

Output
mysqladmin  Ver 8.0.28 for Linux on x86_64 (MySQL Community Server - GPL)
Copyright (c) 2000, 2022, Oracle and/or its affiliates.

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.28
Protocol version	10
Connection		Localhost via UNIX socket
UNIX socket		/var/lib/mysql/mysql.sock
Uptime:			3 min 2 sec

Threads: 2  Questions: 14  Slow queries: 0  Opens: 133  Flush tables: 3  Open tables: 49  Queries per second avg: 0.076

這表明您的安裝已成功。

結論

在本教程中,我們已在CentOS 7服務器上安裝並安全地配置了MySQL。要了解更多關於使用MySQL的信息,可以參考這個了解更多有關MySQL命令的指南。您也可以考慮實施一些額外的安全措施

Source:
https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-centos-7