在Linux上使用Oracle RPM安装包安装Mysql 5.7

在基于RPM的Linux版本上安装MySQL的推荐方式是使用Oracle官方提供的RPM包,可以从两个地方获取到MySql社区版:

  • MySQL软件仓库

    • YUM 仓库
    • SLES 仓库
  • 从MySQL开发者社区(本文使用的软件的下载地址)下载MySQL

    提示

    对于其它软件发布方提供的MYSQL的RPM发布包,这些包可能与Oracle官方提供的有所差异,比如官方提供的特性、性能以及一些约定,如交互式安装。这些包的安装方式因此可能并不适宜使用本文的安装步骤。

    如果想使用RPM迁移或升级到Oracle官方发布版,参考此处,或者使用官方的YUM仓库升级指导或者SLES仓库升级指导

MySql RPM 包内容如下:

社区版包名 商业版包名 描述
mysql-community-server mysql-commercial-server MySQL数据库
mysql-community-client mysql-commercial-client MySQL客户端程序和工具
mysql-community-common mysql-commercial-common 数据库和客户端工共文件
mysql-community-devel mysql-commercial-devel 客户端开发头文件和库文件
mysql-community-libs mysql-commercial-libs 共享客户端库文件
mysql-community-libs-compat mysql-commercial-libs-compat 共享Mysql预安装性能库文件
mysql-community-embedded mysql-commercial-embedded MySQL内置库文件
mysql-community-embedded-devel mysql-commercial-embedded-devel 内置MySQL开发头文件
mysql-community-test mysql-commercial-test 数据库服务器调试工具集

RPM包命名规则如下:

packagename-version-distribution-arch.rpm
eg: mysql-community-server-5.7.33-1.el7.x86_64.rpm
packagename: mysql-community-server
version: 5.7.33
distribution: 1.el7 Linux发布的版本
architecture: x86_64 CPU架构

Linux发布版编号说明 使用情况
el{version}: Enterprise Linux主要版本,如el8 EL6, EL7, EL8,如红帽Enterprise Linux、Centos
sles12 SUSE Linux Enterprise Server 12

RPM包之间有依赖关系,建议直接下载捆绑包,里面包含了上表中的所有包,如下图圆框中的选项:

下载网页

Mysql标准安装,需要安装mysql-community-server,mysql-community-client,mysql-community-libs,mysql-community-common,mysql-community-libs-compat

安装包清单

如上图,将下载的捆绑包mysql-5.7.33-1.el7.x86_64.rpm-bundle.tar解压出来,最好是解压到一个新的文件夹中,确保文件夹中没有与需要的RPM包名相近的安装包,然后使用如下命令安装:

$ sudo yum install mysql-community-{server,client,common,libs}-* mysql-5.*

以上标准安装结束之后,会在系统创建相关文件,清单如下:

Files or Resources Location
Client programs and scripts /usr/bin
mysqld server /usr/sbin
Configuration file /etc/my.cnf
Data directory /var/lib/mysql
Error log file For RHEL, Oracle Linux, CentOS or Fedora platforms: /var/log/mysqld.logFor SLES: /var/log/mysql/mysqld.log
Value of secure_file_priv /var/lib/mysql-files
System V init script For RHEL, Oracle Linux, CentOS or Fedora platforms: /etc/init.d/mysqldFor SLES: /etc/init.d/mysql
Systemd service For RHEL, Oracle Linux, CentOS or Fedora platforms: mysqldFor SLES: mysql
Pid file /var/run/mysql/mysqld.pid
Socket /var/lib/mysql/mysql.sock
Keyring directory /var/lib/mysql-keyring
Unix manual pages /usr/share/man
Include (header) files /usr/include/mysql
Libraries /usr/lib/mysql
Miscellaneous support files (for example, error messages, and character set files) /usr/share/mysql

安装结束之后,会创建一个mysql用户以及一个mysql组。然而,并不会自动运行MySQL,在红帽Enterprise Linux、Centos、Oracle Linux和Fedora系统做,使用如下命令启动:

$ sudo service mysqld start

SLES系统的启动命令是:

$ sudo service mysql start

如果系统使用了systemd,可以使用标准的stopstartstatusrestart管理MySQL。

在初始化启动MySQL的时候,发生了如下事情:

  • 服务器初始化
  • SSL证书和key被生成,存储在data目录
  • validate_password被安装和启用
  • 超级管理员账户被创建:root@localhost。它的密码被创建并记录在日志文件中,使用如下命令查看:
    $ sudo grep 'temporary password' /var/log/mysqld.log  --适用于RHEL, Oracle Linux, CentOS 以及 Fedora
    $ sudo grep 'temporary password' /var/log/mysql/mysqld.log --适用于 SLES
    

然后更改密码:

$ mysql -uroot -p
mysql> 输入上一步获取到的密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

mysql的密码策略是:至少一个大写字符、一个小写字符、一个数字、一个特殊字符然后总长度至少8位
如果安装过程出现问题,在日志文件/var/log/mysqld.log查看调试日志。

P.S. 本文翻译自MySQL官网,并实践安装验证后书写

你可能感兴趣的:(在Linux上使用Oracle RPM安装包安装Mysql 5.7)