随着CentOS 7 MySQL的发布,全球最受欢迎的开源关系数据库管理系统在CentOS的存储库中不再可用,而且MariaDB已成为默认的数据库系统。 MariaDB是MySQL的向后兼容,二进制插件替代品。

在本教程中,我们将向您展示如何在CentOS 7机器上安装MySQL。

如果要安装MariaDB而不是MySQL,请查看MariaDB的安装说明教程。

准备

在开始本教程之前,请确保使用具有sudo权限的用户帐户或root用户登录到您的服务器。 最好将管理命令作为sudo用户而不是root用户运行,如果系统上没有sudo用户,则可以按照这些说明创建sudo用户。

正如我们在介绍中提到的,MySQL在默认的CentOS 7存储库中不可用,因此我们将从MySQL Yum存储库安装软件包。 在以下部分中,我们将向您展示如何安装MySQL 8.0和MySQL 5.7。 您应该只在CentOS 7服务器上安装一个MySQL版本。 如果您不确定要安装哪个版本,请参阅您要在服务器上部署的应用程序的文档。

如何安装MySQL 8.0

在撰写本文时,最新版本的MySQL是8.0版。 要安装它,请按照以下步骤操作:

01、下载并启用存储库

sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

02、安装MySQL 8.0包

使用yum将MySQL安装为任何其他软件包:

yum install mysql-community-server

在安装过程中,yum可能会提示您导入MySQL GPG密钥。 输入y并按Enter键。

如何安装MySQL 5.7

要安装以前稳定版本的MySQL,MySQL 5.7,请按照以下步骤操作:

01、下载并添加存储库

sudo yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

02、安装MySQL 5.7包

使用yum将MySQL安装为任何其他软件包:

yum install mysql-community-server

下面的部分与MySQL 8.0和MySQL 5.7相关

启动MySQL

安装完成后,启用并启动MySQL服务类型:

sudo systemctl enable mysqld

sudo systemctl start mysqld

我们可以通过输入以下内容来检查MySQL服务状态

sudo systemctl status mysqld

输出结果:

mysqld.service - MySQL Server

Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)

Active: active (running) since Wed 2018-05-23 11:02:43 UTC; 14min ago

Docs: man:mysqld(8)

http://dev.mysql.com/doc/refman/en/using-systemd.html

Process: 4293 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)

Main PID: 4310 (mysqld)

Status: "SERVER_OPERATING"

CGroup: /system.slice/mysqld.service

└─4310 /usr/sbin/mysqld

MySQL安全配置

当MySQL服务器第一次启动时,会为MySQL root用户生成临时密码。 您可以通过运行以下命令找到密码:

sudo grep 'temporary password' /var/log/mysqld.log

输出结果类似下面内容:

2018-09-16T10:59:51.251159Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: q&0)V!?fjksL

记下密码,因为下一个命令会要求您输入临时root密码。

运行mysql_secure_installation命令以提高MySQL安装的安全性:

sudo mysql_secure_installation

输出结果:

Securing the MySQL server deployment.

Enter password for user root:

输入临时密码后,系统会要求您为root用户设置新密码。 密码长度必须至少为8个字符,并且至少包含一个大写字母,一个小写字母,一个数字和一个特殊字符。

输入界面如下:

The existing password for the user account root has expired. Please set a new password.

New password:

Re-enter new password:

该脚本还会要求您删除匿名用户,限制root用户对本地计算机的访问权限并删除测试数据库。 你应该对所有问题回答“Y”(yes)。

从命令行连接到MySQL

要通过终端与MySQL交互,我们将使用MySQL客户端作为MySQL服务器包的依赖项。

以root用户身份登录MySQL服务器:

mysql -u root -p

系统将提示您输入运行mysql_secure_installation脚本时先前设置的root密码。

输入密码后,您将看到mysql shell,如下所示:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 11

Server version: 8.0.11 MySQL Community Server - GPL

Copyright (c) 2000, 2018, 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.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

创建数据库

连接到MySQL shell后,可以通过键入以下命令来创建新数据库:

mysql > CREATE DATABASE new_database;

输出结果:

Query OK, 1 row affected (0.00 sec)

创建表

现在我们创建了一个数据库,我们可以创建一个表来存储一些数据。

在运行用于创建表的SQL语句之前,我们需要连接到数据库:

mysql > use new_database;

在这个例子中,我们将创建一个名为contacts的简单表,其中包含三个字段:id,name和email:

CREATE TABLE contacts (

id INT PRIMARY KEY,

name VARCHAR(30),

email VARCHAR(30)

);

输出结果:

Query OK, 1 row affected (0.00 sec)

总结

在本教程中,我们向您展示了如何在CentOS 7服务器上安装和保护MySQL服务器。 我们还向您展示了如何连接到MySQL shell以及如何创建新的数据库和表。如果您有相关问题,欢迎留言讨论.

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐