介绍
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
本教程将解释如何在Ubuntu 16.04服务器上安装MySQL 5.7版本。但是,如果你正在寻找更新现有的MySQL安装到5.7版本,你可以阅读
这个MySQL 5.7更新指南来替代。
先决条件
要遵循本教程,您需要:- 一个Ubuntu的16.04服务器通过以下设置这个初始服务器安装指南 ,包括Sudo非root用户和防火墙。
第1步 - 安装MySQL
在Ubuntu 16.04上,默认情况下,只有最新版本的MySQL包含在APT软件包存储库中。在写作的时候,这是MySQL 5.7 要安装它,只需更新服务器上的包索引和安装默认的软件包apt-get
。
sudo apt-get update
sudo apt-get install mysql-server
在安装过程中,系统将提示您创建root密码。选择一个安全的,并确保你记住它,因为你会需要它以后。接下来,我们将完成配置MySQL。
第2步 - 配置MySQL
对于全新安装,您需要运行包含的安全性脚本。这会更改一些较不安全的默认选项,如远程root登录和示例用户。在旧版本的MySQL上,您还需要手动初始化数据目录,但现在这是自动完成的。 运行安全性脚本。sudo 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安装。
第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 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 mysql start
。 对于一个额外的检查,你可以尝试使用连接数据库
mysqladmin
工具,它是一个客户端,让您运行管理命令。 例如,这个命令的意思是连接到MySQL作为root (
-u root
),提示输入密码(
-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正在运行。