介绍
MySQL 是一个开源数据库管理系统,通常作为流行的 LAMP(Linux、Apache、MySQL、PHP/Python/Perl)堆栈的一部分安装。 它使用关系数据库和 SQL(结构化查询语言)来管理其数据。
安装的简短版本很简单:更新您的包索引,安装 mysql-server
包,然后运行包含的安全和数据库初始化脚本。
sudo apt-get update sudo apt-get install mysql-server sudo mysql_secure_installation sudo mysql_install_db
本教程将解释如何在 Ubuntu 14.04 服务器上安装 MySQL 版本 5.5、5.6 或 5.7。 如果您想了解有关这些安装说明的更多详细信息,或者如果您想安装特定版本的 MySQL,请继续阅读。 但是,如果您希望将现有的 MySQL 安装更新到版本 5.7,您可以改为阅读 this MySQL 5.7 update guide。
先决条件
要遵循本教程,您将需要:
- 一个带有 sudo 非 root 用户 的 Ubuntu 14.04 Droplet。
第 1 步 — 安装 MySQL
有两种安装 MySQL 的方法。 您可以使用默认包含在 APT 包存储库中的版本之一(分别为 5.5 和 5.6),也可以通过先手动添加 MySQL 的存储库来安装最新版本(当前为 5.7)。
如果要安装特定版本的 MySQL,请按照下面的相应部分进行操作。 为了帮助您决定哪个版本最适合您,您可以阅读 MySQL 对 MySQL 5.5 的介绍,然后 MySQL 5.6 中的新功能 和 MySQL 5.7 中的新功能 .
如果您不确定,您可以使用 mysql-server
APT 包,它只会为您的 Linux 发行版安装最新版本。 在撰写本文时,它是 5.5,但您以后可以随时更新到另一个版本。
要以这种方式安装 MySQL,请更新服务器上的包索引并使用 apt-get
安装包。
sudo apt-get update sudo apt-get install mysql-server
在安装过程中,系统会提示您创建 root 密码。 选择一个安全的并确保你记住它,因为你以后会需要它。 从这里继续进行第二步。
安装 MySQL 5.5 或 5.6
如果要专门安装 MySQL 5.5 或 5.6,过程还是很简单的。 首先,更新服务器上的包索引。
sudo apt-get update
然后,要安装 MySQL 5.5,请安装 mysql-server-5.5
包。
sudo apt-get install mysql-server-5.5
要安装 MySQL 5.6,请安装 mysql-server-5.6
包。
sudo apt-get install mysql-server-5.6
对于这两个选项,系统都会在安装过程中提示您创建 root 密码。 选择一个安全的并确保你记住它,因为你以后会需要它。
安装 MySQL 5.7
如果要安装 MySQL 5.7,则需要从 MySQL APT 存储库页面 添加较新的 APT 软件包存储库。 点击右下角的下载,然后从复制下一页的链接,不用了,开始我的下载。 将 .deb
包下载到您的服务器。
wget http://dev.mysql.com/get/mysql-apt-config_0.6.0-1_all.deb
接下来,使用 dpkg
安装它。
sudo dpkg -i mysql-apt-config_0.6.0-1_all.deb
您将看到一个提示,询问您要配置哪个 MySQL 产品。 突出显示的 MySQL Server 选项应该是 mysql-5.7。 如果没有,请按 ENTER
,然后使用箭头键向下滚动到 mysql-5.7,然后再次按 ENTER
。
一旦选项显示 mysql-5.7,在主菜单上向下滚动到 Apply 并再次按 ENTER
。 现在,更新您的包裹索引。
sudo apt-get update
最后,安装 mysql-server
包,现在包含 MySQL 5.7。
sudo apt-get install mysql-server
在安装过程中,系统会提示您创建 root 密码。 选择一个安全的并确保你记住它,因为你以后会需要它。
第 2 步 — 配置 MySQL
首先,您需要运行包含的安全脚本。 这会更改一些不太安全的默认选项,例如远程 root 登录和示例用户。
sudo mysql_secure_installation
这将提示您输入您在第一步中创建的 root 密码。 您可以按 ENTER
接受所有后续问题的默认设置,但询问您是否要更改 root 密码的问题除外。 您只需在第一步中设置它,因此您现在不必更改它。
接下来,我们将初始化 MySQL 数据目录,这是 MySQL 存储其数据的地方。 如何执行此操作取决于您正在运行的 MySQL 版本。 您可以使用以下命令检查您的 MySQL 版本。
mysql --version
你会看到一些像这样的输出:
输出
mysql Ver 14.14 Distrib 5.7.11, for Linux (x86_64) using EditLine wrapper
如果您使用的是低于 5.7.6 的 MySQL 版本,则应通过运行 mysql_install_db
来初始化数据目录。
sudo mysql_install_db
注意: 在 MySQL 5.6 中,您可能会收到一条错误消息:FATAL ERROR: Could not find my-default.cnf。 如果这样做,请将 /usr/share/my.cnf
配置文件复制到 mysql_install_db
期望的位置,然后重新运行它。
sudo cp /etc/mysql/my.cnf /usr/share/mysql/my-default.cnf sudo mysql_install_db
这是由于 MySQL 5.6 中的一些更改和 APT 包中的一个小错误。
从 MySQL 5.7.6 开始不推荐使用 mysql_install_db
命令。 如果您使用的是 5.7.6 或更高版本,则应改用 mysqld --initialize
。
但是,如果您从 Debian 发行版安装了 5.7 版,就像在第一步中一样,数据目录会自动初始化,因此您无需执行任何操作。 如果您仍然尝试运行该命令,您将看到以下错误:
输出
2016-03-07T20:11:15.998193Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
第三步——测试 MySQL
不管你如何安装它,MySQL 应该已经开始自动运行了。 要对此进行测试,请检查其状态。
service mysql status
您将看到以下输出(使用不同的 PID)。
输出
mysql start/running, process 2689
如果 MySQL 没有运行,您可以使用 sudo service mysql start
启动它。
如需进一步检查,您可以尝试使用 mysqladmin
工具连接到数据库,该工具是一个允许您运行管理命令的客户端。 例如,此命令表示以 root (-u root
) 身份连接到 MySQL,提示输入密码 (-p
),然后返回版本。
mysqladmin -p -u root version
您应该会看到与此类似的输出:
输出
mysqladmin Ver 8.42 Distrib 5.5.47, for debian-linux-gnu on x86_64 Copyright (c) 2000, 2015, 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.5.47-0ubuntu0.14.04.1 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 4 min 15 sec Threads: 1 Questions: 602 Slow queries: 0 Opens: 189 Flush tables: 1 Open tables: 41 Queries per second avg: 2.360
这意味着 MySQL 已启动并正在运行。
结论
您现在已经在服务器上安装了基本的 MySQL 设置。 以下是您可以采取的后续步骤的一些示例:
- 实施一些额外的安全措施
- 使用 Percona XtraBackup 创建热备份
- 了解如何在 Django 应用程序 或 Ruby on Rails 应用程序 中使用 MySQL
- 使用 SaltStack 管理您的 MySQL 服务器