如何在Ubuntu 18.04上安装MySQL

MySQL是一个开源数据库管理系统,通常作为流行的LAMP(Linux,Apache,MySQL,PHP / Python / Perl)的一部分进行安装。它使用关系数据库和SQL(结构化查询语言)来管理其数据。本教程将解释如何在Ubuntu 18.04服务器上安装MySQL版本5.7。

本教程的以前版本由HazelVirdó编写

介绍

MySQL是一个开源数据库管理系统,通常作为流行的LAMP (Linux,Apache,MySQL,PHP / Python / Perl)的一部分进行安装。 它使用关系数据库和SQL(结构化查询语言)来管理其数据。

短版本的安装很简单:更新软件包索引,安装mysql-server软件包,然后运行包含的安全脚本。

sudo apt update
sudo apt install mysql-server
mysql_secure_installation

本教程将解释如何在Ubuntu 18.04服务器上安装MySQL版本5.7。 但是,如果您想将现有的MySQL安装更新至5.7版本,则可以改为阅读本MySQL 5.7更新指南

先决条件

要学习本教程,您需要:

第1步 - 安装MySQL

在Ubuntu 18.04上,默认情况下,只有最新版本的MySQL包含在APT软件包存储库中。 在撰写本文时,这就是MySQL 5.7

要安装它,请更新服务器上的软件包索引并使用apt安装默认软件包:

sudo apt update
sudo apt install mysql-server

这将安装MySQL,但不会提示您设置密码或进行任何其他配置更改。 因为这会使MySQL的安装不安全,我们将在下一部分介绍这一点。

第2步 - 配置MySQL

对于全新的安装,您需要运行附带的安全脚本。 这改变了一些不太安全的默认选项,例如远程root登录和示例用户。 在旧版本的MySQL中,您还需要手动初始化数据目录,但现在会自动完成。

运行安全脚本:

sudo mysql_secure_installation

这将带您通过一系列提示,您可以对MySQL安装的安全选项进行一些更改。 第一个提示会问你是否想要设置验证密码插件,它可以用来测试你的MySQL密码的强度。 无论您选择什么,下一个提示将是为MySQL 用户设置密码。 输入并确认您选择的安全密码。

从那里,您可以按Y然后按ENTER接受所有后续问题的默认值。 这将删除一些匿名用户和测试数据库,禁用远程root登录,并加载这些新规则,以便MySQL立即遵守您所做的更改。

要初始化MySQL数据目录,您可以在5.7.6之前使用mysql_install_db ,而在5.7.6之后使用mysqld --initialize 但是,如果您从Debian发行版安装了MySQL,如第1步中所述,数据目录会自动初始化; 你不必做任何事情。 如果您尝试运行该命令,您会看到以下错误:

产量
2018-04-23T20:11:15.998193Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.

最后,让我们测试一下MySQL的安装。

第3步 - 测试MySQL

不管你如何安装它,MySQL应该已经开始自动运行。 要测试它,请检查其状态。

systemctl status mysql.service

您会看到类似于以下内容的输出:

产量
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en
   Active: active (running) since Wed 2018-04-23 21:21:25 UTC; 30min ago
 Main PID: 3754 (mysqld)
    Tasks: 28
   Memory: 142.3M
      CPU: 1.994s
   CGroup: /system.slice/mysql.service
           └─3754 /usr/sbin/mysqld

如果MySQL没有运行,你可以用sudo systemctl start mysql启动它。

对于额外的检查,您可以尝试使用mysqladmin工具连接到数据库,该工具是允许您运行管理命令的客户端。 例如,该命令表示以root身份连接到MySQL( -u root ),提示输入密码( -p )并返回该版本。

sudo mysqladmin -p -u root version

你应该看到类似这样的输出:

产量
mysqladmin  Ver 8.42 Distrib 5.7.21, for Linux on x86_64
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Server version      5.7.21-1ubuntu1
Protocol version    10
Connection      Localhost via UNIX socket
UNIX socket     /var/run/mysqld/mysqld.sock
Uptime:         30 min 54 sec

Threads: 1  Questions: 12  Slow queries: 0  Opens: 115  Flush tables: 1  Open tables: 34  Queries per second avg: 0.006

这意味着MySQL已经启动并正在运行。

结论

您现在已经在您的服务器上安装了基本的MySQL安装程序。 以下是您可以采取的几个步骤: