介绍
MySQL是一个开源数据库管理系统,通常安装作为流行的 LAMP(Linux, Apache, MySQL, PHP/Python/Perl)堆栈的一部分,它使用关系数据库和SQL(结构化查询语言)来管理其数据。
安装的简短版本很简单:更新您的包索引,安装mysql-server
包,然后运行包含的安全脚本。
1sudo apt-get update
2sudo apt-get install mysql-server
3mysql_secure_installation
本教程将解释如何在 Ubuntu 16.04 服务器上安装 MySQL 版本 5.7 但是,如果您正在寻求将现有 MySQL 安装更新到版本 5.7,您可以阅读 此 MySQL 5.7 更新指南。
前提条件
要遵循本教程,您将需要:
- 一个 Ubuntu 16.04 服务器通过遵循 此初始服务器设置指南设置,包括一个 sudo 非 root 用户和一个防火墙。
步骤1:安装MySQL
在 Ubuntu 16.04 上,只有最新版本的 MySQL 被默认包含在 APT 包库中。
要安装它,只需在您的服务器上更新包索引,并安装apt-get
的默认包。
1sudo apt-get update
2sudo apt-get install mysql-server
在安装过程中,您将被要求创建一个根密码,选择一个安全的密码,并确保您记住它,因为您以后会需要它。
第2步:配置MySQL
对于新安装,您将需要运行包含的安全脚本,这会改变一些不安全的默认选项,例如远程根登录和样本用户。
运行安全脚本。
1mysql_secure_installation
这会提示您在步骤 1 中创建的 root 密码,您可以按Y
,然后按ENTER
,以接受所有后续问题的默认值,除了问您是否想要更改 root 密码的问题。
要初始化 MySQL 数据目录,你会使用「mysql_install_db」用于 5.7.6 以前的版本,以及「mysqld --initialize」用于 5.7.6 或更高版本,但是,如果你从 Debian 发行版中安装了 MySQL,就像在步骤 1 中一样,数据目录被自动初始化;你不必做任何事情。
1[label Output]
22016-03-07T20:11:15.998193Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
最后,让我们来测试MySQL安装。
步骤三:测试MySQL
無論您如何安裝,MySQL 應該會自動開始運行。
1systemctl status mysql.service
您将看到类似于以下的输出:
1[label Output]
2● mysql.service - MySQL Community Server
3 Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en
4 Active: active (running) since Wed 2016-11-23 21:21:25 UTC; 30min ago
5 Main PID: 3754 (mysqld)
6 Tasks: 28
7 Memory: 142.3M
8 CPU: 1.994s
9 CGroup: /system.slice/mysql.service
10 └─3754 /usr/sbin/mysqld
如果MySQL不运行,您可以使用sudo systemctl start mysql
开始。
为了进行额外的检查,您可以尝试使用mysqladmin
工具连接到数据库,这是一个客户端,允许您运行管理命令,例如,这个命令说要连接到MySQL作为 root (-u root
),提示密码(-p
),然后返回版本。
1mysqladmin -p -u root version
你应该看到类似于此的输出:
1[label Output]
2mysqladmin Ver 8.42 Distrib 5.7.16, for Linux on x86_64
3Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
4
5Oracle is a registered trademark of Oracle Corporation and/or its
6affiliates. Other names may be trademarks of their respective
7owners.
8
9Server version 5.7.16-0ubuntu0.16.04.1
10Protocol version 10
11Connection Localhost via UNIX socket
12UNIX socket /var/run/mysqld/mysqld.sock
13Uptime: 30 min 54 sec
14
15Threads: 1 Questions: 12 Slow queries: 0 Opens: 115 Flush tables: 1 Open tables: 34 Queries per second avg: 0.006
这意味着MySQL正在起步和运行。
结论
您现在已在您的服务器上安装了基本的 MySQL 设置,以下是您可以采取的下一步步骤的几个例子: