介紹
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/
請注意,突出顯示的下載鏈接並不直接指向文件。相反,它們將您引導到後續頁面,邀請您登錄或註冊帳戶。如果您不想創建帳戶,您可以找到文字“不,謝謝,直接開始我的下載”,然後右鍵單擊並複製鏈接位置,或者您可以在下面的命令中編輯版本號。
找到所需版本,並根據需要更新以下鏈接:
一旦 rpm 文件保存完畢,我們將通過運行 md5sum
來驗證下載的完整性,並將其與網站上列出的相應 MD5 值進行比較:
Outpute2bd920ba15cd3d651c1547661c60c7c mysql80-community-release-el7-5.noarch.rpm
將此輸出與網站上的相應 MD5 值進行比較:
現在,我們已經驗證了文件未損壞或更改,我們將安裝該套件:
這將添加兩個新的 MySQL yum 儲存庫,現在我們可以使用它們來安裝 MySQL 服務器:
按y
键确认您要继续。由于我们刚刚添加了该软件包,我们还将被提示接受其GPG密钥。按y
键下载并完成安装。
第2步 – 启动 MySQL
我们将使用以下命令启动守护进程:
systemctl
不会显示所有服务管理命令的结果,所以为了确保我们成功,我们将使用以下命令:
如果 MySQL 已成功启动,则输出应包含 Active: active (running)
,并且最后一行应类似于:
注意:MySQL 在安装时会自动启用启动时启动。您可以使用 sudo systemctl disable mysqld
更改该默认行为。
在安装过程中,为 MySQL root 用户生成了临时密码。使用此命令在 mysqld.log
中找到它:
Output2022-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 登錄和示例用戶。
使用此命令運行安全腳本。
這將提示您輸入默認的 root 密碼。一旦您輸入它,您將需要更改它。
OutputThe existing password for the user account root has expired. Please set a new password.
New password:
輸入一個新的 12 位字符密碼,其中至少包含一個大寫字母、一個小寫字母、一個數字和一個特殊字符。在提示時重新輸入。
您將收到有關新密碼強度的反饋,然後立即被提示再次更改它。因為您剛剛進行了更改,您可以自信地說 否
:
OutputEstimated 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
),並返回版本。
您應該看到類似於此的輸出:
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