如何在Ubuntu Linux中安裝MySQL

在本指南中,您將學習如何在Ubuntu Linux上安裝MySQL,然後設置MySQL。 root 用戶密碼,最後是如何以下列方式訪問MySQL服務器 root 用戶。

下面給出的所有步驟都在新安裝的Ubuntu 20.04 LTS服務器版本上進行了測試。

先決條件

在安裝MySQL之前,請確保您的Ubuntu系統已更新為最新的軟件包:

$ sudo apt update
$ sudo apt upgrade

安裝所有更新後,重新啟動系統:

$ sudo reboot

1.在Ubuntu Linux上安裝MySQL

MySQL在Ubuntu Linux的默認存儲庫中可用。 要在Ubuntu Linux中安裝MySQL,請運行:

$ sudo apt install mysql-server

此命令將安裝所有必需的組件,以在Ubuntu中設置MySQL數據庫服務器。

要檢查MySQL版本,請運行:

$ mysql --version

或使用資金 V

$ mysql -V

樣本輸出:

mysql  Ver 8.0.25-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))

1.1。 啟動,重新啟動和停止MySQL服務

在Ubuntu中,一旦安裝了MySQL服務器,就會自動啟動MySQL服務。 要驗證MySQL服務是否已啟動,請運行:

$ sudo systemctl status mysql

樣本輸出:

● mysql.service - MySQL Community Server
      Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
      Active: active (running) since Wed 2021-05-26 10:55:17 UTC; 4min 26s ago
    Main PID: 1520 (mysqld)
      Status: "Server is operational"
       Tasks: 37 (limit: 2280)
      Memory: 332.8M
      CGroup: /system.slice/mysql.service
              └─1520 /usr/sbin/mysqld
 May 26 10:55:15 ubuntu2004.localdomain systemd[1]: Starting MySQL Community Server…
 May 26 10:55:17 ubuntu2004.localdomain systemd[1]: Started MySQL Community Server.

在Ubuntu Linux中檢查MySQL服務狀態

如您所見,MySQL服務已加載並正在運行! 如果由於某種原因未啟動,則可以使用以下命令啟動MySQL服務:

$ sudo systemctl start mysql

要使MySQL在每次重新啟動時自動啟動,請運行:

$ sudo systemctl enable mysql

要重新啟動MySQL服務,請運行:

$ sudo systemctl restart mysql

2.設置MySQL root用戶密碼

默認情況下,MySQL根密碼為空,在生產中不建議使用。 您必須設置一個強大且唯一的數據庫管理用戶,即root用戶密碼。 MySQL附帶了一個名為的腳本 mysql_secure_installation 刪除不安全的默認設置並保護數據庫服務器的安全。

mysql_secure_installation 腳本將執行以下操作:

  • 設置 VALIDATE PASSWORD COMPONENT
  • 如果 VALIDATE PASSWORD COMPONENT 已啟用,請設置您的首選 password validation 政策,
  • 刪除匿名用戶,
  • 不允許 root 用戶遠程登錄,
  • 刪除測試數據庫並刪除測試數據庫的特權,
  • 最後重新加載特權表。

現在讓我們運行此腳本:

$ sudo mysql_secure_installation

在MySQL安裝後首次運行此命令時,將使用空白密碼連接到MySQL。 然後,將提示您是否要設置 VALIDATE PASSWORD PLUGIN

VALIDATE PASSWORD PLUGIN 用於測試密碼並提高安全性。 它檢查密碼強度,並允許用戶僅設置足夠安全的密碼。 設置“驗證密碼組件”是可選的。 禁用它是安全的。 但是,我建議您在創建用戶角色時使用強而唯一的密碼。 如果您不想啟用 VALIDATE PASSWORD PLUGIN,只需按任意鍵即可跳過密碼驗證部分,然後繼續其餘步驟。

我要用這個 VALIDATE PASSWORD PLUGIN,所以我進入 ÿ 是的:

 Securing the MySQL server deployment.

 Connecting to MySQL using a blank password.

 VALIDATE PASSWORD COMPONENT can be used to test passwords
 and improve security. It checks the strength of password
 and allows the users to set only those passwords which are
 secure enough. Would you like to setup VALIDATE PASSWORD component?

 Press y|Y for Yes, any other key for No: y

如果你選擇 是的,系統將提示您選擇密碼策略級別。 共有三種密碼驗證策略可用。 他們是 低的中等的強的。 每個密碼策略都包含一組密碼規則,在創建新的數據庫角色時應使用這些密碼規則。 例如,如果您選擇MEDIUM,則密碼應至少包含8個字符,包括數字,小寫和大寫字母以及一個特殊字符。 選擇適合您的任何密碼策略。

我採用低級密碼策略,所以我選擇 0 (零):

 There are three levels of password validation policy:

 LOW    Length >= 8
 MEDIUM Length >= 8, numeric, mixed case, and special characters
 STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

 Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 

接下來,輸入兩次MySQL root用戶密碼。 輸入密碼後,將顯示密碼強度得分。 在我的情況下,我得到100。如果您的密碼強度確定,請按 y 繼續輸入密碼。 否則,輸入另一個強密碼,然後按 Y 接著說。

 Please set the password for root here.

 New password: 

 Re-enter new password: 

 Estimated strength of the password: 100 
 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y

請不要將此與您系統的 root 帳戶。 這是我們數據庫服務器的管理帳戶。

接下來,按 y 然後按ENTER接受所有後續問題的默認設置。 這將刪除匿名用戶,禁止遠程root登錄並刪除測試數據庫。

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.

Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done! 

我們已經設置了MySQL root用戶密碼。

3.登錄到MySQL

以登錄到MySQL服務器 root 用戶,只需運行:

$ sudo mysql

輸入您的用戶密碼以訪問MySQL提示符:

Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 18
Server version: 8.0.25-0ubuntu0.20.04.1 (Ubuntu)

Copyright (c) 2000, 2021, 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.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql> 

在Ubuntu Linux中以root用戶身份登錄MySQL在Ubuntu Linux中以root用戶身份登錄MySQL

開始為您的項目創建用戶角色和數據庫。 我們很快將在單獨的指南中進行介紹。

要查看 help 部分,類型 help 或者 h 然後按 ENTER 鑰匙:

mysql> help

要退出MySQL提示符並返回到終端,請運行:

mysql> exit

您是否注意到我沒有提供MySQL根用戶密碼登錄到MySQL服務器。 我只輸入了系統用戶帳戶的密碼,但沒有輸入MySQL root用戶的密碼。 這是因為MySQL root用戶使用 auth_socket 插件可在運行MySQL 5.7和更高版本的Ubuntu系統中通過MySQL服務器進行身份驗證。

auth_socket 該插件對通過Unix套接字文件從本地主機連接到MySQL服務器的客戶端進行身份驗證。 因此,您無法通過以下方式向MySQL服務器進行身份驗證: root 用戶通過提供密碼。

如果要對MySQL超級用戶使用密碼身份驗證,則需要重新配置MySQL服務器以使用其他身份驗證方法。 我們將在下一篇文章中了解如何做到這一點。

結論

在本指南中,我們學習了如何在Ubuntu Linux操作系統中安裝MySQL。 我們還學習了如何設置MySQL root用戶密碼以及如何以以下方式訪問或連接到MySQL服務器: root 用戶。

數據庫安裝MySQLLinuxMySQLMySQLOracleUbuntu

Sidebar