如何在Ubuntu 20.04上安装MySQL?

MySQL是最流行的开源数据库管理服务器。MySQL可用于不同的操作系统,如Linux、Solaris、macOS和Windows。Ubuntu是最终用户和企业服务器使用的流行Linux发行版。在本教程中,我们将学习如何将MySQL安装到ubuntu20.04中。此外,本教程还可以用于其他Ubuntu版本,如Ubuntu18.04等。

null

从官方Ubuntu存储库安装MySQL数据库服务器

MySQL数据库服务器可以以不同的方式安装,但是从官方的Ubuntu存储库安装是最流行和可靠的方式。Ubuntu项目为MySQL包提供了社区支持和繁重的测试阶段。

与每个包安装一样,我们将更新存储库和包信息,以便获得有关包的最新信息。以下程序包将请求根权限的当前用户密码。

$ sudo apt update

现在我们已经更新了存储库信息,在安装MySQL数据库服务器之前,我们将打印MySQL包信息。MySQL服务器包名为 mysql-server 关于这个包的信息可以显示如下。

$ apt show mysql-server
图片[1]-如何在Ubuntu 20.04上安装MySQL?-yiteyi-C++库
从官方Ubuntu存储库安装MySQL数据库服务器

从这些信息中我们可以看到,提供的mysql服务器版本是8.0,这个包主要是为Ubuntu 20.04创建的。

现在我们可以用包名安装MySQL数据库服务器了 mysql-server 就像下面一样。包安装需要root权限,所以我们也使用sudo命令。

$ sudo apt install mysql-server

在Mysql数据库服务器安装完成后,我们可以使用下面的systemctl命令检查Mysql数据库服务状态。稍后我们将详细查看MySQL服务的启动、停止、重新启动和状态。

$ sudo apt install mysql-server
图片[2]-如何在Ubuntu 20.04上安装MySQL?-yiteyi-C++库
MySQL服务状态

从官方MySQL Deb包安装MySQL数据库服务器

启动、停止并重新启动MySQL服务

安装MySQL数据库服务器后,服务将自动启动。MySQL数据库服务的默认状态是on,即使系统重新启动,服务也会自动启动。我们可以检查MySQL服务的当前状态,如下所示。

$ systemctl status mysql
图片[3]-如何在Ubuntu 20.04上安装MySQL?-yiteyi-C++库

我们可以看到绿色文本,这意味着该服务是活动的,目前正在运行。

相关文章: 转到Vi/Vim中指定的行号

我们可以用 systemctl stop 命令。但在系统重启或重新启动后,默认情况下MySQL服务将自动启动。

$ sudo systemctl stop mysql

我们可以用下面的systemctl启动MySQL服务。

$ sudo systemctl start mysql

或者我们可以在系统启动或重启时禁用MySQL服务自动启动,如下所示。

$ sudo systemctl disable mysql

如果MySQL服务在系统启动或重启时被禁用自动启动,我们可以如下所示启用MySQL服务自动启动。

$ sudo systemctl enable mysql

打印MySQL服务/服务器版本和正常运行时间

可以使用 mysqladmin 命令。这也将提供正常运行时间信息。

$ sudo mysqladmin -p -u root version
图片[4]-如何在Ubuntu 20.04上安装MySQL?-yiteyi-C++库
打印MySQL服务/服务器版本和正常运行时间

从输出中我们可以看到MySQL版本是8.0,正常运行时间是56分22秒。

或者 mysql 命令可以与 -V 打印MySQL服务器版本的选项。

$ mysql -V

保护和强化MySQL服务器安装

数据库是IT系统中最重要的组成部分之一。大多数重要或关键的数据都存储在数据库中。作为一种流行的数据库服务器,MySQL服务器应该被加固或保护以防止数据泄露。MySQL安装提供 mysql_secure_installation 脚本,它将进行一些检查和配置,使MySQL数据库服务器。这个脚本应该以root用户身份运行,您可以在其中使用sudo命令。

$ sudo mysql_secure_installation

在开始强化过程后,第一个问题是验证密码并检查密码的强度。

相关文章: 如何在HTTPS中使用Curl命令?

图片[5]-如何在Ubuntu 20.04上安装MySQL?-yiteyi-C++库

第二步是设置密码的安全级别,这主要与密码的复杂性有关。有3种不同的密码安全级别。

LOW 级别策略要求密码至少包含8个字符。

MEDIUM 级别策略至少需要8个字符,这些字符应包含数字、大小写混合和特殊字符。

HIGH 级别策略至少需要8个字符,其中应包含数字、大小写混合、特殊字符和字典检查。

图片[6]-如何在Ubuntu 20.04上安装MySQL?-yiteyi-C++库

下一步是根据新的密码策略设置根用户密码。默认情况下,根密码为空,应设置新密码。

图片[7]-如何在Ubuntu 20.04上安装MySQL?-yiteyi-C++库

默认情况下,MySQL服务器包含一个匿名用户,这可能会造成安全问题。在这一步中,我们将从MySQL服务器中删除匿名用户。

图片[8]-如何在Ubuntu 20.04上安装MySQL?-yiteyi-C++库

MySQL root用户可以从localhost和网络连接,但是为root用户提供网络访问是一个安全问题。最佳实践是从网络中删除根用户访问权限。您将继续从本地系统使用root用户访问MySQL服务器。

图片[9]-如何在Ubuntu 20.04上安装MySQL?-yiteyi-C++库

MySQL服务器附带了一个包含默认表和值的测试数据库。这对于测试环境很有用,或者进行一些基本测试,但是会给生产环境带来安全问题。因此,我们将删除测试数据库和访问权限。

图片[10]-如何在Ubuntu 20.04上安装MySQL?-yiteyi-C++库

连接并访问MySQL命令行交互式Shell

MySQL通过命令行或交互式shell提供对数据库服务器的访问。这对于测试或更改某些配置非常有用,例如更改密码、添加表、创建数据库、添加行或记录等。可以从本地系统访问MySQL命令行shell,如下所示。即使是MySQL交互式shell也可以在加固根用户无法远程访问后从远程系统访问。

$ mysql -u root -p
图片[11]-如何在Ubuntu 20.04上安装MySQL?-yiteyi-C++库
连接并访问MySQL命令行交互式Shell

新建MySQL用户

默认情况下,MySQL服务器附带根用户,但我们可以稍后添加新用户并配置对不同数据库的访问。这个 Create User SQL命令可用于通过指定用户的密码来创建用户。在下面的示例中,我们将创建一个名为ahmet的用户,它可以从localhost访问MySQL服务器。这意味着ahmet无法通过网络远程访问MySQL服务器。ahmet的密码如下所示 M3S3cr3tPass.

CREATE USER 'ahmet'@'localhost' IDENTIFIED BY 'M3S3cr3tPass.';

创建用户后,通常会配置特定数据库的访问权限。下面我们将为ahmet配置对所有数据库的访问。

GRANT ALL PRIVILEGES ON *.* TO 'ahmet'@'localhost' WITH GRANT OPTION;

或者,我们可以像下面这样配置对特定数据库的访问。在下面的命令中,我们将允许用户ahmet访问名为 linuxtect .

GRANT ALL PRIVILEGES ON linuxtect.* TO 'ahmet'@'localhost' WITH GRANT OPTION;

作为刷新或使更改可用的最后一步,可以如下所示使用right nuw flush命令。

Flush;

在onder中关闭MySQL命令行交互式shell exit 命令的用法如下。

exit;
图片[12]-如何在Ubuntu 20.04上安装MySQL?-yiteyi-C++库

卸载MySQL服务器

MySQL服务器可以通过如下apt或apt-get命令轻松地删除或卸载。为了卸载MySQL服务器,需要root权限,可以使用sudo命令来提供root权限。

$ sudo apt remove mysql-server

或者用apt-get命令。

$ sudo apt-get remove mysql-server
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享