如何在Ubuntu16.04上安装MySQL

来自菜鸟教程
跳转至:导航、​搜索

介绍

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

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

sudo apt-get update
sudo apt-get install mysql-server
mysql_secure_installation

本教程将解释如何在 Ubuntu 16.04 服务器上安装 MySQL 5.7 版。 但是,如果您希望将现有的 MySQL 安装更新到版本 5.7,您可以改为阅读 this MySQL 5.7 update guide

先决条件

要遵循本教程,您将需要:

第 1 步 — 安装 MySQL

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

要安装它,只需更新服务器上的包索引并使用 apt-get 安装默认包。

sudo apt-get update
sudo apt-get install mysql-server

在安装过程中,系统会提示您创建 root 密码。 选择一个安全的并确保你记住它,因为你以后会需要它。 接下来,我们将完成 MySQL 的配置。

第 2 步 — 配置 MySQL

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

运行安全脚本。

mysql_secure_installation

这将提示您输入在步骤 1 中创建的 root 密码。 您可以按 Y 然后按 ENTER 接受所有后续问题的默认设置,但询问您是否要更改 root 密码的问题除外。 您只需在步骤 1 中设置它,因此您现在不必更改它。 有关这些选项的更详细演练,您可以查看 LAMP 安装教程 这一步。

要初始化 MySQL 数据目录,您将使用 mysql_install_db 用于 5.7.6 之前的版本,使用 mysqld --initialize 用于 5.7.6 及更高版本。 但是,如果您从 Debian 发行版安装 MySQL,就像在第 1 步中一样,数据目录会自动初始化; 你不必做任何事情。 如果您仍然尝试运行该命令,您将看到以下错误:

输出

2016-03-07T20:11:15.998193Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.

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

第三步——测试 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 2016-11-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 (-u root) 身份连接到 MySQL,提示输入密码 (-p),然后返回版本。

mysqladmin -p -u root version

您应该会看到与此类似的输出:

输出

mysqladmin  Ver 8.42 Distrib 5.7.16, for Linux on x86_64
Copyright (c) 2000, 2016, 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.16-0ubuntu0.16.04.1
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 设置。 以下是您可以采取的后续步骤的一些示例: