在 CentOS 7 上安装 MySQL 数据库
现在,不使用数据库的软件,还真不能称其为软件,只能称作程序。在 Windows 平台下,MSSQLServer 已深入人心,根深蒂固。但是在 Linux 平台下,取而代之的是 MySQL。
一、安装与配置
1、下载必需的 MySQL 软件包,我们可以去 MySQL 官网找到 下载页面,由于我目前使用的 Linux 系统发行版为 CentOS 7,那么我就可以通过 Yum 包管理器来进行安装。首先,应下载 MySQL Yum 安装源,下载地址为: http://dev.mysql.com/downloads/repo/yum/,如果是其它发行版的系统,在该页面的左侧导航栏即有相应的包管理器链接。
2、在 Yum 安装源的下载页面里面,我看到有很多版本的安装源,但是却没有一款是“For CentOS”的,那是不是就安装不了呢?当然不是。CentOS 是由 Red Hat Enterprise Linux(简称 RHEL)依照开放源代码规定发布的源代码所编译而成,所以 RHEL 版本的安装源也同样适用 CentOS。那么下载页这么多“For RHEL”的版本,到底 CentOS 7 对应的是 RHEL 的哪个版本呢?其实这个问题不难解决,我们只要知道 CentOS 的发布历史就可以知道它对应的是哪个 RHEL 版本了,CentOS 的发布历史可以在维基百科的 CentOS 词条中找到。所以,CentOS 7 对应 RHEL 7,那么我下载这个源包就可以了。
3、开始安装安装源。
sudo rpm -Uvh mysql-community-release-el7-5.noarch.rpm
4、查找本机上的 MySQL 安装源列表。
yum repolist all | grep mysql
这个操作可能会比较慢,耐心等待吧。待查找完毕,在我的机子上显示如下图:
从上图可以看出,有 3 个安装源是“enabled”,说明这 3 个安装源的软件包将会被安装。但是,如果我们由于某种原因,需要安装指定版本的 MySQL,那么还需要修改 MySQL 的安装源配置文件/etc/yum.repos.d/mysql-community.repo
。查看该文件可以看到如下内容:
从第 11、19、27 行我们可以看到有个“enable
”选项,它就是控制我们到底要安装哪个版本的 MySQL 的,设为0
表示不使用这个源,反之表示使用这个源。由于目前最新发布版也就是 5.6 版,所以我无需修改安装源配置文件。
5、安装 MySQL
sudo yum install mysql-community-server
6、启动 MySQL 服务器
sudo service mysqld start
检查 MySQL 服务器状态:
sudo service mysqld status
接着我们可以看到绿色高亮显示的部分,表示服务器已处于正在运行状态。
如果需要停止 MySQL 服务器:
sudo service mysqld stop
7、启动完之后我们需要进行安全配置:
mysql_secure_installation
接着便会提示我进行一系列的安全设置:
(1)设置 MySQL 的 root 用户密码。由于初次安装 MySQL 时 root 的密码为空,所以当提示我们输入当前 root 密码时,我们应直接敲回车键以表示空。然后根据提示输入 root 密码。
(2)接着提示我们是否移除匿名用户,这个当然是YES
。
(3)接着提示是否不允许 root 用户远程登录,根据上方的提示说 root 用户只应从本地登录,我选择YES
以不允许 root 用户远程登录,当然如果你有这方面的需要,也可以允许 root 用户远程登录。
(4)最后提示是否移除“test
”数据库,并重新加载权限表。
二、维护
1、安装 MySQL 其它可选组件
(1)首先,我们应找出哪些是没有安装的组件,MySQL 官方的快速安装指南里面说是执行下面这条命令:
yum --disablerepo=\* --enablerepo='mysql*-community*' list available
这个命令看起来怎么那么不顺眼呢?其实这个命令的原型是这样的:
yum [options] list available
至于“--disablerepo = \*
”是什么意思,网上有人说这是告诉 Yum 不使用“\
”目录下的所有资源,那么这个“\
”目录是哪个目录呢?最终各种无果。
(2)待显示出所有可用的包之后,执行 Yum 的安装命令即可。
(3)更新 MySQL 及其组件:
sudo yum update mysql-server
- http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/