在CentOS(Fedora、RedHat)系统中,可以使用yum install mysql
命令来安装MySQL,但所安装的MySql版本一般都较旧,所以更推荐通过源码编译安装或下载最新rpm
安装包进行安装。
MySQL的Yum
源提供了RPM
安装包,包括MySQL服务端、客户端、及Linux平台的其它组件。这些安装包同样可以用于升级或替换第三方已安装的MySQL。
MySQL的Yum
源支持以下Linux平台:
- 基于EL5-、EL6-、EL7-的平台(如 Red Hat Enterprise Linux、Oracle Linux 和 CentOS)
- Fedora 23 和 24
1. 添加MySQLYum
源
首先,添加MySQLYum
源到系统源列表中:
- 打开MySQL
Yum
源下载页: http://dev.mysql.com/downloads/repo/yum/,选择并下载你所用系统适用的发行包。 - 使用以下命令安装下载的发行包
如,我下载的发行包为mysql57-community-release-el6-9.noarch.rpm
,安装命令如下:
$ sudo rpm -Uvh mysql57-community-release-el6-9.noarch.rpm
注意:安装发行包后,如果系统执行yum update
命令(或在dnf-enabled
的系统中执行dnf upgrade
命令)后,会自动升级系统中的MySQL包,并会自动替换所有的本地第三方包。
2. 选择一个发行系列
使用MySQL的Yum
源时,默认会安装MySQL最新的GA(General Availability,正式发布)版本。如果正要使用最新的版本,请跳过本步骤,直接查看使用Yum
安装MySQL
在MySQLYum
源的内部,不同的发行系列对应了MySQL社区服务器的不同资源子节点。子节点默认为最新的正式版本(当前为 5.7),而其它资源子节点(如5.5、5.6等)默认是不可用的。
可以通过以下命令,查询子资源是否可用(在dnf-enabled
的系统中使用dnf
命令替代yum
):
yum repolist all | grep mysql
mysql-connectors-community MySQL Connectors Community enabled: 24 mysql-connectors-community-source MySQL Connectors Community - S disabled mysql-tools-community MySQL Tools Community enabled: 40 mysql-tools-community-source MySQL Tools Community - Source disabled mysql-tools-preview MySQL Tools Preview disabled mysql-tools-preview-source MySQL Tools Preview - Source disabled mysql55-community MySQL 5.5 Community Server disabled mysql55-community-source MySQL 5.5 Community Server - S disabled mysql56-community MySQL 5.6 Community Server disabled mysql56-community-source MySQL 5.6 Community Server - S disabled mysql57-community MySQL 5.7 Community Server enabled: 146 mysql57-community-source MySQL 5.7 Community Server - S disabled mysql80-community MySQL 8.0 Community Server disabled mysql80-community-source MySQL 8.0 Community Server - S disabled
如上所示,因为笔者安装5.7版本Yum
源,所以默认启用的就是5.7版本。
如果要安装最新的发行版,则不需要其它配置。而要指定安装一个早期版本,则需要在安装前禁用最新发生版,并启用指定要安装的版本。可以通过修改/etc/yum.repos.d/mysql-community.repo
文件实现,该文件是一个指定子资源的入口:
[mysql-connectors-community] name=MySQL Connectors Community baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/6/$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
如上所示,默认启用的是最新的5.7版本。如果要修改配置,可以通过编辑enabled
配置节点实现,enable=0
表示禁用该子资源,而enabled=1
表示启用该子资源。
例如,如果需要启用5.6版本的源,就需要将如下所示的5.6版本源设置为enabled=1
并将5.7版本源设置为enabled=0
:
# Enable to use MySQL 5.6 [mysql56-community] name=MySQL 5.6 Community Server baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/ enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
配置完成后,可以使用前面所示的yum repolist enabled | grep mysql
命令检查配置是否正确。
3. 使用Yum
安装MySQL
使用以下命令安装MySQL(在dnf-enabled
的系统中使用dnf
命令替代yum
):
$ sudo yum install mysql-community-server
以上命令用于安装MySQL的服务端模块,安装其它模块命令格式也类似。
4. 启动MySQL服务器
启动MySQL服务命令如下:
$ sudo service mysqld start
启动时会依次输出以下信息:
Initializing MySQL database: [ OK ] Installing validate password plugin: [ OK ] Starting mysqld: [ OK ]
可以通过以下命令检查MySQL的运行状态:
$ sudo service mysqld status
在5.7版本的MySQL启动时,因为数据目录是空的,所以会有以下操作:
- 服务器初始化
- 在数据目录生成一个SSL证书和key文件
validate_password
插件安装并启用- 创建一个超级管理帐号
'root'@'localhost'
。管理的密码会保存在错误日志文件中,可以通过以下命令查看:$ sudo grep 'temporary password' /var/log/mysqld.log
可以通过以下命令并使用自动生成的临时密码登录,然后修改为一个自定义密码:
$ mysql -u root -p
密码修改:
$ ALTER USER 'root'@'localhost' IDENTIFIED BY 'newPassword';
注意:MySQL的validate_password
插件是默认安装的。这要求MySQL密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,并且总密码长度至少为8个字符。
5. 加固MySQL安全(仅MySQL5.6适用)
mysql_secure_installation
程序可以保证一些重要操作的安全性,如:修改root用户的密码、删除匿名用户等。如果安装是MySQL 5.6,应该保证始终运行该程序:
$ mysql_secure_installation