centos install mysql5.7

简介

MySQL是一个开源的数据库,它也是LEMP的一部分LEMP (Linux, Nginx, MySQL/MariaDB, PHP/Python/Perl)。

CentOS 7默认使用mariadb来代替传统的masql,mariadb是从mysql商业化以后fork出来的一个开发版本。如果你运行yum install mysql在 CentOS 7,它实际上安装的是mariadb。下面这些是 MySQL 与 MariaDB的区别,MariaDB will generally work seamlessly in place of MySQL,所以除非你有特定的使用场景需要MySQL,否则请参考How To Install MariaDB on Centos 7指南。

下面将教你在 CentOS 7服务器上面安装 MySQL 5.7版本。

准备

步骤 1

如果是必须安装mysql而不是mariadb,你需要到mysql的开发站去找对应的版本 the MySQL community Yum Repository

在浏览器中打开下面的地址:

https://dev.mysql.com/downloads/repo/yum/

根据下图来操作,寻找对应的版本。

Screencapture highlighting current yum repo name

wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

下载好了rpm包以后,需要做一个md5校验,这样安全一些。

md5sum mysql57-community-release-el7-9.noarch.rpm

Output1a29601dc380ef2c7bc25e2a0e25d31e mysql57-community-release-el7-9.noarch.rpm

对比计算出来的md5码与网站上提供的md5码,看是否有区别。

Screencapture highlighting md5dsum

确认了 md5 一致,rpm包没有被篡改以后安装。

sudo rpm -ivh mysql57-community-release-el7-9.noarch.rpm

这会添加2个新的 MySQL yum 源,我们现在可以安装 MySQL 服务了:

sudo yum install mysql-server

y 键,确认 GPG key。

步骤 2 — 启动 MySQL

启动守护进程:

sudo systemctl start mysqld

systemctl 不显示状态,需要用下面的命令来查看。

sudo systemctl status mysqld

如果 MySQL 启动成功 Active: active (running),你将看到类似下面的提示:

Dec 01 19:02:20 centos-512mb-sfo2-02 systemd[1]: Started MySQL Server.

注意:MySQL 在操作系统里面是自动启动状态,用这个命令可以中止自动启动sudo systemctl disable mysqld

在安装mysql以后,MySQL会创建一个临时密码给root用户,存储在mysqld.log中,用下面的命令来查看:

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

Output2016-12-01T00:22:31.416107Z 1 [Note] A temporary password is generated for root@localhost: mqRfBU_3Xk>r

你需要尽快更改这个密码。新密码由12个字符组成,至少有一个大写字母,一个小写字母,一个数字和一个特殊字符。

步骤3 配置mysql

MySQL 包含一个安全脚本,用于更改远程root登录名和示例用户等安全性较低的默认选项。

用下面这个命令运行:

sudo mysql_secure_installation

这会提示你输入默认的root密码。

OutputThe existing password for the user account root has expired. Please set a new password. New password:

输入新密码。

您将收到关于新密码强度的反馈,然后系统会立即提示您再次更改。如果你非常自信也可以用 No

OutputEstimated strength of the password: 100
Change the password for root ? (Press y|Y for Yes, any other key for No) :

在我们拒绝提示再次更改密码后,我们将按Y,然后按ENTER键以解决所有后续问题,以便删除匿名用户,禁止远程root登录,删除测试数据库并访问它,以及重新加载特权表。

步骤 4 — 测试 MySQL

我们用 mysqladmin 工具可以连接测试,也可以使用mysql 客户端来连接 root (-u root),输入密码(-p),返回版本信息。

mysqladmin -u root -p 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
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 2 min 17 sec Threads: 1 Questions: 6 Slow queries: 0 Opens: 107 Flush tables: 1 Open tables: 100 Queries per second avg: 0.043
上一篇
下一篇