CentOS 7 安装 MySQL 5.7

来源:互联网 发布:2017淘宝评价计分规则 编辑:程序博客网 时间:2024/06/01 21:27

  • 准备工作
    • 1 获取 MySQL 的 yum repository 及主要 rpm 包
      • 11 获取 MySQL yum repository
      • 12 获取 rpm 包
    • 2 制作本地 yum 源
      • 21 修改配置文件
      • 22 建立本地仓库索引
  • 使用 yum 安装 MySQL
  • MySQL 初始化配置
    • 1 启动并查看 MySQL 状态
    • 2 连接并配置
      • 21 连接
      • 22 修改密码
      • 23 修改配置文件
      • 24 添加用户远程访问权限


联网状态下,CentOS 7 是可以直接通过 yum 命令在线安装 MySQL 的,但通常会因为网速限制和连接不稳定而出现超时现象,导致安装失败,此时,本地安装就要方便地多。由于不是经常安装,所以作简单记录,供以后参考。

1. 准备工作

环境:

  • CentOS 7 最小化安装虚拟机(已禁用默认的 base yum 源)
  • 基于 CentOS-7-x86_64-Everything-1611.iso 的本地 yum 源
  • 下载文件目标地址:/root/yumrepo/mysql

1.1 获取 MySQL 的 yum repository 及主要 rpm 包

1.1.1 获取 MySQL yum repository

MySQL yum 源下载

Tip:

上面使用的当前官网最新的 yum repository,下面介绍的为个人本机的版本,由于操作完全一样,故不再重新下载。

由于本人使用的是虚拟机,所有文件的下载都是通过主机完成再传输到虚拟机上的,如果是直接使用 CentOS 系统,可以通过 wget 命令来完成下载(前提是主机可以联网并且安装了 wget 相关插件包),具体不再说明。

# 安装yum -y localinstall mysql57-community-release-el7-9.noarch.rpm

 MySQL yum 源安装完成

# 查看是否安装成功yum reoplist enabled | grep mysql # 匹配表达式可以更具体:"mysql.*-community.*"

MySQL yum 源是否生效

1.1.2 获取 rpm 包

下载地址:http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/

 MySQL rpm 包下载列表截图

选择需要的进行下载,主要有如下 5 个:

  • mysql-community-client-5.7.17-1.el7.x86_64.rpm
  • mysql-community-common-5.7.17-1.el7.x86_64.rpm
  • mysql-community-libs-5.7.17-1.el7.x86_64.rpm
  • mysql-community-libs-compat-5.7.17-1.el7.x86_64.rpm
  • mysql-community-server-5.7.17-1.el7.x86_64.rpm

Tip:

官网除了提供 yum repository 的下载,同时还提供了 rpm 的完整打包下载。

如果觉得上述方法过于麻烦,可以使用官网的 tar 包,下载、解压即可得到上述包。

地址:https://dev.mysql.com/downloads/mysql/

官网提供的 rpm 整合包下载

1.2 制作本地 yum 源

1.2.1 修改配置文件

在使用 yum localinstall 命令安装完 MySQL yum repository 后,会多出 /etc/yum.repos.d/mysql-community.repo 这样一个配置文件,修改此配置:

  • 它提供了多个版本的 mysql yum 安装源,其中默认生效(enabled=1)的为与 mysql57-community-release-el7-11.noarch.rpm 一致的 5.7 版本,其他的如果看着乱可以直接删除。
  • 它除了提供 server 的安装源,还提供了 connectors、tools 等其他工具,此处并不需要,可以直接设置为不生效(enabled=0)甚至删除(不建议)。
  • 修改需要的 mysql57-community
    • baseurl 为本地路径:file:///root/yumrepo/mysql/
    • gpgcheck 为 0
    • 注释 gpgkey

最终效果如下:

MySQL 本地 yum 配置

1.2.2 建立本地仓库索引

/root/yumrepo/mysql/ 中目前只有 rpm 包,还不能使用 yum 进行安装,需要使用 createrepo dir 命令生成 yum 的索引。

  1. 使用另一个本地安装源(CentOS-7-x86_64-Everything-1611.iso)安装 createrepo
  2. 使用 createrepo /root/yumrepo/mysql/ 命令为对应目录下文件生成 yum 索引

2. 使用 yum 安装 MySQL

经过上面的配置,现在系统中有两个本地 yum 源:

  • 上面主要配置的 mysql-community 的 yum 源,用于安装 mysql 相关的主要包
  • 基于 CentOS-7-x86_64-Everything-1611.iso 的 yum 源,用于安装 mysql 包依赖的相关基包

运行如下命令安装 mysql-community-server:yum -y install mysql-community-server,由于包都是本地的,所以基本 2~3 分钟就可安装完成,出现类似如下提示即为安装成功:

yum 安装 MySQL

3. MySQL 初始化配置

3.1 启动并查看 MySQL 状态

systemctl start mysqldsystemctl status mysqld

查看 MySQL 的服务状态

3.2 连接并配置

3.2.1 连接

MySQL 安装完成之后,在 /var/log/mysqld.log 文件中给 root 用户生成了一个临时密码。

获取 MySQL 初始化安装后系统默认的临时密码

使用临时密码即可成功登陆 mysql -uroot -p

3.2.2 修改密码

MySQL 5.7 默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位,否则会提示 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 错误。

由于是个人开发,并不需要复杂密码,在 my.cnf 文件中添加如下配置禁用即可:validate_password = off。修改配置文件需要重启服务才能生效,所以此处先按照它的要求修改密码,免得重启后还要输那个复杂的临时密码。

修改密码:set password for 'root'@'localhost' = password('MyNewPasswd1!');

3.2.3 修改配置文件

配置文件地址:/etc/my.cnf,主要修改如下:

  • 设置字符集:character_set_server=utf8
  • 禁用密码策略:validate_password=off

3.2.4 添加用户远程访问权限

默认只允许 root 帐户在本地登录,如果要在其它机器上连接 MySQL,必须修改 root 允许远程连接,或者添加一个允许远程连接的帐户。

由于是个人开发使用,直接为 root 用户开启远程访问的权限即可。

grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option;flush privileges;

说明:

  • *.*:代表所有数据库中的所有表
  • %:代表任意 ip,也可具体指定

以上操作完成后,如仍无法远程连接 MySQL,就需要修改系统的防火墙配置,常见有如下两种解决方法:

  • 禁用防火墙,个人开发推荐,防火墙总是会引发各种问题:systemctl stop firewalld
  • 为对应服务开启指定端口:firewall-cmd --zone=public --add-port=3306/tcp --permanent && firewall-cmd --reload
0 0
原创粉丝点击