MySQL是开源的数据库管理系统,通常作为LEMP(Linux, Nginx, MySQL/MariaDB, PHP/Python/Perl)技术栈的一部分,而被安装。RedHat 会害怕 Oracle 会把 MySQL 闭源,(MySQL 被 Oracle 收购之后,曾出现了收费Licence的bug等东西)。而原来的 MySQL 它爹,fork 了 MySQL 也就是MariaDB(Maria是他的第三个女儿的名字),保持良好的 MySQL 兼容性了。 也因为MariaDB更加的开放,所以 RedHat 更喜欢 MariaDB。如果你在 Centos 上运行 yum install mysql
,会安装 MariaDB的客户端而不是 MySQL 。如果你担心两者这件的兼容性的话,你可以看这里。除非你对 MySQL有特别的要求,通常 MariaDB 可以无缝替代 MySQL)
安装
就如上文所提到的,yum
命令实际上是安装 MariaDB。为了安装 MySQL,我们需要访问为 MySQL 提供包的 MySQL 社区 YUM 仓库。
- 点击下载后进入一个页面,会引导你登录或者注册的,如果你不想登录,可以点击我剪头标注的链接。话说那个连接还真·隐蔽
下载对应的centos或fedora的rpm文件
curl -O https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
或者是
wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
若怀疑文件完整性可以用md5验算一下
md5sum mysql80-community-release-el7-1.noarch.rpm
739dc44566d739c5d7b893de96ee6848 mysql80-community-release-el7-1.noarch.rpm
将此输出与网站上适当的MD5值进行比较: 这说明文件没有损坏或更改,我们将安装该软件包:
sudo rpm -ivh mysql80-community-release-el7-1.noarch.rpm
添加了这两个 MySQL 的yum仓库(mysql-server和mysql-client)后,我们现在可以来安装 MySQL Server 了
sudo yum -y install mysql-server
启动
我们将用以下命令启动守护进程:
sudo systemctl start mysqld
systemctl不显示命令执行的结果,所以为了确保运行成功,将使用以下命令:
sudo systemctl status mysqld
如果MySQL已经成功启动,输出应该包含 Active:active(running)
注意 安装MySQL时,MySQL会自动启动。你可以使用
sudo systemctl disable mysqld
更改不让MySQL自动启动。
在安装的过程中,MySQL会为root用户自动生成一个临时密码。用以下命名可以从mysqld.log
的文件中找到密码
sudo grep 'temporary password' /var/log/mysqld.log
2018-06-24T20:08:20.091668Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ymhh.pu3OPjd
下面的配置需要密码,请记住密码
配置
MySQL有一个安全脚本,方便我们进行更改禁止root登录、删除测试数据库、删除匿名用户之类的选项设置。 使用下面的命令运行脚本
sudo mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root:
此时输入之前获得的自动生成的密码
The existing password for the user account root has expired. Please set a new password
New password:
输入一个新的12个字符的密码,其中至少包含一个大写字母,一个小写字母,一个数字和一个特殊字符。 出现提示时重新输入 如果密码强度太弱系统会立即提示您再次更改 您将收到关于新密码强度的反馈,然后系统会立即提示您再次更改 之后是有密码强度插件、去掉匿名用户、禁止root远程连接、删除测试数据库、重新加载权限表之类的配置。可以按照要求来配置。 现在我们已经确保安装,
测试一下
我们可以通过mysqladmin
工具来验证安装和获取连接的信息,该工具是用来管理 MySQL 的命令行客户端。使用以下命令用 root 用户登录,连接到MySQL,提示输入密码(-p)并返回版本(version)
mysqladmin -u root -p version
mysqladmin Ver 8.0.11 for Linux on x86_64 (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.
Server version 8.0.11
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 10 hours 19 min 21 sec
到此安装已完成
最后
你现在已经在服务器上安装了基本的MySQL安装程序。 以下可能是你感兴趣的文章 在linux上提高 MySQL/MariaDB 安全性的12条建议