在Ubuntu 16.04上安装MySQL的方法

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

简介

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

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

command 复制代码
sudo apt-get update
sudo apt-get install mysql-server
mysql_secure_installation

本教程将解释如何在 Ubuntu 16.04 服务器上安装 MySQL 版本 5.7。但是,如果您想要将现有的 MySQL 安装更新到版本 5.7,您可以阅读这篇 MySQL 5.7 更新指南。

先决条件

要按照本教程操作,您需要:

  • 通过遵循初始服务器设置指南设置的一个 Ubuntu 16.04 服务器,包括一个 sudo 非根用户和一个防火墙。

步骤 1 --- 安装 MySQL

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

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

command 复制代码
sudo apt-get update
sudo apt-get install mysql-server

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

步骤 2 --- 配置 MySQL

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

运行安全脚本。

command 复制代码
mysql_secure_installation

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

要初始化 MySQL 数据目录,您将使用 mysql_install_db 来处理 5.7.6 之前的版本,以及使用 mysqld --initialize 来处理 5.7.6 及以后的版本。但是,如果您像在步骤 1 中那样从 Debian 发行版安装了 MySQL,数据目录将自动初始化;您无需执行任何操作。如果您尝试运行该命令,您将看到以下错误:

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

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

步骤 3 --- 测试 MySQL

无论您如何安装它,MySQL 应该已经自动运行。要测试这一点,请检查其状态。

command 复制代码
systemctl status mysql.service

您将看到类似以下的输出:

mysql 复制代码
● 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),并返回版本。

command 复制代码
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 设置。以下是您可以采取的一些下一步的示例:

  • 实施一些额外的安全措施
  • 重新定位数据目录
  • 使用 SaltStack 管理您的 MySQL 服务器
  • 了解更多关于 MySQL 命令
相关推荐
笨笨聊运维38 分钟前
CentOS官方不维护版本,配置python升级方法,无损版
linux·python·centos
Warren982 小时前
Python自动化测试全栈面试
服务器·网络·数据库·mysql·ubuntu·面试·职场和发展
HIT_Weston2 小时前
39、【Ubuntu】【远程开发】拉出内网 Web 服务:构建静态网页(二)
linux·前端·ubuntu
福尔摩斯张3 小时前
《C 语言指针从入门到精通:全面笔记 + 实战习题深度解析》(超详细)
linux·运维·服务器·c语言·开发语言·c++·算法
TH_13 小时前
腾讯云-(3)-Linux宝塔面板使用
linux·云计算·腾讯云
kka杰3 小时前
MYSQL 表的增删查改-更新/删除
数据库·mysql
虚伪的空想家4 小时前
arm架构服务器使用kvm创建虚机报错,romfile “efi-virtio.rom“ is empty
linux·运维·服务器·javascript·arm开发·云原生·kvm
深藏bIue4 小时前
linux服务器mysql目录下的binlog文件删除
linux·服务器·mysql
甜鲸鱼4 小时前
Java与MySQL中的枚举(Enum)
java·mysql
q***44814 小时前
mysql配置环境变量——(‘mysql‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件解决办法)
数据库·mysql·adb