如何在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

开始为您的项目创建用户角色和数据库。 我们很快将在单独的指南中进行介绍。

要查看 help 部分,类型 help 或者 h 然后按 ENTER 钥匙:

mysql> help

要退出MySQL提示符并返回到终端,请运行:

mysql> exit

4.更改MySQL根用户的身份验证方法

您是否注意到我没有提供MySQL根用户密码登录到MySQL服务器。 我只输入了系统用户帐户的密码,但没有输入MySQL root用户的密码。 这是因为MySQL root用户使用 auth_socket 插件可在运行MySQL 5.7和更高版本的Ubuntu系统中通过MySQL服务器进行身份验证。

auth_socket 该插件对通过Unix套接字文件从本地主机连接到MySQL服务器的客户端进行身份验证。 因此,您无法通过以下方式向MySQL服务器进行身份验证: root 用户通过提供密码。

如果要对MySQL超级用户使用密码身份验证,则需要重新配置MySQL服务器以使用另一种身份验证方法,如下文所述。

>> Change Authentication Method For MySQL Root User In Ubuntu

结论

在本指南中,我们学习了如何在Ubuntu Linux操作系统中安装MySQL。 我们还学习了如何设置MySQL root用户密码以及如何以以下方式访问或连接到MySQL服务器: root 用户。

数据库安装MySQLLinuxMySQLMySQLOracleUbuntu

Sidebar