安装指南...1 mysql 5.7.27 安装指南(centos 7.6) 1.1 介绍 1.2 环境要求 1.3...

116
鲲鹏数据库解决方案 安装指南 文档版本 02 发布日期 2020-05-09 华为技术有限公司

Upload: others

Post on 29-Jun-2020

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

鲲鹏数据库解决方案

安装指南

文档版本 02

发布日期 2020-05-09

华为技术有限公司

Page 2: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

版权所有 © 华为技术有限公司 2020。 保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。 商标声明

和其他华为商标均为华为技术有限公司的商标。本文档提及的其他所有商标或注册商标,由各自的所有人拥有。 注意

您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或默示的声明或保证。

由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。

华为技术有限公司地址: 深圳市龙岗区坂田华为总部办公楼 邮编:518129

网址: https://www.huawei.com

客户服务邮箱: [email protected]

客户服务电话: 4008302118

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 i

Page 3: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

目 录

1 MySQL 5.7.27 安装指南(CentOS 7.6)............................................................................... 11.1 介绍.............................................................................................................................................................................................. 11.2 环境要求......................................................................................................................................................................................21.3 配置安装环境............................................................................................................................................................................. 21.3.1 关闭防火墙并取消开机自启动........................................................................................................................................... 21.3.2 修改 SELINUX 为 disabled.................................................................................................................................................. 31.3.3 创建组和用户..........................................................................................................................................................................31.3.4 搭建数据盘.............................................................................................................................................................................. 31.3.5 创建数据目录并授权............................................................................................................................................................ 51.4 安装.............................................................................................................................................................................................. 51.4.1 镜像站 RPM 安装...................................................................................................................................................................51.4.2 编译安装.................................................................................................................................................................................. 71.5 运行.............................................................................................................................................................................................. 71.6 卸载.............................................................................................................................................................................................. 91.6.1 镜像站 RPM 安装方式卸载............................................................................................................................................... 101.6.2 编译安装安装方式卸载...................................................................................................................................................... 101.7 备份数据库............................................................................................................................................................................... 101.7.1 创建数据库和表................................................................................................................................................................... 101.7.2 备份数据库........................................................................................................................................................................... 111.8 故障排除................................................................................................................................................................................... 111.8.1 配置环境变量失败.............................................................................................................................................................. 12

2 MySQL 8.0.17 安装指南(CentOS 7.6).............................................................................132.1 介绍............................................................................................................................................................................................ 132.2 环境要求................................................................................................................................................................................... 142.3 配置安装环境...........................................................................................................................................................................142.3.1 关闭防火墙并取消开机自启动.........................................................................................................................................142.3.2 修改 SELINUX 为 disabled............................................................................................................................................... 152.3.3 创建组和用户....................................................................................................................................................................... 152.3.4 搭建数据盘........................................................................................................................................................................... 152.3.5 创建数据目录并授权.......................................................................................................................................................... 172.4 安装............................................................................................................................................................................................ 172.4.1 官网 RPM 安装.................................................................................................................................................................... 172.4.2 镜像站 RPM 安装................................................................................................................................................................ 19

鲲鹏数据库解决方案安装指南 目 录

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 ii

Page 4: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

2.4.3 编译安装................................................................................................................................................................................ 212.5 运行............................................................................................................................................................................................ 222.6 卸载............................................................................................................................................................................................ 242.7 备份数据库............................................................................................................................................................................... 252.7.1 创建数据库和表................................................................................................................................................................... 252.7.2 备份数据库........................................................................................................................................................................... 26

3 MariaDB 10.3.8 安装指南(CentOS 7.6)..........................................................................273.1 介绍............................................................................................................................................................................................ 273.2 环境要求................................................................................................................................................................................... 293.3 配置安装环境...........................................................................................................................................................................293.3.1 关闭防火墙并取消开机自启动.........................................................................................................................................303.3.2 修改 SELINUX 为 disabled............................................................................................................................................... 303.3.3 创建组和用户....................................................................................................................................................................... 303.3.4 搭建数据盘........................................................................................................................................................................... 303.3.5 创建数据库目录并且授权................................................................................................................................................. 323.4 安装............................................................................................................................................................................................ 323.4.1 官网 RPM 安装.................................................................................................................................................................... 333.4.2 镜像站 RPM 安装................................................................................................................................................................ 353.4.3 编译安装................................................................................................................................................................................ 363.5 运行............................................................................................................................................................................................ 373.6 卸载............................................................................................................................................................................................ 413.6.1 官网 RPM 安装方式卸载................................................................................................................................................... 413.6.2 镜像站 RPM 安装方式卸载............................................................................................................................................... 413.6.3 编译安装方式卸载.............................................................................................................................................................. 413.7 备份数据库............................................................................................................................................................................... 42

4 MongoDB 4.0.12 安装指南(CentOS 7.6)........................................................................434.1 介绍............................................................................................................................................................................................ 434.2 环境要求................................................................................................................................................................................... 434.3 配置安装环境...........................................................................................................................................................................444.4 安装............................................................................................................................................................................................ 454.4.1 镜像站 RPM 安装................................................................................................................................................................ 454.4.2 编译安装................................................................................................................................................................................ 464.5 运行............................................................................................................................................................................................ 474.6 卸载............................................................................................................................................................................................ 484.6.1 镜像站 RPM 安装方式卸载............................................................................................................................................... 484.6.2 编译安装方式卸载.............................................................................................................................................................. 49

5 Percona 8.0.15 安装指南(CentOS 7.6)........................................................................... 505.1 介绍............................................................................................................................................................................................ 505.2 环境要求................................................................................................................................................................................... 515.3 配置安装环境...........................................................................................................................................................................515.3.1 关闭防火墙并取消开机自启动.........................................................................................................................................51

鲲鹏数据库解决方案安装指南 目 录

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 iii

Page 5: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

5.3.2 修改 SELINUX 为 disabled............................................................................................................................................... 525.3.3 创建组和用户....................................................................................................................................................................... 525.3.4 搭建数据盘........................................................................................................................................................................... 525.3.5 创建数据目录并授权.......................................................................................................................................................... 545.4 安装............................................................................................................................................................................................ 545.4.1 镜像站 RPM 安装................................................................................................................................................................ 545.4.2 编译安装................................................................................................................................................................................ 555.5 运行............................................................................................................................................................................................ 565.6 卸载............................................................................................................................................................................................ 585.7 备份数据库............................................................................................................................................................................... 59

6 PostgreSQL 11.3 安装指南(CentOS 7.6)........................................................................ 616.1 介绍............................................................................................................................................................................................ 616.2 环境要求................................................................................................................................................................................... 646.3 配置安装环境...........................................................................................................................................................................646.3.1 关闭防火墙并取消开机自启动.........................................................................................................................................646.3.2 修改 SELINUX 为 disabled............................................................................................................................................... 656.3.3 创建组和用户....................................................................................................................................................................... 656.3.4 搭建数据盘........................................................................................................................................................................... 656.3.5 数据目录授权....................................................................................................................................................................... 666.4 安装............................................................................................................................................................................................ 666.4.1 镜像站 RPM 安装................................................................................................................................................................ 666.4.2 编译安装................................................................................................................................................................................ 676.5 运行............................................................................................................................................................................................ 686.6 卸载............................................................................................................................................................................................ 716.7 备份数据库............................................................................................................................................................................... 716.7.1 基本命令................................................................................................................................................................................ 716.7.2 举例........................................................................................................................................................................................ 72

7 Greenplum 6.0.0 安装指南(CentOS 7.6)....................................................................... 737.1 介绍............................................................................................................................................................................................ 737.2 环境要求................................................................................................................................................................................... 747.3 配置安装环境...........................................................................................................................................................................747.3.1 关闭防火墙并取消开机自启动.........................................................................................................................................747.3.2 修改 SELINUX 为 disabled............................................................................................................................................... 757.3.3 创建组和用户....................................................................................................................................................................... 757.3.4 搭建数据盘........................................................................................................................................................................... 757.3.5 创建数据目录并授权.......................................................................................................................................................... 777.4 安装............................................................................................................................................................................................ 777.4.1 编译安装................................................................................................................................................................................ 777.4.2 镜像站 RPM 安装................................................................................................................................................................ 777.5 运行............................................................................................................................................................................................ 797.5.1 配置环境变量....................................................................................................................................................................... 797.5.2 初始化数据库....................................................................................................................................................................... 80

鲲鹏数据库解决方案安装指南 目 录

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 iv

Page 6: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

7.5.3 连接数据库........................................................................................................................................................................... 817.6 Greenplum 数据库操作........................................................................................................................................................ 817.6.1 数据库管理........................................................................................................................................................................... 827.6.2 备份数据库........................................................................................................................................................................... 84

8 鲲鹏数据库解决方案 自动化部署工具 用户指南................................................................... 868.1 自动化部署工具介绍............................................................................................................................................................. 868.2 MySQL 自动化部署操作指导.............................................................................................................................................. 888.2.1 准备工作................................................................................................................................................................................ 888.2.2 MySQL 安装前检查............................................................................................................................................................ 908.2.3 MySQL 安装......................................................................................................................................................................... 908.2.4 MySQL 的启动、登录、关闭........................................................................................................................................... 918.2.5 MySQL 卸载......................................................................................................................................................................... 928.2.6 MySQL RPM 包编译.......................................................................................................................................................... 928.3 PostgreSQL 自动化部署操作指导...................................................................................................................................... 938.3.1 准备工作................................................................................................................................................................................ 938.3.2 PostgreSQL 安装前检查....................................................................................................................................................948.3.3 PostgreSQL 安装................................................................................................................................................................. 958.3.4 PostgresSQL 启动、登录、关闭..................................................................................................................................... 968.3.5 PostgreSQL 卸载................................................................................................................................................................. 968.3.6 PostgreSQL RPM 包编译.................................................................................................................................................. 978.4 MongoDB 自动化部署操作指导.........................................................................................................................................988.4.1 准备工作................................................................................................................................................................................ 988.4.2 MongoDB 安装前检查.................................................................................................................................................... 1018.4.3 MongoDB 安装................................................................................................................................................................. 1028.4.4 MongoDB 卸载................................................................................................................................................................. 1038.4.5 MongoDB RPM 包编译.................................................................................................................................................. 1048.5 Greenplum 自动化部署操作指导.................................................................................................................................... 1048.5.1 准备工作............................................................................................................................................................................. 1048.5.2 Greenplum 安装前检查.................................................................................................................................................. 1068.5.3 Greenplum 安装............................................................................................................................................................... 1078.5.4 Greenplum 卸载............................................................................................................................................................... 1088.5.5 Greenplum RPM 包编译................................................................................................................................................ 1088.6 故障排除................................................................................................................................................................................. 1098.6.1 安装失败后处理................................................................................................................................................................ 109

A 修订记录................................................................................................................................. 110

鲲鹏数据库解决方案安装指南 目 录

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 v

Page 7: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

1 MySQL 5.7.27 安装指南(CentOS 7.6)

1.1 介绍

1.2 环境要求

1.3 配置安装环境

1.4 安装

1.5 运行

1.6 卸载

1.7 备份数据库

1.8 故障排除

1.1 介绍

简要介绍

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品。MySQL是业界 流行的RDBMS(Relational Database ManagementSystem,关系数据库管理系统)之一,尤其在WEB应用方面。

关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就加快了速度并提高了灵活性。

MySQL所使用的SQL语言是用于访问数据库的 常用标准化语言。MySQL软件采用了双授权模式,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。

关于MySQL的更多信息请访问MySQL官网。

开发语言:C/C++

一句话描述:关系型数据库。

建议的版本

建议使用版本为“MySQL 5.7.27”。

鲲鹏数据库解决方案安装指南 1 MySQL 5.7.27 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 1

Page 8: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

说明

本文将介绍MySQL的两种安装方式:镜像站RPM安装和编译安装,请视具体情况选择其中一种安装方式。

1.2 环境要求

硬件要求

硬件要求如表1-1所示。

表 1-1 硬件要求

项目 说明

服务器 TaiShan 200 服务器(型号2280)

CPU 华为鲲鹏920处理器

硬盘 进行性能测试时,数据目录需使用单独硬盘,即一个系统盘,一个数据盘(数据盘可选用性能较好的SSD盘,NVMe盘等),至少两块硬盘;非性能测试时,直接在系统盘上建数据目录即可。具体硬盘数量根据实际需求配置。

操作系统要求

操作系统要求如表1-2所示。

表 1-2 操作系统要求

项目 版本

CentOS 7.6 for ARM

说明

如果是全新安装操作系统,可选择“Minimal Install”安装方式并勾选Development Tools套件,否则很多软件包需要手动安装。

1.3 配置安装环境

1.3.1 关闭防火墙并取消开机自启动

说明

测试环境下通常会关闭防火墙以避免部分网络因素影响,视实际需求做配置。

鲲鹏数据库解决方案安装指南 1 MySQL 5.7.27 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 2

Page 9: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

步骤1 停止防火墙。

#systemctl stop firewalld.service

步骤2 关闭防火墙。

#systemctl disable firewalld.service

说明

执行disable命令关闭防火墙的同时,也取消了开机自启动。

----结束

1.3.2 修改 SELINUX 为 disabled步骤1 修改配置文件。

#sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux

----结束

1.3.3 创建组和用户

说明

服务器环境下,为了系统安全,通常会为进程分配单独的用户,以实现权限隔离。本章节创建的组和用户都是操作系统层面的,不是数据库层面的。

步骤1 创建MySQL用户(组)。

#groupadd mysql

#useradd -g mysql mysql

步骤2 设置MySQL用户密码。

#passwd mysql

重复输入密码(根据实际需求设置密码)。

----结束

1.3.4 搭建数据盘

说明

● 进行性能测试时,数据目录使用单独硬盘,需要对硬盘进行格式化并挂载,参考方法一或者方法二。

● 非性能测试时,执行以下命令,创建数据目录即可。然后跳过本小节:

#mkdir /data

方法一:使用 fdisk 进行磁盘管理

步骤1 创建分区(以/dev/sdb为例,根据实际情况创建)。

#fdisk /dev/sdb

鲲鹏数据库解决方案安装指南 1 MySQL 5.7.27 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 3

Page 10: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

步骤2 输入n,按回车确认。

步骤3 输入p,按回车确认。

步骤4 输入1,按回车确认。

步骤5 采用默认配置,按回车确认。

步骤6 采用默认配置,按回车确认。

步骤7 输入w,按回车保存。

步骤8 创建文件系统(以xfs为例,根据实际需求创建文件系统)。

#mkfs.xfs /dev/sdb1

步骤9 挂载分区到“/data”以供操作系统使用。

#mkdir /data

#mount /dev/sdb1 /data

步骤10 执行命令“vi /etc/fstab", 编辑“/etc/fstab”使重启后自动挂载数据盘。如下图中,添加 后一行内容。

其中,/dev/sdb1为示例,具体名称以实际情况为准。

----结束

方法二:使用 LVM 进行磁盘管理

说明

此步骤需要安装镜像中的lvm2相关包,步骤如下:

1. 参考《MySQL 5.7.27 移植指南(CentOS 7.6)》中“挂载OS镜像”和“配置本地yum源”的内容配置yum源并挂载镜像。如果已经执行,则可跳过此步。

2. 执行命令安装lvm2。#yum install lvm2

步骤1 创建物理卷(sdb为硬盘名称,具体名字以实际为准)。

#pvcreate /dev/sdb

步骤2 创建物理卷组(其中datavg为创建的卷组名称,具体名字以实际规划为准)。

#vgcreate datavg /dev/sdb

步骤3 创建逻辑卷(其中600G为规划的逻辑卷大小,具体大小以实际情况为准;datalv为创建的逻辑卷的名字,具体名称以实际规划为准。)。

鲲鹏数据库解决方案安装指南 1 MySQL 5.7.27 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 4

Page 11: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

#lvcreate -L 600G -n datalv datavg

步骤4 创建文件系统。

#mkfs.xfs /dev/datavg/datalv

步骤5 创建数据目录并挂载。

#mkdir /data

#mount /dev/datavg/datalv /data

步骤6 执行命令vi /etc/fstab,编辑“/etc/fstab”使重启后自动挂载数据盘。如下图中,添加 后一行内容。

其中,/dev/datavg/datalv为示例,具体名称以实际情况为准。

----结束

1.3.5 创建数据目录并授权步骤1 在1.3.4 搭建数据盘已创建的数据目录/data基础上,继续创建进程所需的相关目录并

授权MySQL用户(组)。

#mkdir -p /data/mysql

#cd /data/mysql

#mkdir data tmp run log

#chown -R mysql:mysql /data/mysql

----结束

1.4 安装

1.4.1 镜像站 RPM 安装

说明

镜像站中的mysql-5.7.27-1.el7.aarch64.rpm安装包根据《MySQL 5.7.27 移植指南(CentOS7.6)》打包而成,然后将其上传到镜像站。此安装方式需要连接外网。如果没有外网,则下载RPM包,上传到服务器任意路径,并在该路径下执行命令rpm -ivhmysql-5.7.27-1.el7.aarch64.rpm安装即可。本小节相关连接如下:

RPM下载链接为:

https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/database/mysql-5.7.27-1.el7.aarch64.rpm

鲲鹏数据库解决方案安装指南 1 MySQL 5.7.27 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 5

Page 12: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

配置本地 yum 源

步骤1 备份原yum库文件并将新配置写入repo文件。

#mv /etc/yum.repos.d/ /etc/yum.repos.d-bak

#mkdir /etc/yum.repos.d

#echo -e "[kunpeng]\nname=CentOS-kunpeng - Base -mirrors.huaweicloud.com\nbaseurl=https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/\ngpgcheck=0\nenabled=1" > /etc/yum.repos.d/CentOS-Base-kunpeng.repo

步骤2 确认上一步操作写入成功。

#cat /etc/yum.repos.d/CentOS-Base-kunpeng.repo

----结束

安装 RPM 包

步骤1 清除缓存。

#yum clean all

步骤2 创建缓存。

#yum makecache

步骤3 安装数据库rpm包。

#yum -y install mysql-5.7.27-1.el7.aarch64 --enablerepo=[kunpeng]

步骤4 查看安装后的rpm包。

#rpm -qa | grep mysql

----结束

鲲鹏数据库解决方案安装指南 1 MySQL 5.7.27 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 6

Page 13: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

1.4.2 编译安装请参考《MySQL 5.7.27 移植指南(CentOS 7.6)》进行编译安装。

1.5 运行步骤1 修改配置文件。

1. 编辑my.cnf配置文件,其中文件路径(包括软件安装路径basedir、数据路径datadir等)根据实际情况修改。

#rm -f /etc/my.cnf#echo -e "[mysqld_safe]\nlog-error=/data/mysql/log/mysql.log\npid-file=/data/mysql/run/mysqld.pid\n[mysqldump]\nquick\n[mysql]\nno-auto-rehash\n[client]\ndefault-character-set=utf8\nsocket=/data/mysql/run/mysql.sock\n[mysqld]\nbasedir=/usr/local/mysql\ntmpdir=/data/mysql/tmp\ndatadir=/data/mysql/data\ndefault_authentication_plugin=mysql_native_password\nport=3306\nuser=mysql\n" > /etc/my.cnf

2. 确保my.cnf配置文件修改正确。

#cat /etc/my.cnf

3. 修改/etc/my.cnf文件的组和用户为mysql:mysql。#chown mysql:mysql /etc/my.cnf

步骤2 配置环境变量。

1. 安装完成后,将MySQL二进制文件路径到PATH。其中PATH中的“/usr/local/mysql/bin”路径,为MySQL软件安装目录下的bin文件的绝对路径。

#echo export PATH=$PATH:/usr/local/mysql/bin >> /etc/profile2. 使环境变量配置生效。

#source /etc/profile

步骤3 初始化数据库。

鲲鹏数据库解决方案安装指南 1 MySQL 5.7.27 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 7

Page 14: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

说明

如果采用镜像站RPM安装方式安装,则需要额外做以下操作步骤避免初始化数据库失败:

1. 下载压缩包rpm-bug.zip并上传到服务器/home目录下。

2. 解压压缩包。

#cd /home/

#unzip rpm-bug.zip

3. 进入解压后的文件目录并将其中的文件放入到指定目录(如果有是否重写文件等提示,则输入y然后回车)。

#cd rpm-bug

#cp libatomic.so.1 /usr/lib64/

#cp libstdc++.so.6.0.24 /lib64/

#rm /lib64/libstdc++.so.6

#ln -s /lib64/libstdc++.so.6.0.24 /lib64/libstdc++.so.6

#cp libaio.so.1.0.1 /usr/lib64/libaio.so.1

#/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize --basedir=/usr/local/mysql --datadir=/data/mysql/data

说明

上图回显信息中 后一行中有初始密码,请注意保存,步骤5时会用到。

步骤4 启动数据库。

1. 以MySQL用户启动MySQL,执行下面命令后回车。

#su - mysql$/usr/local/mysql/bin/mysqld_safe --basedir=/usr/local/mysql --datadir=/data/mysql/data &

说明

– mysqld_safe脚本会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它。

– 如果第一次启动数据库服务,以root用户启动数据库,则启动时会提示缺少mysql.log文件而导致失败。使用mysql用户启动之后,会在/data/mysql/log目录下生成mysql.log文件,再次使用root用户启动则不会报错。

2. 查看数据库进程。

$ps -ef | grep mysql

步骤5 以mysql用户登录数据库。

鲲鹏数据库解决方案安装指南 1 MySQL 5.7.27 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 8

Page 15: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

说明

登录时输入的密码为步骤3时设置的初始密码,请留意包括特殊字符。

$/usr/local/mysql/bin/mysql -uroot -p -S /tmp/mysql.sock

步骤6 配置数据库帐号密码。

1. 修改本地root用户登录密码。

mysql>alter user 'root'@'localhost' identified by "123456";

2. 创建全域root用户(允许root从其他服务器访问)。

mysql>create user 'root'@'%' identified by '123456';

3. 进行授权。

mysql>grant all privileges on *.* to 'root'@'%';

mysql>flush privileges;

步骤7 退出数据库。

执行\q或者exit退出数据库。

mysql>exit

----结束

1.6 卸载

鲲鹏数据库解决方案安装指南 1 MySQL 5.7.27 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 9

Page 16: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

1.6.1 镜像站 RPM 安装方式卸载

步骤1 关闭数据库进程mysqld_safe和mysqld。

#ps -ef | grep mysql

#kill -9 进程ID

步骤2 卸载数据库RPM包。

#rpm -e mysql-5.7.27-1.el7.aarch64

----结束

1.6.2 编译安装安装方式卸载

步骤1 关闭数据库进程mysqld_safe和mysqld。

#ps -ef | grep mysql

#kill -9 进程ID

步骤2 删除数据库的软件安装目录。

#rm -rf /usr/local/mysql

----结束

1.7 备份数据库

1.7.1 创建数据库和表

基本命令

步骤1 登录MySQL数据库。

$mysql -u<用户名> -p<密码>

步骤2 创建数据库。

mysql>create database <数据库>;

步骤3 创建表。

mysql>use <数据库>;

mysql>create table <表名> (<列名> <数据类型> );

----结束

鲲鹏数据库解决方案安装指南 1 MySQL 5.7.27 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 10

Page 17: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

举例

步骤1 登录MySQL数据库。

$mysql -uroot -p

步骤2 创建数据库。

mysql>create database db1;

步骤3 创建表。

mysql>use db1;

mysql>create table tb1(username varchar(20) not null);

----结束

1.7.2 备份数据库

基本命令

● 备份数据库。

#mysqldump -h <主机> -P <端口> -u <用户名> -p<密码> --database <数据库> > /路径/文件名.sql

● 恢复数据库。

#mysql -h <主机> -P <端口> -u <用户名> -p<密码> --<数据库> < /opt/mytest_bak.sql

举例

说明

下面命令中-h后的主机IP地址请根据实际情况修改。

● 全库备份。

#mysqldump -h 192.168.202.102 -P 3306 -uroot -p123456 --all-databases> alldb.sql

● 指定库备份。

#mysqldump -h 192.168.202.102 -P 3306 -uroot -p123456 --databases db1> db1.sql

● 指定表备份。

#mysqldump -h 192.168.202.102 -P 3306 -uroot -p123456 db1 tb1 >db1tb1.sql

● 恢复数据库。

#mysql -h 192.168.202.102 -P 3306 -uroot -p123456 db1 < db1.sql

1.8 故障排除

鲲鹏数据库解决方案安装指南 1 MySQL 5.7.27 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 11

Page 18: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

1.8.1 配置环境变量失败

现象描述

配置环境变量时提示“[root@node4 bin]# source /etc/profile”

“shell-init: error retrieving current directory: getcwd: cannot access parentdirectories: No such file or directory”错误。

原因分析

在一个不存在的目录执行了source /etc/profile命令。

处理步骤

步骤1 切换到一个实际存在的目录执行source /etc/profile命令。

----结束

鲲鹏数据库解决方案安装指南 1 MySQL 5.7.27 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 12

Page 19: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

2 MySQL 8.0.17 安装指南(CentOS 7.6)

2.1 介绍

2.2 环境要求

2.3 配置安装环境

2.4 安装

2.5 运行

2.6 卸载

2.7 备份数据库

2.1 介绍

简要介绍

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品。MySQL是业界 流行的RDBMS(Relational Database ManagementSystem,关系数据库管理系统)之一,尤其在WEB应用方面。

关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就加快了速度并提高了灵活性。

MySQL所使用的SQL语言是用于访问数据库的 常用标准化语言。MySQL软件采用了双授权模式,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。

关于MySQL的更多信息请访问MySQL官网。

开发语言:C/C++

一句话描述:关系型数据库。

建议的版本

建议使用版本为“MySQL 8.0.17”。

鲲鹏数据库解决方案安装指南 2 MySQL 8.0.17 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 13

Page 20: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

说明

本文将介绍三种安装方式:官网RPM安装、镜像站RPM安装(推荐)和编译安装,请视具体情况选择其中一种安装方式。

2.2 环境要求

硬件要求

硬件要求如表2-1所示。

表 2-1 硬件要求

项目 说明

服务器 TaiShan 200服务器(型号2280)

CPU 华为鲲鹏920处理器

网卡 10GE网卡

硬盘 进行性能测试时,数据目录需使用单独硬盘,即一个系统盘,一个数据盘(数据盘可选用性能较好的SSD盘,NVMe盘等),至少两块硬盘;非性能测试时,直接在系统盘上建数据目录即可。具体硬盘数量根据实际需求配置。

操作系统要求

操作系统要求如表2-2所示。

表 2-2 操作系统要求

项目 版本

CentOS 7.6 for ARM

说明

如果是全新安装操作系统,可选择“Minimal Install”安装方式并勾选Development Tools套件,否则很多软件包需要手动安装。

2.3 配置安装环境

2.3.1 关闭防火墙并取消开机自启动

说明

测试环境下通常会关闭防火墙以避免部分网络因素影响,视实际需求做配置。

鲲鹏数据库解决方案安装指南 2 MySQL 8.0.17 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 14

Page 21: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

步骤1 停止防火墙。

#systemctl stop firewalld.service

步骤2 关闭防火墙。

#systemctl disable firewalld.service

说明

执行disable命令关闭防火墙的同时,也取消了开机自启动。

----结束

2.3.2 修改 SELINUX 为 disabled步骤1 修改配置文件。

#sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux

----结束

2.3.3 创建组和用户

说明

服务器环境下,为了系统安全,通常会为进程分配单独的用户,以实现权限隔离。本章节创建的组和用户都是操作系统层面的,不是数据库层面的。

步骤1 创建MySQL用户(组)。

#groupadd mysql

#useradd -g mysql mysql

步骤2 设置MySQL用户密码。

#passwd mysql

重复输入密码(根据实际需求设置密码)。

----结束

2.3.4 搭建数据盘

说明

● 进行性能测试时,数据目录使用单独硬盘,需要对硬盘进行格式化并挂载,参考方法一或者方法二。

● 非性能测试时,执行以下命令,创建数据目录即可。然后跳过本小节:

#mkdir /data

方法一:使用 fdisk 进行磁盘管理

步骤1 创建分区(以/dev/sdb为例,根据实际情况创建)。

#fdisk /dev/sdb

鲲鹏数据库解决方案安装指南 2 MySQL 8.0.17 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 15

Page 22: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

步骤2 输入n,按回车确认。

步骤3 输入p,按回车确认。

步骤4 输入1,按回车确认。

步骤5 采用默认配置,按回车确认。

步骤6 采用默认配置,按回车确认。

步骤7 输入w,按回车保存。

步骤8 创建文件系统(以xfs为例,根据实际需求创建文件系统)。

#mkfs.xfs /dev/sdb1

步骤9 挂载分区到“/data”以供操作系统使用。

#mkdir /data

#mount /dev/sdb1 /data

步骤10 执行命令“vi /etc/fstab", 编辑“/etc/fstab”使重启后自动挂载数据盘。如下图中,添加 后一行内容。

其中,/dev/sdb1为示例,具体名称以实际情况为准。

----结束

方法二:使用 LVM 进行磁盘管理

此步骤需要安装镜像中的lvm2相关包,步骤如下:

步骤1 参考配置本地yum源和挂载OS镜像小节配置本地yum源并挂载镜像。如果已经执行,则可跳过此步。

步骤2 执行命令安装lvm2。

#yum install lvm2

步骤3 创建物理卷(sdb为硬盘名称,具体名字以实际为准)。

#pvcreate /dev/sdb

步骤4 创建物理卷组(其中datavg为创建的卷组名称,具体名字以实际规划为准)。

#vgcreate datavg /dev/sdb

步骤5 创建逻辑卷(其中600G为规划的逻辑卷大小,具体大小以实际情况为准;datalv为创建的逻辑卷的名字,具体名称以实际规划为准)。

鲲鹏数据库解决方案安装指南 2 MySQL 8.0.17 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 16

Page 23: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

#lvcreate -L 600G -n datalv datavg

步骤6 创建文件系统。

#mkfs.xfs /dev/datavg/datalv

步骤7 创建数据目录并挂载。

#mkdir /data

#mount /dev/datavg/datalv /data

步骤8 编辑“/etc/fstab”使重启后自动挂载数据盘。如下图中,添加 后一行内容。

其中,“/dev/datavg/datalv”为示例,具体名称以实际情况为准。

----结束

2.3.5 创建数据目录并授权

步骤1 在2.3.4 搭建数据盘中已创建的数据目录/data基础上,继续创建进程所需的相关目录并授权MySQL组和用户。

#mkdir -p /data/mysql

#cd /data/mysql

#mkdir data tmp run log

#chown -R mysql:mysql /data/mysql

----结束

2.4 安装

2.4.1 官网 RPM 安装

配置本地 yum 源

步骤1 备份原yum库文件并将新配置写入repo文件。

#mv /etc/yum.repos.d/ /etc/yum.repos.d-bak

#mkdir /etc/yum.repos.d

#echo -e "[local]\nname=local\nbaseurl=file:///mnt\ngpgcheck=0\nenabled=1" > /etc/yum.repos.d/local.repo

鲲鹏数据库解决方案安装指南 2 MySQL 8.0.17 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 17

Page 24: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

步骤2 确认上一步操作写入成功。

#cat /etc/yum.repos.d/local.repo

'

----结束

挂载 OS 镜像

挂载OS镜像文件有下面的两种操作,执行其中一种操作即可。

● KVM挂载镜像,请执行:

挂载镜像至“/mnt/”目录下。

#mount /dev/sr0 /mnt/● 上传OS镜像至系统,请执行:

上传OS镜像至“/home”路径,挂载镜像至“/mnt/”目录下。

#mount /home/CentOS-7-aarch64-Everything-1810.iso /mnt/

说明

iso文件名请根据实际情况修改。

下载 RPM 包

步骤1 下载MySQL的RPM安装包。

下载地址:https://downloads.mysql.com/archives/community/

步骤2 在服务器“/home”分区下新建“mysql-rpm”文件夹,并将下载的安装包上传至该目录。

#mkdir /home/mysql-rpm

步骤3 进入安装包所在目录并解压rpm安装包。

鲲鹏数据库解决方案安装指南 2 MySQL 8.0.17 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 18

Page 25: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

#cd /home/mysql-rpm

#tar xvf mysql-8.0.17-1.el7.aarch64.rpm-bundle.tar

----结束

安装 RPM 包

步骤1 卸载系统自带mariadb-libs,否则会导致无法安装mysql-community-libs。

#yum -y remove mariadb-libs

步骤2 安装依赖包。

#yum -y install net-tools

步骤3 进入解压后的目录,并且安装MySQL。

#cd /home/mysql-rpm

#rpm -ivh mysql-community-common-8.0.17-1.el7.aarch64.rpm

#rpm -ivh mysql-community-libs-8.0.17-1.el7.aarch64.rpm

#rpm -ivh mysql-community-client-8.0.17-1.el7.aarch64.rpm

#rpm -ivh mysql-community-server-8.0.17-1.el7.aarch64.rpm

----结束

2.4.2 镜像站 RPM 安装镜像站中的mysql-8.0.17-1.aarch64.rpm安装包是根据《MySQL 8.0.17 移植指南(CentOS 7.6)》打包而成,然后将其上传到镜像站的。采用镜像站RPM安装方式需要服务器有外网环境。如果服务器没有外网环境,则从镜像站下载RPM包,上传服务器,在其目录下执行命令rpm -ivh mysql-8.0.17-1.el7.aarch64.rpm安装即可。

镜像站RPM下载链接为:https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/database/mysql-8.0.17-1.el7.aarch64.rpm

鲲鹏数据库解决方案安装指南 2 MySQL 8.0.17 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 19

Page 26: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

安装前配置

采用镜像站RPM安装方式安装,需要额外做以下操作步骤避免初始化数据库失败。

步骤1 下载压缩包rpm-bug.zip并上传到服务器/home目录下。

步骤2 解压压缩包。

#cd /home/

#unzip rpm-bug.zip

步骤3 进入解压后的文件目录并将其中的文件放入到指定目录(如果有是否重写文件等提示,则输入y然后回车)。

#cd rpm-bug

#cp libatomic.so.1 /usr/lib64/

#cp libstdc++.so.6.0.24 /lib64/

#rm /lib64/libstdc++.so.6

#ln -s /lib64/libstdc++.so.6.0.24 /lib64/libstdc++.so.6

#cp libaio.so.1.0.1 /usr/lib64/libaio.so.1

----结束

配置 yum 源

步骤1 备份原yum库文件并将新配置写入repo文件。

#mv /etc/yum.repos.d/ /etc/yum.repos.d-bak

#mkdir /etc/yum.repos.d

#echo -e "[kunpeng]\nname=CentOS-kunpeng - Base -mirrors.huaweicloud.com\nbaseurl=https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/\ngpgcheck=0\nenabled=1" > /etc/yum.repos.d/CentOS-Base-kunpeng.repo

步骤2 确认上一步操作写入成功。

#cat /etc/yum.repos.d/CentOS-Base-kunpeng.repo

----结束

安装 RPM 包

步骤1 清除缓存。

#yum clean all

鲲鹏数据库解决方案安装指南 2 MySQL 8.0.17 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 20

Page 27: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

步骤2 创建缓存。

#yum makecache

步骤3 安装依赖包。

#yum install deltarpm-3.6-3.el7.aarch64

步骤4 安装数据库rpm包。

#yum -y install mysql-8.0.17-1.el7.aarch64 --enablerepo=[kunpeng]

步骤5 查看安装后的rpm包。

#rpm -qa | grep mysql

----结束

2.4.3 编译安装请参考《MySQL 8.0.17 移植指南(CentOS 7.6)》进行编译安装。

鲲鹏数据库解决方案安装指南 2 MySQL 8.0.17 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 21

Page 28: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

2.5 运行

说明

本文档中有三种安装方式,安装后的目录结构有区别,在后续的所有步骤中,特别要注意相关目录是否正确。具体详细如下:

● 官网RPM安装方式安装:软件安装目录默认为“/usr”

● 镜像站RPM安装方式安装:软件安装目录默认为“/usr/local/mysql”

● 编译安装方式安装:软件安装目录默认为“/usr/local/mysql”

步骤1 修改配置文件。

1. 编辑my.cnf文件,其中文件路径(包括软件安装路径basedir、数据路径datadir等)根据实际情况修改。

#rm -f /etc/my.cnf#echo -e "[mysqld_safe]\nlog-error=/data/mysql/log/mysql.log\npid-file=/data/mysql/run/mysqld.pid\n[mysqldump]\nquick\n[mysql]\nno-auto-rehash\n[client]\ndefault-character-set=utf8\n[mysqld]\nbasedir=/usr/local/mysql\nsocket=/data/mysql/run/mysql.sock\ntmpdir=/data/mysql/tmp\ndatadir=/data/mysql/data\ndefault_authentication_plugin=mysql_native_password\nport=3306\nuser=mysql\n" > /etc/my.cnf

2. 确保my.cnf配置文件修改正确。

#cat /etc/my.cnf

注意

其中basedir为软件安装路径,请根据实际情况修改。

3. 修改/etc/my.cnf文件的组和用户为mysql:mysql。#chown mysql:mysql /etc/my.cnf

鲲鹏数据库解决方案安装指南 2 MySQL 8.0.17 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 22

Page 29: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

步骤2 配置环境变量。

1. 安装完成后,将MySQL二进制文件路径到PATH。

#echo export PATH=$PATH:/usr/local/mysql/bin >> /etc/profile

注意

其中PATH中的“/usr/local/mysql/bin”路径,为MySQL软件安装目录下的bin文件的绝对路径。请根据实际情况修改。

2. 使环境变量配置生效。

#source /etc/profile

步骤3 初始化数据库。

说明

1. 该步骤中倒数第2行中有初始密码,请注意保存,步骤5时会用到。

2. 如果采用官网RPM安装方式安装,则mysqld文件在/usr/sbin目录下。请根据实际情况修改初始化数据库命令。

#mysqld --defaults-file=/etc/my.cnf --initialize

步骤4 启动数据库。

注意

● 如果第一次启动数据库服务,以root用户启动数据库,则启动时会提示缺少mysql.log文件而导致失败。使用mysql用户启动之后,会在/data/mysql/log目录下生成mysql.log文件,再次使用root用户启动则不会报错。

● 如果采用官网RPM方式安装,则启动数据库的命令如下。

#/usr/sbin/mysqld --defaults-file=/etc/my.cnf &

执行命令后,回车,进行下一步。

1. 修改文件权限。

#chmod 777 /usr/local/mysql/support-files/mysql.server

2. 启动MySQL。

#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

#chkconfig mysql on

以mysql用户启动数据库。

$service mysql start

步骤5 登录数据库。

鲲鹏数据库解决方案安装指南 2 MySQL 8.0.17 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 23

Page 30: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

说明

● 提示输入密码时,请输入步骤3产生的初始密码。

● 如果采用官网RPM安装方式,则mysql文件在/usr/bin目录下。登录数据库的命令根据实际情况修改。

$/usr/local/mysql/bin/mysql -uroot -p -S /data/mysql/run/mysql.sock

步骤6 配置数据库帐号密码。

1. 登录数据库以后,修改通过root用户登录数据库的密码。

mysql>alter user 'root'@'localhost' identified by "123456";2. 创建全域root用户(允许root从其他服务器访问)。

mysql>create user 'root'@'%' identified by '123456';3. 进行授权。

mysql>grant all privileges on *.* to 'root'@'%';mysql>flush privileges;

步骤7 退出数据库。

执行\q或者exit退出数据库。

mysql>exit

----结束

2.6 卸载

说明

编译安装只是生成对应的文件,不涉及卸载。

鲲鹏数据库解决方案安装指南 2 MySQL 8.0.17 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 24

Page 31: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

官网 RPM 卸载

步骤1 关闭数据库进程。

#ps -ef | grep mysql

#kill -9 进程ID

步骤2 删除数据库安装包。

#rpm -qa | grep mysql-community | xargs rpm -e

----结束

镜像站 RPM 卸载

步骤1 关闭数据库进程。

#service mysql stop

步骤2 卸载数据库RPM包。

#rpm -e mysql-8.0.17-1.el7.aarch64

----结束

2.7 备份数据库

2.7.1 创建数据库和表

基本命令

步骤1 登录MySQL数据库。

$mysql -u<用户名> -p<密码>

步骤2 创建数据库。

mysql>create database <数据库>;

步骤3 创建表。

mysql>use <数据库>

mysql>create table <表名> (<列名> <数据类型> );

----结束

鲲鹏数据库解决方案安装指南 2 MySQL 8.0.17 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 25

Page 32: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

举例

步骤1 登录MySQL数据库。

$/usr/local/mysql/bin/mysql -uroot -p -S /data/mysql/run/mysql.sock

步骤2 创建数据库。

mysql>create database db1;

步骤3 创建表。

mysql>use db1;

mysql>create table tb1(username varchar(20) not null);

----结束

2.7.2 备份数据库

基本命令● 备份数据库。

#mysqldump -h <主机> -P <端口> -u <用户名> -p<密码> --database <数据库> > /路径/文件名.sql

● 恢复数据库。

#mysql -h <主机> -P <端口> -u <用户名> -p<密码> --<数据库> < /opt/mytest_bak.sql

举例

说明

下面命令中-h后的主机IP地址请根据实际情况修改。并且,如果没有指明数据库备份路径,则执行以下命令,会在当前所在目录下生成备份文件。

● 全库备份。

#mysqldump -h 192.168.202.102 -P 3306 -uroot -p123456 --all-databases> alldb.sql

● 指定库备份。

#mysqldump -h 192.168.202.102 -P 3306 -uroot -p123456 --databases db1> db1.sql

● 指定表备份。

#mysqldump -h 192.168.202.102 -P 3306 -uroot -p123456 db1 tb1 >db1tb1.sql

● 恢复数据库。

#mysql -h 192.168.202.102 -P 3306 -uroot -p123456 db1 < db1.sql

鲲鹏数据库解决方案安装指南 2 MySQL 8.0.17 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 26

Page 33: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

3 MariaDB 10.3.8 安装指南(CentOS 7.6)

3.1 介绍

3.2 环境要求

3.3 配置安装环境

3.4 安装

3.5 运行

3.6 卸载

3.7 备份数据库

3.1 介绍

简要介绍

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品,MariaDB还提供了许多更好的新特性。

MariaDB的架构如图3-1所示。

鲲鹏数据库解决方案安装指南 3 MariaDB 10.3.8 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 27

Page 34: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

图 3-1 MariaDB 逻辑架构

当MariaDB接受到Sql语句时,其详细的执行过程如下:

1. 当客户端连接到mariadb的时候,会认证客户端的主机名、用户、密码,认证功能可以做成插件。

2. 如果登录成功,客户端发送sql命令到服务端。由解析器解析sql语句。

3. 服务端检查客户端是否有权限去获取它想要的资源。

4. 如果查询已经存储在query cache当中,那么结果立即返回。

5. 优化器将会找出 快的执行策略,或者是执行计划,也就是说优化器可以决定什么表将会被读,以及哪些索引会被访问,哪些临时表会被使用,一个好的策略能够减少大量的磁盘访问和排序操作等。

6. 存储引擎读写数据和索引文件,cache用来加速这些操作,其他的诸如事物和外键特性,都是在存储引擎层处理的。

存储引擎在物理层管控数据,它负责数据文件、数据、索引、cache等的管理,这使得管理和读取数据变得更高效,每一张表,都有一个.frm文件,这些文件包含着表的定义。

每一个存储引擎管理、存储数据的方式都是不同的,所支持的特性和性能也不尽相同。例如:

● MyISAM,适合读多写少的环境,且不支持事务,支持全文索引等。

● InnoDB,支持事务,支持行锁和外键等。

● MEMORY,将数据存储在内存当中。

● CSV,将数据存储为CSV格式。

开发语言:C

一句话描述:MySQL开源分支

鲲鹏数据库解决方案安装指南 3 MariaDB 10.3.8 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 28

Page 35: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

建议的版本

建议使用的版本为“MariaDB 10.3.8”。

说明

本文将介绍三种安装方式:官网RPM安装、镜像站RPM安装(推荐)和编译安装,请视具体情况选择其中一种安装方式。

3.2 环境要求

硬件要求

硬件要求如表3-1所示。

表 3-1 硬件要求

项目 说明

服务器 TaiShan 200服务器(型号2280)

CPU 华为鲲鹏920处理器

硬盘 进行性能测试时,数据目录需使用单独硬盘,即一个系统盘,一个数据盘(数据盘可选用性能较好的SSD盘,NVMe盘等),至少两块硬盘;非性能测试时,直接在系统盘上建数据目录即可。具体硬盘数量根据实际需求配置。

操作系统要求

操作系统要求如表3-2所示。

表 3-2 操作系统要求

项目 版本

CentOS 7.6 for ARM

说明

如果是全新安装操作系统,可选择“Minimal Install”安装方式并勾选Development Tools套件,否则很多软件包需要手动安装。

3.3 配置安装环境

鲲鹏数据库解决方案安装指南 3 MariaDB 10.3.8 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 29

Page 36: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

3.3.1 关闭防火墙并取消开机自启动

说明

测试环境下通常会关闭防火墙以避免部分网络因素影响,视实际需求做配置。

步骤1 停止防火墙。

#systemctl stop firewalld.service

步骤2 关闭防火墙。

#systemctl disable firewalld.service

说明

执行disable命令关闭防火墙的同时,也取消了开机自启动。

----结束

3.3.2 修改 SELINUX 为 disabled步骤1 修改配置文件。

#sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux

----结束

3.3.3 创建组和用户

说明

服务器环境下,为了系统安全,通常会为进程分配单独的用户,以实现权限隔离。本章节创建的组和用户都是操作系统层面的,不是数据库层面的。

步骤1 创建MySQL用户(组)。

#groupadd mysql

#useradd -g mysql mysql

步骤2 设置MySQL用户密码。

#passwd mysql

重复输入密码(根据实际需求设置密码)。

----结束

3.3.4 搭建数据盘

说明

● 进行性能测试时,数据目录使用单独硬盘,需要对硬盘进行格式化并挂载,参考方法一或者方法二。

● 非性能测试时,执行以下命令,创建数据目录即可。然后跳过本小节:

#mkdir /data

鲲鹏数据库解决方案安装指南 3 MariaDB 10.3.8 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 30

Page 37: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

方法一:使用 fdisk 进行磁盘管理

步骤1 创建分区(以/dev/sdb为例,根据实际情况创建)。

#fdisk /dev/sdb

步骤2 输入n,按回车确认。

步骤3 输入p,按回车确认。

步骤4 输入1,按回车确认。

步骤5 采用默认配置,按回车确认。

步骤6 采用默认配置,按回车确认。

步骤7 输入w,按回车保存。

步骤8 创建文件系统(以xfs为例,根据实际需求创建文件系统)。

#mkfs.xfs /dev/sdb1

步骤9 挂载分区到“/data”以供操作系统使用。

#mkdir /data

#mount /dev/sdb1 /data

步骤10 执行命令“vi /etc/fstab", 编辑“/etc/fstab”使重启后自动挂载数据盘。如下图中,添加 后一行内容。

其中,/dev/sdb1为示例,具体名称以实际情况为准。

----结束

方法二:使用 LVM 进行磁盘管理

说明

此步骤需要安装镜像中的lvm2相关包,步骤如下:

1. 参考配置本地yum源和挂载OS镜像小节中的步骤。如果已经执行,则可跳过此步。

2. 执行命令安装lvm2。

#yum install lvm2

步骤1 创建物理卷(sdb为硬盘名称,具体名字以实际为准)。

#pvcreate /dev/sdb

鲲鹏数据库解决方案安装指南 3 MariaDB 10.3.8 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 31

Page 38: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

步骤2 创建物理卷组(其中datavg为创建的卷组名称,具体名字以实际规划为准)。

#vgcreate datavg /dev/sdb

步骤3 创建逻辑卷(其中600G为规划的逻辑卷大小,具体大小以实际情况为准;datalv为创建的逻辑卷的名字,具体名称以实际规划为准)。

#lvcreate -L 600G -n datalv datavg

步骤4 创建文件系统。

#mkfs.xfs /dev/datavg/datalv

步骤5 创建数据目录并挂载。

#mkdir /data

#mount /dev/datavg/datalv /data

步骤6 执行命令vi /etc/fstab,编辑“/etc/fstab”使重启后自动挂载数据盘。如下图中,添加 后一行内容。

其中,/dev/datavg/datalv为示例,具体名称以实际情况为准。

----结束

3.3.5 创建数据库目录并且授权

步骤1 在3.3.4 搭建数据盘已创建的数据目录/data基础上,继续创建进程所需的相关目录并授权MySQL用户(组)。

#mkdir -p /data/mariadb

#cd /data/mariadb

#mkdir data tmp run log

#chown -R mysql:mysql /data/mariadb

----结束

3.4 安装

鲲鹏数据库解决方案安装指南 3 MariaDB 10.3.8 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 32

Page 39: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

3.4.1 官网 RPM 安装

配置本地 yum 源

步骤1 备份原yum库文件并将新配置写入repo文件。

#mv /etc/yum.repos.d/ /etc/yum.repos.d-bak

#mkdir /etc/yum.repos.d

#echo -e "[local]\nname=local\nbaseurl=file:///mnt\ngpgcheck=0\nenabled=1" > /etc/yum.repos.d/local.repo

步骤2 确认上一步操作写入成功。

#cat /etc/yum.repos.d/local.repo

----结束

挂载 OS 镜像

挂载OS镜像文件有下面的两种操作,执行其中一种操作即可。

● KVM挂载镜像,请执行:

挂载镜像至“/mnt/”目录下。

#mount /dev/sr0 /mnt/● 上传OS镜像至系统,请执行:

上传OS镜像至“/home”路径,挂载镜像至“/mnt/”目录下。

#mount /home/CentOS-7-aarch64-Everything-1810.iso /mnt/

说明

iso文件名请根据实际情况修改。

下载 RPM 包

步骤1 MariaDB的RPM安装包。

下载链接:http://ftp.hosteurope.de/mirror/archive.mariadb.org/mariadb-10.3.8/yum/centos74-aarch64/rpms/

鲲鹏数据库解决方案安装指南 3 MariaDB 10.3.8 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 33

Page 40: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

步骤2 下载以下rpm包。

下载清单:

galera-25.3.23-1.rhel7.el7.centos.aarch64.rpm

MariaDB-10.3.8-centos74-aarch64-client.rpm

MariaDB-10.3.8-centos74-aarch64-common.rpm

MariaDB-10.3.8-centos74-aarch64-compat.rpm

MariaDB-10.3.8-centos74-aarch64-devel.rpm

MariaDB-10.3.8-centos74-aarch64-server.rpm

MariaDB-10.3.8-centos74-aarch64-shared.rpm

MariaDB-10.3.8-centos74-aarch64-test.rpm

步骤3 在服务器“/home”分区下新建mariadb-rpm文件夹,并将下载的安装包上传至该目录。

#mkdir /home/mariadb-rpm

----结束

安装 RPM 包

步骤1 卸载系统自带mariadb-libs,否则会导致无法安装。

#yum -y remove mariadb-libs

步骤2 安装依赖包。

#yum -y install net-tools boost-devel lsof perl-DBI*

步骤3 安装mariadb。

#cd /home/mariadb-rpm

#rpm -ivh *

鲲鹏数据库解决方案安装指南 3 MariaDB 10.3.8 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 34

Page 41: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

----结束

3.4.2 镜像站 RPM 安装

说明

镜像站中的mariadb-10.3.8-1.el7.aarch64.rpm安装包根据《MariaDB 10.3.8 移植指南(CentOS 7.6)》打包而成,然后将其上传到镜像站。此安装方式需要连接外网。如果没有外网,则下载RPM包,上传到服务器任意路径,并在该路径下执行命令rpm -ivhmariadb-10.3.8-1.el7.aarch64.rpm安装即可。

RPM下载链接为:

https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/database/mariadb-10.3.8-1.el7.aarch64.rpm

配置 yum 源

步骤1 备份原yum库文件并将新配置写入repo文件。

#mv /etc/yum.repos.d/ /etc/yum.repos.d-bak

#mkdir /etc/yum.repos.d

#echo -e "[kunpeng]\nname=CentOS-kunpeng - Base -mirrors.huaweicloud.com\nbaseurl=https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/\ngpgcheck=0\nenabled=1" > /etc/yum.repos.d/CentOS-Base-kunpeng.repo

步骤2 确认上一步操作写入成功。

#cat /etc/yum.repos.d/CentOS-Base-kunpeng.repo

鲲鹏数据库解决方案安装指南 3 MariaDB 10.3.8 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 35

Page 42: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

----结束

安装 RPM 包

步骤1 清除缓存。

#yum clean all

步骤2 创建缓存。

#yum makecache

步骤3 安装数据库rpm包。

#yum -y install mariadb-10.3.8-1.el7.aarch64 --enablerepo=[kunpeng]

步骤4 查看安装后的rpm包。

#rpm -qa | grep mariadb

----结束

3.4.3 编译安装请参考《MariaDB 10.3.8 移植指南(CentOS 7.6)》进行编译安装。

鲲鹏数据库解决方案安装指南 3 MariaDB 10.3.8 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 36

Page 43: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

3.5 运行

说明

本文档中有三种安装方式,安装后的目录结构有区别,在后续的所有步骤中,特别要注意相关目录是否正确。详细如下:

● 官网RPM安装方式安装:软件安装目录默认为/usr

● 镜像站RPM安装方式安装:软件安装目录默认为/usr/local/mariadb

● 编译安装方式安装:软件安装目录默认为/usr/local/mariadb

步骤1 修改配置文件。

1. 编辑my.cnf文件,其中文件路径(包括软件安装路径basedir、数据路径datadir等)根据实际情况修改。

#rm -f /etc/my.cnf#echo -e "[mysqld_safe]\nlog-error=/data/mariadb/log/mysql.log\npid-file=/data/mariadb/run/mysqld.pid\n[mysqldump]\nquick\n[mysql]\nno-auto-rehash\n[client]\ndefault-character-set=utf8\n[mysqld]\nbasedir=/usr/local/mariadb\ntmpdir=/data/mariadb/tmp\ndatadir=/data/mariadb/data\nsocket=/data/mariadb/run/mysql.sock\ndefault_authentication_plugin=mysql_native_password\nport=3306\nuser=mysql\n" > /etc/my.cnf

2. 确保my.cnf配置文件修改正确。

#cat /etc/my.cnf

3. 修改/etc/my.cnf文件的组和用户为mysql:mysql。#chown mysql:mysql /etc/my.cnf

步骤2 配置环境变量。

1. 编译安装完成后,将MariaDB二进制文件路径到PATH。其中PATH中的“/usr/local/mariadb/bin”路径,为安装目录下的bin文件的绝对路径,根据实际情况修改。

#echo export PATH=$PATH:/usr/local/mariadb/bin >> /etc/profile

鲲鹏数据库解决方案安装指南 3 MariaDB 10.3.8 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 37

Page 44: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

2. 使环境变量配置生效。

#source /etc/profile

步骤3 初始化数据库。

说明

如果采用官网RPM安装,初始化数据库时,mysql_install_db脚本在/usr/bin目录下,请根据实际路径修改命令。

如果采用镜像站RPM安装方式安装,则需要额外做以下操作步骤避免初始化数据库失败:

1. 从链接rpm-bug.zip中下载压缩包rpm-bug.zip并上传到服务器/home目录下。

2. 进入/home目录并解压压缩包。

#cd /home/

#unzip rpm-bug.zip

3. 进入解压后的文件目录并将其中的文件放入或链接到指定位置(如果有是否重写文件等提示,则输入y然后回车)。

#cd rpm-bug

#cp libatomic.so.1 /usr/lib64/

#cp libstdc++.so.6.0.24 /lib64/

#rm /lib64/libstdc++.so.6

#ln -s /lib64/libstdc++.so.6.0.24 /lib64/libstdc++.so.6

#cp libaio.so.1.0.1 /usr/lib64/libaio.so.1

#/usr/local/mariadb/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mariadb --datadir=/data/mariadb/data

说明

如果安装过程中修改了相关路径,请根据实际情况进行调整。

步骤4 启动数据库。

说明

1. 如果以官网rpm安装方式安装,则mysqld_safe文件在/usr/bin目录下,请根据实际情况修改启动命令。

2. mysqld_safe脚本会在启动MariaDB服务后继续监控其运行情况,并在其死机时重新启动它。

鲲鹏数据库解决方案安装指南 3 MariaDB 10.3.8 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 38

Page 45: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

1. 启动MariaDB服务,执行下面命令后回车。

#/usr/local/mariadb/bin/mysqld_safe --basedir=/usr/local/mariadb --datadir=/data/mariadb/data &

2. 查看进程是否启动。

#ps -ef | grep mysql

步骤5 以mysql用户登录数据库。

说明

1. 如果以官网rpm安装方式安装,则mysql文件在/usr/bin目录下,请根据实际情况修改登录命令。

2. 首次登录无需密码。

$/usr/local/mariadb/bin/mysql -uroot -S /data/mariadb/run/mysql.sock

步骤6 配置数据库帐号密码。

1. 配置数据库。

说明

123456为数据库密码,可自行定义。

MariaDB [(none)]>use mysql;MariaDB [(none)]>set global read_only=0;MariaDB [(none)]>update user setauthentication_string=password('123456') where user='root';MariaDB [(none)]>set global read_only=1;MariaDB [(none)]>flush privileges;MariaDB [(none)]>exit

鲲鹏数据库解决方案安装指南 3 MariaDB 10.3.8 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 39

Page 46: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

2. 以mysql用户重新登录数据库。

$/usr/local/mariadb/bin/mysql -uro

3. 设置密码并配置权限,授权mysql用户和root用户。(其中密码可根据实际情况设置,文档中以123456举例)

MariaDB [(none)]>use mysql;

MariaDB [(none)]>SET PASSWORD = PASSWORD('123456');

MariaDB [(none)]>GRANT ALL PRIVILEGES ON *.* TO mysql@localhostIDENTIFIED BY '123456' WITH GRANT OPTION;

MariaDB [(none)]>GRANT ALL PRIVILEGES ON *.* TO mysql@"%"IDENTIFIED BY '123456' WITH GRANT OPTION;

MariaDB [(none)]>GRANT ALL PRIVILEGES ON *.* TO root@localhostIDENTIFIED BY '123456' WITH GRANT OPTION;

MariaDB [(none)]>GRANT ALL PRIVILEGES ON *.* TO root@"%"IDENTIFIED BY '123456' WITH GRANT OPTION;

MariaDB [(none)]>exit

4. 在mysql用户下,使用密码方式登录数据库,页面显示如下,即为登录成功,之后可对数据库进行管理。

$/usr/local/mariadb/bin/mysql -uroot -p123456 -S /data/mariadb/run/mysql.sock

步骤7 退出数据库。

执行\q或者exit退出数据库。

MariaDB [(none)]>exit

鲲鹏数据库解决方案安装指南 3 MariaDB 10.3.8 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 40

Page 47: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

----结束

3.6 卸载

3.6.1 官网 RPM 安装方式卸载步骤1 关闭数据库进程。

#ps -ef | grep mysql

#kill -9 进程ID

步骤2 删除RPM安装包。

#rpm -qa | grep MariaDB | xargs rpm -e

#rpm -e galera-25.3.23-1.rhel7.el7.centos.aarch64

----结束

3.6.2 镜像站 RPM 安装方式卸载步骤1 关闭数据库进程。

#ps -ef | grep mysql

#kill -9 进程ID

步骤2 卸载数据库RPM包。

#rpm -e mariadb-10.3.8-1.el7.aarch64

----结束

3.6.3 编译安装方式卸载步骤1 关闭数据库进程。

#ps -ef | grep mysql

#kill -9 进程ID

鲲鹏数据库解决方案安装指南 3 MariaDB 10.3.8 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 41

Page 48: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

步骤2 删除数据库的软件安装目录。

#rm -rf /usr/local/mariadb

----结束

3.7 备份数据库

基本命令● 备份数据库。此命令在root用户下执行。

#mysqldump -h <主机> -P <端口> -u <用户名> -p<密码> --database <数据库> > /路径/文件名.sql

● 恢复数据库。

#mysql -h <主机> -P <端口> -u <用户名> -p<密码> <数据库> < /路径/文件名.sql

举例

说明

如果没有指明数据库备份路径,则会在执行命令时,所在目录下生成备份文件。

● 全库备份。

#mysqldump -h 192.168.202.144 -P 3306 -uroot -p123456 --all-databases> alldb.sql

● 指定库备份。(其中db1为需要备份的数据库名,命令中根据实际情况修改)

#mysqldump -h 192.168.202.144 -P 3306 -uroot -p123456 --databases db1> db1.sql

● 指定表备份。(其中db1为数据库名,tb1为需要备份的表名,命令中根据实际情况修改)

#mysqldump -h 192.168.202.144 -P 3306 -uroot -p123456 db1 tb1 >db1tb1.sql

● 恢复数据库。

#mysql -h 192.168.202.144 -P 3306 -uroot -p123456 db1 < db1.sql

鲲鹏数据库解决方案安装指南 3 MariaDB 10.3.8 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 42

Page 49: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

4 MongoDB 4.0.12 安装指南(CentOS 7.6)

4.1 介绍

4.2 环境要求

4.3 配置安装环境

4.4 安装

4.5 运行

4.6 卸载

4.1 介绍

简要介绍

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能 丰富, 像关系数据库的。

开发语言:C++

一句话描述:分布式文件存储数据库

建议的版本

建议使用版本为“MongoDB 4.0.12”。

说明

本文安装方式有两种,分别为镜像站RPM安装和编译安装,请根据实际需求选择任意一种。镜像站安装参考4.4.1 镜像站RPM安装,编译安装参考4.4.2 编译安装。

4.2 环境要求

硬件要求

硬件要求如表4-1所示。

鲲鹏数据库解决方案安装指南 4 MongoDB 4.0.12 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 43

Page 50: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

表 4-1 硬件要求

项目 说明

服务器 TaiShan 200服务器(型号2280)

CPU 华为鲲鹏920处理器

硬盘 进行性能测试时,数据目录需使用单独硬盘,即一个系统盘,一个数据盘(数据盘可选用性能较好的SSD盘,NVMe盘等),至少两块硬盘;非性能测试时,直接在系统盘上建数据目录即可。具体硬盘数量根据实际需求配置。

操作系统要求

操作系统要求如表4-2所示。

表 4-2 操作系统要求

项目 版本

CentOS 7.6 for ARM

说明

1.如果是全新安装操作系统,可选择“Minimal Install”安装方式并勾选Development Tools套件,否则很多软件包需要手动安装。

2.MongoDB 4.0.12在安装的时候,/root分区大小设置不小于50G。

4.3 配置安装环境

关闭防火墙并取消开机自启动

说明

测试环境下通常会关闭防火墙以避免部分网络因素影响,视实际需求做配置。

步骤1 停止防火墙。

#systemctl stop firewalld

步骤2 关闭防火墙。

#systemctl disable firewalld

----结束

修改 SELINUX 为 disabled

步骤1 修改配置文件。

鲲鹏数据库解决方案安装指南 4 MongoDB 4.0.12 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 44

Page 51: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

#sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux

----结束

搭建数据盘

说明

● 测试极限性能时,建议单独挂载IO性能更优的NVME SSD存储介质创建MongoDB测试实例,避免磁盘IO对性能测试结果的影响,本文以单独挂载NVME SSD为例,参考步骤1~步骤3。

● 非性能测试时,直接执行mkdir -p /data/db创建数据目录即可,可跳过步骤1~步骤3。

步骤1 创建文件系统(以xfs为例,根据实际需求创建文件系统),若磁盘之前已做过文件系统,执行此命令会出现报错,可使用-f参数强制创建文件系统。

#mkfs.xfs /dev/nvme0n1

步骤2 创建数据目录。

#mkdir /data

#mkdir -p /data/db

步骤3 挂载磁盘。

#mount -o noatime,nobarrier /dev/nvme0n1 /data/db

----结束

4.4 安装

4.4.1 镜像站 RPM 安装

说明

镜像站中的mongo-4.0.12-1.el7.aarch64.rpm安装包根据《MongoDB 4.0.12 移植指南(CentOS 7.6)》打包而成,然后将其上传到镜像站。该方法需要服务器连接外网。如果没有外网,则下载RPM包,上传到服务器任意路径,并在该路径下执行命令rpm -ivhmongo-4.0.12-1.el7.aarch64.rpm安装即可。本小节相关连接如下:

RPM包下载链接为:

https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/database/mongo-4.0.12-1.el7.aarch64.rpm

配置 yum 源

步骤1 备份原yum库文件并将新配置写入repo文件。

#mv /etc/yum.repos.d/ /etc/yum.repos.d-bak

#mkdir /etc/yum.repos.d

#echo -e "[kunpeng]\nname=CentOS-kunpeng - Base -mirrors.huaweicloud.com\nbaseurl=https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/\ngpgcheck=0\nenabled=1" > /etc/yum.repos.d/CentOS-Base-kunpeng.repo

鲲鹏数据库解决方案安装指南 4 MongoDB 4.0.12 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 45

Page 52: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

步骤2 确认上一步操作写入成功。

#cat /etc/yum.repos.d/CentOS-Base-kunpeng.repo

----结束

安装 RPM 包

步骤1 清除缓存。

#yum clean all

步骤2 创建缓存。

#yum makecache

步骤3 安装数据库rpm包。

#yum -y install mongo-4.0.12-1.el7.aarch64 --enablerepo=[kunpeng]

步骤4 查看安装后的rpm包。

#rpm -qa | grep mongo

----结束

4.4.2 编译安装请参考《MongoDB 4.0.12 移植指南(CentOS 7.6)》进行编译安装。

鲲鹏数据库解决方案安装指南 4 MongoDB 4.0.12 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 46

Page 53: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

4.5 运行

说明

如果采用镜像站RPM安装方式安装,则需要额外做以下操作步骤避免启动和登录数据库失败:

1. 下载压缩包rpm-bug.zip并上传到服务器/home目录下。

2. 解压压缩包。

#cd /home/#unzip rpm-bug.zip

3. 进入解压后的文件目录并将其中的文件放入到指定目录(如果有是否重写文件等提示,则输入y然后回车)。

#cd rpm-bug#cp libatomic.so.1 /usr/lib64/#cp libstdc++.so.6.0.24 /lib64/#rm /lib64/libstdc++.so.6#ln -s /lib64/libstdc++.so.6.0.24 /lib64/libstdc++.so.6#cp libaio.so.1.0.1 /usr/lib64/libaio.so.1

步骤1 启动数据库。

1. 启动MongoDB数据库,执行下面命令后回车。

#nohup /usr/local/mongo/bin/mongod &

2. 确认数据库进程是否正常启动。

#ps -ef | grep mongod

步骤2 登录数据库。

1. 登录数据库。

#cd /usr/local/mongo/bin#./mongo

鲲鹏数据库解决方案安装指南 4 MongoDB 4.0.12 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 47

Page 54: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

2. 查看当前存在的数据库。

>show dbs

步骤3 退出数据库。

>exit

----结束

4.6 卸载

4.6.1 镜像站 RPM 安装方式卸载步骤1 查看并关闭数据库进程。

#ps -ef | grep mongod

#kill -9 进程ID

步骤2 卸载数据库RPM包。

#rpm -e mongo-4.0.12-1.el7.aarch64

----结束

鲲鹏数据库解决方案安装指南 4 MongoDB 4.0.12 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 48

Page 55: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

4.6.2 编译安装方式卸载

步骤1 查看并关闭数据库进程。

#ps -ef | grep mongod

#kill -9 进程ID

步骤2 删除数据库的软件安装目录。

#rm -rf /usr/local/mongo

----结束

鲲鹏数据库解决方案安装指南 4 MongoDB 4.0.12 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 49

Page 56: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

5 Percona 8.0.15 安装指南(CentOS 7.6)

5.1 介绍

5.2 环境要求

5.3 配置安装环境

5.4 安装

5.5 运行

5.6 卸载

5.7 备份数据库

5.1 介绍

简要介绍

Percona Server由领先的MySQL咨询公司Percona发布。 Percona Server是一款独立的数据库产品,其可以完全与MySQL兼容,可以在不更改代码的情况了下将存储引擎更换成XtraDB 。

Percona团队的 终声明是“Percona Server是由Oracle发布的 接近官方MySQLEnterprise发行版的版本”,因此与其他更改了大量基本核心MySQL代码的分支有所区别。 Percona Server的一个缺点是他们自己管理代码,不接受外部开发人员的贡献,以这种方式确保他们对产品中所包含功能的控制。

Percona提供了高性能XtraDB引擎,还提供PXC高可用解决方案,并且附带了perconatoolkit等DBA管理工具箱。

关于Percona的更多信息请访问Percona官网。

开发语言:C/C++

一句话描述:关系型数据库

建议的版本

建议使用的版本为“Percona 8.0.15”。

鲲鹏数据库解决方案安装指南 5 Percona 8.0.15 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 50

Page 57: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

5.2 环境要求

硬件要求

硬件要求如表5-1所示。

表 5-1 硬件要求

项目 说明

服务器 TaiShan 200服务器(型号2280)

CPU 华为鲲鹏920处理器

硬盘 进行性能测试时,数据目录需使用单独硬盘,即一个系统盘,一个数据盘,至少两块硬盘;非性能测试时,直接在系统盘上建数据目录即可。具体硬盘数量根据实际需求配置。

操作系统要求

操作系统要求如表5-2所示。

表 5-2 操作系统要求

项目 版本

CentOS 7.6 for ARM

说明

如果是全新安装操作系统,可选择“Minimal Install”安装方式并勾选Development Tools套件,否则很多软件包需要手动安装。

5.3 配置安装环境

5.3.1 关闭防火墙并取消开机自启动

说明

测试环境下通常会关闭防火墙以避免部分网络因素影响,视实际需求做配置。

步骤1 停止防火墙。

#systemctl stop firewalld.service

步骤2 关闭防火墙。

#systemctl disable firewalld.service

鲲鹏数据库解决方案安装指南 5 Percona 8.0.15 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 51

Page 58: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

说明

执行disable命令关闭防火墙的同时,也取消了开机自启动。

----结束

5.3.2 修改 SELINUX 为 disabled步骤1 修改配置文件。

#sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux

----结束

5.3.3 创建组和用户

说明

服务器环境下,为了系统安全,通常会为进程分配单独的用户,以实现权限隔离。其中本文档中用户的名字为mysql,组名为mysql,搭建的时候以实际规划为准。

步骤1 创建MySQL用户(组)。

#groupadd mysql

#useradd -g mysql mysql

步骤2 设置MySQL用户密码。

#passwd mysql

重复输入密码(根据实际需求设置密码)。

----结束

5.3.4 搭建数据盘

说明

● 进行性能测试时,数据目录使用单独硬盘,需要对硬盘进行格式化并挂载,参考方法一或者方法二。

● 非性能测试时,执行以下命令,创建数据目录即可。然后跳过本小节:

#mkdir /data

方法一:使用 fdisk 进行磁盘管理

步骤1 创建分区(以/dev/sdb为例,根据实际情况创建)。

#fdisk /dev/sdb

步骤2 输入n,按回车确认。

步骤3 输入p,按回车确认。

步骤4 输入1,按回车确认。

步骤5 采用默认配置,按回车确认。

鲲鹏数据库解决方案安装指南 5 Percona 8.0.15 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 52

Page 59: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

步骤6 采用默认配置,按回车确认。

步骤7 输入w,按回车保存。

步骤8 创建文件系统(以xfs为例,根据实际需求创建文件系统)。

#mkfs.xfs /dev/sdb1

步骤9 挂载分区到“/data”以供操作系统使用。

#mkdir /data

#mount /dev/sdb1 /data

步骤10 执行命令“vi /etc/fstab", 编辑“/etc/fstab”使重启后自动挂载数据盘。如下图中,添加 后一行内容。

其中,/dev/sdb1为示例,具体名称以实际情况为准。

----结束

方法二:使用 LVM 进行磁盘管理

说明

此步骤需要安装镜像中的lvm2相关包,步骤如下:

1. 参考《Percona 8.0.15 移植指南(CentOS 7.6)》配置yum源并挂载镜像。如果已经执行,则可跳过此步。

2. 执行命令安装lvm2。

#yum install lvm2

步骤1 创建物理卷(sdb为硬盘名称,具体名字以实际为准)。

#pvcreate /dev/sdb

步骤2 创建物理卷组(其中datavg为创建的卷组名称,具体名字以实际规划为准)。

#vgcreate datavg /dev/sdb

步骤3 创建逻辑卷(其中600G为规划的逻辑卷大小,具体大小以实际情况为准;datalv为创建的逻辑卷的名字,具体名称以实际规划为准。)。

#lvcreate -L 600G -n datalv datavg

步骤4 创建文件系统。

#mkfs.xfs /dev/datavg/datalv

鲲鹏数据库解决方案安装指南 5 Percona 8.0.15 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 53

Page 60: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

步骤5 创建数据目录并挂载。

#mkdir /data

#mount /dev/datavg/datalv /data

步骤6 执行命令“vi /etc/fstab", 编辑“/etc/fstab”使重启后自动挂载数据盘。如下图中,添加 后一行内容。

其中,/dev/datavg/datalv为示例,具体名称以实际情况为准。

----结束

5.3.5 创建数据目录并授权

步骤1 在5.3.4 搭建数据盘已创建的数据目录/data基础上,继续创建进程所需的相关目录并授权MySQL用户(组)。

#mkdir -p /data/percona

#cd /data/percona

#mkdir data tmp run log

#chown -R mysql:mysql /data/percona

----结束

5.4 安装

5.4.1 镜像站 RPM 安装

说明

镜像站中的percona-8.0.15-6.el7.aarch64.rpm安装包根据《Percona 8.0.15 移植指南(CentOS 7.6)》打包而成,然后将其上传到镜像站。此安装方式需要连接外网。如果没有外网,则下载RPM包,上传到服务器任意路径,并在该路径下执行命令rpm -ivhpercona-8.0.15-6.el7.aarch64.rpm安装即可。本小节相关连接如下:

RPM下载链接为:

https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/database/percona-8.0.15-6.el7.aarch64.rpm

配置 yum 源

步骤1 备份原yum库文件并将新配置写入repo文件。

鲲鹏数据库解决方案安装指南 5 Percona 8.0.15 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 54

Page 61: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

#mv /etc/yum.repos.d/ /etc/yum.repos.d-bak

#mkdir /etc/yum.repos.d

#echo -e "[kunpeng]\nname=CentOS-kunpeng - Base -mirrors.huaweicloud.com\nbaseurl=https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/\ngpgcheck=0\nenabled=1" > /etc/yum.repos.d/CentOS-Base-kunpeng.repo

步骤2 确认上一步操作写入成功。

#cat /etc/yum.repos.d/CentOS-Base-kunpeng.repo

----结束

安装 RPM 包

步骤1 清除缓存。

#yum clean all

步骤2 创建缓存。

#yum makecache

步骤3 安装数据库rpm包。

#yum -y install percona-8.0.15-6.el7.aarch64 --enablerepo=[kunpeng]

步骤4 查看安装后的rpm包。

#rpm -qa | grep percona

----结束

5.4.2 编译安装请参考《Percona 8.0.15 移植指南(CentOS 7.6)》进行编译安装。

鲲鹏数据库解决方案安装指南 5 Percona 8.0.15 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 55

Page 62: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

5.5 运行步骤1 修改配置文件。

1. 编辑my.cnf文件,其中文件路径(包括软件安装路径basedir、数据路径datadir等)根据实际情况修改。

#rm -f /etc/my.cnf#echo -e "[mysqld_safe]\nlog-error=/data/percona/log/mysql.log\npid-file=/data/percona/run/mysqld.pid\n[mysqldump]\nquick\n[mysql]\nno-auto-rehash\nsocket=/data/percona/run/mysql.sock\n[client]\ndefault-character-set=utf8\n[mysqld]\nbasedir=/usr/local/percona\ntmpdir=/data/percona/tmp\ndatadir=/data/percona/data\ndefault_authentication_plugin=mysql_native_password\nport=3306\nuser=mysql\n" > /etc/my.cnf

2. 确保my.cnf配置文件修改正确。

#cat /etc/my.cnf

3. 修改/etc/my.cnf文件的组和用户为mysql:mysql。#chown mysql:mysql /etc/my.cnf

步骤2 配置环境变量。

1. 编译安装完成后,将Percona二进制文件路径到PATH。其中PATH中的/usr/local/percona/bin路径,为percona软件安装目录下的bin文件的绝对路径。

#echo export PATH=$PATH:/usr/local/percona/bin >> /etc/profile2. 使环境变量配置生效。

#source /etc/profile

步骤3 初始化数据库。

鲲鹏数据库解决方案安装指南 5 Percona 8.0.15 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 56

Page 63: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

说明

如果采用镜像站rpm安装方式安装,则需要额外做以下操作步骤避免初始化数据库失败:

1. 从链接rpm-bug.zip中下载压缩包rpm-bug.zip并上传到服务器/home目录下。

2. 解压压缩包。

#cd /home/#unzip rpm-bug.zip

3. 进入解压后的文件目录并将其中的文件放入到指定目录(如果有是否重写文件等提示,则输入y然后回车)。

#cd rpm-bug#cp libatomic.so.1 /usr/lib64/#cp libstdc++.so.6.0.24 /lib64/#rm /lib64/libstdc++.so.6#ln -s /lib64/libstdc++.so.6.0.24 /lib64/libstdc++.so.6#cp libaio.so.1.0.1 /usr/lib64/libaio.so.1

#/usr/local/percona/bin/mysqld --defaults-file=/etc/my.cnf --initialize --basedir=/usr/local/percona --datadir=/data/percona/data

说明

上图中倒数第二行红框标记字符为自动生成的初始密码,请注意保存。步骤5时会用到。

步骤4 启动数据库。

1. 以mysql用户启动Percona服务,执行下面命令后回车。

#su - mysql$/usr/local/percona/bin/mysqld_safe &

说明

1.mysqld_safe脚本会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它。

2.如果第一次启动数据库服务,以root用户启动数据库,则启动时会提示缺少mysql.log文件而导致失败。使用mysql用户启动之后,会在/data/percona/log目录下生成mysql.log文件,再次使用root用户启动则不会报错。

2. 查看Percona进程,mysqld_safe启动的时候会带起mysqld。$ps -ef | grep mysql

步骤5 以mysql用户登录数据库。

$/usr/local/percona/bin/mysql -uroot -p

鲲鹏数据库解决方案安装指南 5 Percona 8.0.15 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 57

Page 64: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

说明

此处输入的密码为步骤3中生成的初始密码,请留意包括特殊字符。

步骤6 配置数据库帐号密码。

1. 修改本地root用户登录密码。本例中密码为"123456", 具体设置以实际规划为准。

mysql>alter user 'root'@'localhost' identified by "123456";2. 创建全域root用户(允许root从其他服务器访问)。

mysql>create user 'root'@'%' identified by '123456';3. 进行授权。

mysql>grant all privileges on *.* to 'root'@'%';mysql>flush privileges;

步骤7 退出数据库。

执行\q或者exit退出数据库。

mysql>exit

----结束

5.6 卸载

镜像站 RPM 安装方式卸载

步骤1 关闭数据库进程。

#ps -ef | grep mysql

鲲鹏数据库解决方案安装指南 5 Percona 8.0.15 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 58

Page 65: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

#kill -9 进程ID

步骤2 卸载数据库RPM包。

#rpm -e percona-8.0.15-6.el7.aarch64

----结束

编译安装方式卸载

说明

编译安装只是生成对应的文件,不涉及卸载。

步骤1 关闭数据库进程。

#ps -ef | grep mysql

#kill -9 进程ID

步骤2 删除数据库的软件安装目录。

#rm -rf /usr/local/percona

----结束

5.7 备份数据库

基本命令● 备份数据库。

#mysqldump -h <主机> -P <端口> -u <用户名> -p<密码> --database <数据库> > /路径/文件名.sql

● 恢复数据库。

#mysql -h <主机> -P <端口> -u <用户名> -p<密码> --<数据库> < /opt/mytest_bak.sql

举例

说明

下面命令中-h后的主机IP地址请根据实际情况修改。其中db1为数据库名称,tb1为表的名称,具体名称以实际规划为准。

● 全库备份。

#mysqldump -h 192.168.202.102 -P 3306 -uroot -p123456 --all-databases> alldb.sql

● 指定库备份。

#mysqldump -h 192.168.202.102 -P 3306 -uroot -p123456 --databases db1> db1.sql

鲲鹏数据库解决方案安装指南 5 Percona 8.0.15 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 59

Page 66: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

● 指定表备份。

#mysqldump -h 192.168.202.102 -P 3306 -uroot -p123456 db1 tb1 >db1tb1.sql

● 恢复数据库。

#mysql -h 192.168.202.102 -P 3306 -uroot -p123456 db1 < db1.sql

鲲鹏数据库解决方案安装指南 5 Percona 8.0.15 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 60

Page 67: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

6 PostgreSQL 11.3 安装指南(CentOS 7.6)

6.1 介绍

6.2 环境要求

6.3 配置安装环境

6.4 安装

6.5 运行

6.6 卸载

6.7 备份数据库

6.1 介绍

简要介绍

PostgreSQL的架构如图6-1所示,主要进程说明如表6-1所示。

鲲鹏数据库解决方案安装指南 6 PostgreSQL 11.3 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 61

Page 68: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

图 6-1 PostgreSQL 架构

表 6-1 PostgreSQL 中的主要进程说明

进程类别

进程名称 说明

主进程

Postmaster Postmaster是整个数据库实例的总控进程,负责启动和关闭该数据库实例。

常驻进程

Potgres(常驻进程)

管理后端的常驻进程,也称为“postmaster”。其默认监听UNIXDomain Socket和TCP/IP(Windows等,一部分的平台只监听TCP/IP)的5432端口,等待来自前端的的连接处理。监听的端口号可以在PostgreSQL的设置文件postgresql.conf中修改。

子进程

Postgres(子进程)

子进程根据pg_hba.conf定义的安全策略来判断是否允许进行连接,根据策略,会拒绝某些特定的IP及网络,或者也可以只允许某些特定的用户或者对某些数据库进行连接。

Postgres会接受前端过来的查询,然后对数据库进行检索,后把结果返回,有时也会对数据库进行更新。更新的数据

同时还会记录在事务日志里面(PostgreSQL称为WAL日志)。这个主要是当停电、服务器宕机、重新启动的时候进行恢复处理的时候使用。另外,把日志归档保存起来,可在需要进行恢复的时候使用。在PostgreSQL 9.0以后,通过把WAL日志传送其他的PostgreSQL,可以实时的进行数据库复制,这就是所谓的“数据库复制”功能。

鲲鹏数据库解决方案安装指南 6 PostgreSQL 11.3 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 62

Page 69: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

进程类别

进程名称 说明

辅助进程

SysLogger(系统日志)

需要在Postgres.conf中logging_collection设置为on,此时主进程才会启动Syslogger辅助进程。

BgWriter(后台写)

把共享内存中的脏页写到磁盘上的进程。主要是为了提高插入、更新和删除数据的性能。

WalWriter(预写式日志)

在修改数据之前把修改操作记录到磁盘中,以便后面更新实时数据时就不需要数据持久化到文件中。

PgArch(归档)

WAL日志会被循环使用,PgArch在归档前会把WAL日志备份出来。通过PITR(Point in Time Recovery)技术,可以对数据库进行一次全量备份后,该技术将备份时间点之后的WAL日志通过归档进行备份,使用数据库的全量备份再加上后面产生的WAL日志,即可把数据库向前推到全量备份后的任意一个时间点。

AutoVacuum(系统自动清理)

在PostgreSQL数据库中,对表进行DELETE操作后,旧的数据并不会立即被删除,并且,在更新数据时,也并不会在旧的数据上做更新,而是新生成一行数据。旧的数据只是被标识为删除状态,只有在没有并发的其他事务读到这些就数据时,它们才会被清除。这个清除工作就由AutoVacuum进程完成。

PgStat(统计收集)

做数据的统计收集工作。主要用于查询优化时的代价估算,包括一个表和索引进行了多少次的插入、更新、删除操作,磁盘块读写的次数、行的读次数。pg_statistic中存储了PgStat收集的各类信息。

CheckPoint(检查点)

检查点是系统设置的事务序列点,设置检查点保证检查点前的日志信息刷到磁盘中。

开发语言:C/C++

一句话描述:对象关系型数据库管理系统

建议的版本

建议使用的版本为“PostgreSQL 11.3”。

须知

本文有镜像站RPM包安装和编译安装两种安装方式,两种方式二选一进行安装,避免重复安装。

鲲鹏数据库解决方案安装指南 6 PostgreSQL 11.3 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 63

Page 70: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

6.2 环境要求

硬件要求

硬件要求如表6-2所示。

表 6-2 硬件要求

项目 说明

服务器 TaiShan 200服务器(型号2280)

CPU 华为鲲鹏920处理器

硬盘 进行性能测试时,数据目录需使用单独硬盘,即一个系统盘,一个数据盘(数据盘可选用性能较好的SATA SSD盘,NVMe SSD盘等),至少两块硬盘;非性能测试时,直接在系统盘上建数据目录即可。具体硬盘数量根据实际需求配置。

操作系统要求

操作系统要求如表6-3所示。

表 6-3 操作系统要求

项目 版本

CentOS 7.6 for ARM

说明

如果是全新安装操作系统,可选择“Minimal Install”安装方式并勾选Development Tools套件,否则很多软件包需要手动安装。

6.3 配置安装环境

6.3.1 关闭防火墙并取消开机自启动

说明

测试环境下通常会关闭防火墙以避免部分网络因素影响,视实际需求做配置。

步骤1 停止防火墙。

#systemctl stop firewalld.service

步骤2 关闭防火墙。

鲲鹏数据库解决方案安装指南 6 PostgreSQL 11.3 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 64

Page 71: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

#systemctl disable firewalld.service

说明

执行disable命令关闭防火墙的同时,也取消了开机自启动。

----结束

6.3.2 修改 SELINUX 为 disabled步骤1 修改配置文件。

#sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux

----结束

6.3.3 创建组和用户

说明

服务器环境下,为了系统安全,通常会为进程分配单独的用户,以实现权限隔离。本章节创建的组和用户都是操作系统层面的,不是数据库层面的。

步骤1 创建PostgreSQL用户(组)。

#groupadd postgres

#useradd -g postgres postgres

步骤2 设置postgres用户密码(重复输入密码)。

#passwd postgres

----结束

6.3.4 搭建数据盘

说明

● 测试极限性能时,建议单独挂载IO性能更优的NVME SSD存储介质创建PostgreSQL测试实例,避免磁盘IO对性能测试结果的影响,本文以单独挂载NVME SSD为例,参考步骤1~步骤4。

● 非性能测试时,执行以下命令,创建数据目录即可。然后跳过本小节:

#mkdir /data

步骤1 创建文件系统(以XFS为例,根据实际需求创建文件系统,其中/dev/nvme0n1可根据实际磁盘名称进行输入)。

#mkfs.xfs /dev/nvme0n1

若磁盘之前已做过文件系统,执行此命令会出现报错,可使用-f参数强制创建文件系统。

鲲鹏数据库解决方案安装指南 6 PostgreSQL 11.3 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 65

Page 72: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

#mkfs.xfs -f /dev/nvme0n1

步骤2 创建数据目录。

#mkdir /data

步骤3 挂载磁盘。

#mount -o noatime,nobarrier /dev/nvme0n1 /data

步骤4 执行命令“vi /etc/fstab",以进去编辑页面,输入i进行编辑,编辑完成后按“Esc”退出编辑模式并输入“:wq”保存文件,使重启后自动挂载数据盘。如下图中,添加 后一行内容。

----结束

6.3.5 数据目录授权

步骤1 修改目录权限。

#chown -R postgres:postgres /data/

----结束

6.4 安装

6.4.1 镜像站 RPM 安装

说明

镜像站中的postgresql-11.3-1.el7.aarch64.rpm安装包根据《PostgreSQL 11.3 移植指南(CentOS 7.6)》打包而成。如果没有外网,则下载RPM包,上传到服务器任意路径,并在该路径下执行命令rpm -ivh postgresql-11.3-1.el7.aarch64.rpm安装即可。本小节相关连接如下:

RPM下载链接为:

https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/database/postgresql-11.3-1.el7.aarch64.rpm

配置 yum 源

步骤1 备份原yum库文件并将新配置写入repo文件。

#mv /etc/yum.repos.d/ /etc/yum.repos.d-bak

鲲鹏数据库解决方案安装指南 6 PostgreSQL 11.3 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 66

Page 73: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

#mkdir /etc/yum.repos.d

#echo -e "[kunpeng]\nname=CentOS-kunpeng - Base -mirrors.huaweicloud.com\nbaseurl=https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/\ngpgcheck=0\nenabled=1" > /etc/yum.repos.d/CentOS-Base-kunpeng.repo

步骤2 确认上一步操作写入成功。

#cat /etc/yum.repos.d/CentOS-Base-kunpeng.repo

----结束

安装 RPM 包

步骤1 清除缓存。

#yum clean all

步骤2 创建缓存。

#yum makecache

步骤3 安装数据库rpm包。

#yum -y install postgresql-11.3-1.el7.aarch64 --enablerepo=[kunpeng]

步骤4 查看安装后的rpm包。

#rpm -qa | grep postgresql

----结束

6.4.2 编译安装

请参考《PostgreSQL 11.3 移植指南(CentOS 7.6)》进行编译安装。

鲲鹏数据库解决方案安装指南 6 PostgreSQL 11.3 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 67

Page 74: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

6.5 运行说明

如果采用镜像站RPM安装方式安装,则需要额外做以下操作步骤避免初始化数据库或者启动数据库失败:

1. 从链接https://portal-www-software.obs.cn-north-1.myhuaweicloud.com/%E6%95%B0%E6%8D%AE%E5%BA%93/kunpeng%E8%AE%BA%E5%9D%9B%E6%96%87%E6%A1%A3%E6%89%80%E9%9C%80%E8%BD%AF%E4%BB%B6%E5%B0%8F%E9%9B%86/rpm-bug.zip中下载压缩包rpm-bug.zip并上传到服务器/home目录下。

2. 解压压缩包。

#cd /home/#unzip rpm-bug.zip

3. 进入解压后的文件目录并将其中的文件放入到指定目录(如果有是否重写文件等提示,则输入y然后回车)。

#cd rpm-bug#cp libatomic.so.1 /usr/lib64/#cp libstdc++.so.6.0.24 /lib64/#rm /lib64/libstdc++.so.6#ln -s /lib64/libstdc++.so.6.0.24 /lib64/libstdc++.so.6#cp libaio.so.1.0.1 /usr/lib64/libaio.so.1

步骤1 初始化数据库。

须知

此步骤在postgres用户下操作。

1. 切换到postgres用户。

#su - postgres2. 编辑环境变量文件。

$vi .bash_profile在环境变量文件底部,添加公共库路径。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgsql/lib

鲲鹏数据库解决方案安装指南 6 PostgreSQL 11.3 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 68

Page 75: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

3. 保存退出,并使其生效。

$source .bash_profile

4. 初始化数据库。

$/usr/local/pgsql/bin/initdb -D /data/pgsql

步骤2 启动数据库。

1. 启动PostgreSQL数据库。

$/usr/local/pgsql/bin/pg_ctl -D /data/pgsql -l logfile start

2. 确认PostgreSQL数据库进程是否正常启动。

$ps -ef | grep postgres

如上图所示,PostgreSql相关进程已经正常启动了。

步骤3 登录数据库。

$/usr/local/pgsql/bin/psql -U postgres

鲲鹏数据库解决方案安装指南 6 PostgreSQL 11.3 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 69

Page 76: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

说明

初次登录数据库,无需密码。

步骤4 配置数据库帐号密码。

登录后,设置postgres密码。

postgres=#alter user postgres with password '123456';

步骤5 退出数据库。

执行\q退出数据库。

postgres=#\q

步骤6 停止数据库。

停止PostgreSQL数据库。

$/usr/local/pgsql/bin/pg_ctl -D /data/pgsql -l logfile stop

步骤7 修改数据库配置文件。

1. 编辑/data /pg_hba.conf,增加以下内容,用以允许非本地访问,IP地址请按需配置。

$vi /data/pgsql/pg_hba.conf

2. 如果数据库服务为启动状态,则配置完成后执行以下命令重新加载配置文件;如果数据库服务已经关闭,则重新启动数据库服务生效。

$/usr/local/pgsql/bin/pg_ctl reload -D /data/pgsql

----结束

鲲鹏数据库解决方案安装指南 6 PostgreSQL 11.3 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 70

Page 77: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

6.6 卸载

镜像站 RPM 安装方式卸载

步骤1 切换至postgres用户下关闭数据库进程。

# su - postgres

$/home/postgresql-11.3-1/bin/pg_ctl -D /data/pgsql -l logfile stop

步骤2 在root用户下卸载数据库RPM包。

#rpm -e postgresql-11.3-1.el7.aarch64

----结束

编译安装方式卸载

说明

编译安装只是生成对应的文件,不涉及卸载。

步骤1 在postgres用户下关闭数据库进程。

$/usr/local/pgsql/bin/pg_ctl -D /data/pgsql -l logfile stop

步骤2 在root用户下删除数据库的软件安装目录。

#rm -rf /usr/local/pgsql/

----结束

6.7 备份数据库

6.7.1 基本命令pg_dump是一个用于备份PostgreSQL数据库的工具。它甚至可以在数据库正在并发使用时进行完整一致的备份,而不会阻塞其它用户对数据库的访问。该工具生成的转储格式可以分为两种,脚本和归档文件。

● 脚本格式是包含许多SQL命令的纯文本格式,这些SQL命令可以用于重建该数据库并将之恢复到生成此脚本时的状态,该操作需要使用psql来完成。

● 归档格式,如果需要重建数据库就必须和pg_restore工具一起使用。在重建过程中,可以对恢复的对象进行选择,甚至可以在恢复之前对需要恢复的条目进行重新排序。

该命令的使用方式如下:

pg_dump [option...] [dbname]

pg_dump -h <主机> -p <端口> -U<用户名> -W<密码>-d <数据库> -f /路径/文件名.sql

鲲鹏数据库解决方案安装指南 6 PostgreSQL 11.3 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 71

Page 78: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

命令参数 说明

-h 指定PostgreSQL连接数据库服务器IP

-p 指定连接数据端口

-U 指定数据库用户

-W 输入数据库密码

-d 指定数据库库名

-f 指定输入到文件名

如果没有提供数据库名字,那么使用PGDATABASE环境变量的数值。

备份完成后通过psql进行恢复。

6.7.2 举例

说明

1. 路径根据数据库软件安装实际路径为准,本小结以路径/usr/local/pgsql为例。

2. 数据库名,以实际要备份的数据库名字为准,本例以postgres为例。

1. 只导出postgres数据库的数据(-s表示不包括数据模式 )。该命令在root用户下执行。

#/usr/local/pgsql/bin/pg_dump -U postgres -f /postgres.sql -s postgres2. 导出postgres数据库(包括数据)。该命令在root用户下执行。

#/usr/local/pgsql/bin/pg_dump -U postgres -f /postgres.sql postgres3. 导出postgres数据库中表table01的数据。

创建表table01。该命令在登录数据库后执行:

postgres=#create table "table01" ("Name" varchar(255));以下命令在root用户下执行:

#/usr/local/pgsql/bin/pg_dump -U postgres -f /postgres.sql -t table01postgres

4. 导出postgres数据库中表table01的数据,以insert语句形式保存。

#/usr/local/pgsql/bin/pg_dump -U postgres -f /postgres.sql -t table01 --column-inserts postgres

5. 恢复数据到bk01数据库。其中bk01为已创建完毕的数据库。

#/usr/local/pgsql/bin/psql -U postgres -f /postgres.sql bk01

鲲鹏数据库解决方案安装指南 6 PostgreSQL 11.3 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 72

Page 79: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

7 Greenplum 6.0.0 安装指南(CentOS 7.6)

7.1 介绍

7.2 环境要求

7.3 配置安装环境

7.4 安装

7.5 运行

7.6 Greenplum数据库操作

7.1 介绍

简要介绍

Greenplum是一个面向数据仓库应用的关系型数据库,因为有良好的体系结构,所以在数据存储、高并发、高可用、线性扩展、反应速度、易用性和性价比等方面有非常明显的优势。Greenplum是一种基于PostgreSQL的分布式数据库,其采用shared-nothing架构,主机、操作系统、内存、存储都是自我控制的,不存在共享。

本质上讲Greenplum是一个关系型数据库集群,它实际上是由数个独立的数据库服务组合成的逻辑数据库。与RAC不同,这种数据库集群采取的是MPP(MassivelyParallel Processing)架构。

关于Greenplum的更多信息请访问Greenplum官网。

一句话描述:分布式关系型数据库

建议的版本

建议使用版本为“Greenplum 6.0.0”。

说明

本文档适用于Greenplum 6.0.0,其他版本的Greenplum编译步骤可参考本文档。

鲲鹏数据库解决方案安装指南 7 Greenplum 6.0.0 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 73

Page 80: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

7.2 环境要求

硬件要求

硬件要求如表7-1所示。

表 7-1 硬件要求

项目 说明

服务器 TaiShan 200服务器(型号2280)

CPU 华为鲲鹏920处理器

硬盘 进行性能测试时,数据目录需使用单独硬盘,即一个系统盘,一个数据盘(数据盘可选用性能较好的SSD盘,NVMe盘等),至少两块硬盘;非性能测试时,直接在系统盘上建数据目录即可。具体硬盘数量根据实际需求配置。

操作系统要求

操作系统要求如表7-2所示。

表 7-2 操作系统要求

项目 版本

CentOS 7.6 for ARM及以上

说明

如果是全新安装操作系统,可选择“Minimal Install”安装方式并勾选Development Tools套件,否则很多软件包需要手动安装。

7.3 配置安装环境

7.3.1 关闭防火墙并取消开机自启动

说明

测试环境下通常会关闭防火墙以避免部分网络因素影响,视实际需求做配置。

步骤1 停止防火墙。

#systemctl stop firewalld.service

步骤2 关闭防火墙。

鲲鹏数据库解决方案安装指南 7 Greenplum 6.0.0 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 74

Page 81: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

#systemctl disable firewalld.service

说明

执行disable命令关闭防火墙的同时,也取消了开机自启动。

----结束

7.3.2 修改 SELINUX 为 disabled步骤1 修改配置文件。

#sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux

----结束

7.3.3 创建组和用户

说明

服务器环境下,为了系统安全,通常会为进程分配单独的用户,以实现权限隔离。本章节创建的组和用户都是操作系统层面的,不是数据库层面的。

步骤1 创建gpadmin用户(组)。

#groupadd gpadmin

#useradd -g gpadmin gpadmin

步骤2 设置gpadmin用户密码,请根据提示输入并记录密码。

#passwd gpadmin

----结束

7.3.4 搭建数据盘

说明

● 进行性能测试时,数据目录使用单独硬盘,需要对硬盘进行格式化并挂载,参考方法一或者方法二。

● 非性能测试时,执行以下命令,创建数据目录即可。然后跳过本小节:

#mkdir /data

方法一:使用 fdisk 进行磁盘管理

步骤1 创建分区(以/dev/sdb为例,根据实际情况创建)。

#fdisk /dev/sdb

步骤2 输入n,按回车确认。

步骤3 输入p,按回车确认。

步骤4 输入1,按回车确认。

步骤5 采用默认配置,按回车确认。

鲲鹏数据库解决方案安装指南 7 Greenplum 6.0.0 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 75

Page 82: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

步骤6 采用默认配置,按回车确认。

步骤7 输入w,按回车保存。

步骤8 创建文件系统(以xfs为例,根据实际需求创建文件系统)。

#mkfs.xfs /dev/sdb1

步骤9 挂载分区到“/data”以供操作系统使用。

#mkdir /data

#mount /dev/sdb1 /data

步骤10 执行命令“vi /etc/fstab", 编辑“/etc/fstab”使重启后自动挂载数据盘。如下图中,添加 后一行内容。

其中,/dev/sdb1为示例,具体名称以实际情况为准。

----结束

方法二:使用 LVM 进行磁盘管理

说明

此步骤需要安装镜像中的lvm2相关包,步骤如下:

1. 可选: 参考《Greenplum 6.0.0 移植指南(CentOS 7.6)》配置本地yum源。如果已经执行,则可跳过此步。

2. 执行命令安装lvm2。

#yum install lvm2

步骤1 创建物理卷(sdb为硬盘名称,具体名字以实际为准)。

#pvcreate /dev/sdb

步骤2 创建物理卷组(其中datavg为创建的卷组名称,具体名字以实际规划为准)。

#vgcreate datavg /dev/sdb

步骤3 创建逻辑卷(其中600G为规划的逻辑卷大小,具体大小以实际情况为准;datalv为创建的逻辑卷的名字,具体名称以实际规划为准。)。

#lvcreate -L 600G -n datalv datavg

步骤4 创建文件系统。

#mkfs.xfs /dev/datavg/datalv

鲲鹏数据库解决方案安装指南 7 Greenplum 6.0.0 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 76

Page 83: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

步骤5 创建数据目录并挂载。

#mkdir /data

#mount /dev/datavg/datalv /data

步骤6 执行命令vi /etc/fstab,编辑“/etc/fstab”使重启后自动挂载数据盘。如下图中,添加 后一行内容。

其中,/dev/datavg/datalv为示例,具体名称以实际情况为准。

----结束

7.3.5 创建数据目录并授权

步骤1 在7.3.4 搭建数据盘已创建的数据目录“/data”基础上,继续创建进程所需的相关目录并授权gpadmin用户和组。

#mkdir -p /data/gpdb/segdata

#mkdir -p /data/gpdb/master

#chown -R gpadmin:gpadmin /data/gpdb/segdata

#chown -R gpadmin:gpadmin /data/gpdb/master

----结束

7.4 安装

7.4.1 编译安装

请参考《Greenplum 6.0.0 移植指南(CentOS 7.6)》进行编译安装。

7.4.2 镜像站 RPM 安装

镜像站中的gpdb-6.0.0-1.el7.aarch64.rpm安装包是根据《Greenplum 6.0.0 移植指南(CentOS 7.6)》打包而成,然后将其上传到镜像站的。采用镜像站RPM安装方式需要服务器有外网环境。如果服务器没有外网环境,则从镜像站下载RPM包上传服务器,在其目录下执行命令rpm -ivh gpdb-6.0.0-1.el7.aarch64.rpm安装即可。

镜像站RPM下载链接为:https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/database/gpdb-6.0.0-1.el7.aarch64.rpm

鲲鹏数据库解决方案安装指南 7 Greenplum 6.0.0 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 77

Page 84: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

配置 yum 源

步骤1 备份原yum库文件并将新配置写入repo文件。

#mv /etc/yum.repos.d/ /etc/yum.repos.d-bak

#mkdir /etc/yum.repos.d

#echo -e "[kunpeng]\nname=CentOS-kunpeng - Base -mirrors.huaweicloud.com\nbaseurl=https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/\ngpgcheck=0\nenabled=1" > /etc/yum.repos.d/CentOS-Base-kunpeng.repo

步骤2 确认上一步操作写入成功。

#cat /etc/yum.repos.d/CentOS-Base-kunpeng.repo

----结束

安装 RPM 包

步骤1 清除缓存。

#yum clean all

步骤2 创建缓存。

#yum makecache

步骤3 安装数据库rpm包。

#yum -y install gpdb-6.0.0-1.el7.aarch64 --enablerepo=[kunpeng]

步骤4 查看安装后的rpm包。

#rpm -qa | grep gpdb

----结束

鲲鹏数据库解决方案安装指南 7 Greenplum 6.0.0 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 78

Page 85: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

7.5 运行

7.5.1 配置环境变量

步骤1 安装完成后,将Greenplum二进制文件路径到PATH。

#vi /home/gpadmin/.bash_profile

在末尾添加如下内容:

source /usr/local/gpdb/greenplum_path.shexport PGPORT=5432export MASTER_DATA_DIRECTORY=/data/gpdb/master/gpseg-1

添加完后如下:

其中的greenplum_path.sh,设置GPHOME和LD_LIBRARY_PATH环境变量,MASTER_DATA_DIRECTORY为master数据目录,本例为/data/gpdb/master/gpseg-1

步骤2 使环境变量配置生效。

#source /home/gpadmin/.bash_profile

----结束

鲲鹏数据库解决方案安装指南 7 Greenplum 6.0.0 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 79

Page 86: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

7.5.2 初始化数据库

说明

● 主机名为默认主机名localhost时,执行步骤4会报错,本例中我们将主机名修改为master。具体主机名称以实际规划为准。

● 如果以镜像站RPM安装,需要做如下步骤,防止初始化数据库报错:

1. 参考《Greenplum 6.0.0 移植指南(CentOS 7.6)》挂载镜像并且配置本地yum源。

2. 安装依赖包:

#yum install net-tools3. 执行命令加载动态库:

#echo /usr/local/lib >/etc/ld.so.conf#ldconfig

步骤1 修改主机名为master。

#hostname master

#echo master > /etc/hostname

logout退出登录,重新连接后生效。

步骤2 将主机名的map写入到/etc/hosts中,具体IP地址和主机名以实际情况为准。本例中,IP地址为192.168.202.206,主机名为master。

#echo 192.168.202.206 master >>/etc/hosts

步骤3 切换至gpadmin用户。

#su - gpadmin

步骤4 配置集群节点间互信。

交换集群中所有机器的ssh密钥,本例是单机,只有一台。其中master为主机名,以实际情况为准。

$gpssh-exkeys -h 'master'

步骤5 退出到root用户。

$exit

步骤6 创建集群主机配置文件。

创建集群主机配置文件hostfile,包括集群所有主机名,本例是单机,只有一台。其中master为主机名,以实际情况为准。

鲲鹏数据库解决方案安装指南 7 Greenplum 6.0.0 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 80

Page 87: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

#echo master >> /data/gpdb/hostfile

步骤7 切换至gpadmin用户。

#su - gpadmin

步骤8 创建初始化配置文件init.config。

$vi /home/gpadmin/init.config

添加如下内容:

ARRAY_NAME="Greenplum Cluster"SEG_PREFIX=gpseg #segment数据库前缀名PORT_BASE=40000 #segment数据库起始端口号declare -a DATA_DIRECTORY=(/data/gpdb/segdata /data/gpdb/segdata)#segments数据目录,有几个DATA_DIRECTORY, 每个节点上便会启动几个segment,本例为2个segmentMASTER_HOSTNAME=master #master主机名MASTER_DIRECTORY=/data/gpdb/master #master数据目录MASTER_PORT=5432 #master端口号,也是对外业务端口号TRUSTED_SHELL=sshCHECK_POINT_SEGMENTS=8ENCODING=UNICODEDATABASE_NAME=gpdbMACHINE_LIST_FILE=/data/gpdb/hostfile #集群配置文件,hostfile对应上面步骤6创建的文件名

步骤9 执行初始化命令。

$gpinitsystem -c /home/gpadmin/init.config -a

init.config对应步骤8创建的文件。

----结束

7.5.3 连接数据库步骤1 连接数据库。

$psql -d postgres

postgres是greenplum默认创建的数据库。

----结束

7.6 Greenplum 数据库操作说明

本章节为数据库常用命令以及常用操作列举供用户参考。不属于安装数据库操作步骤。

鲲鹏数据库解决方案安装指南 7 Greenplum 6.0.0 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 81

Page 88: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

7.6.1 数据库管理

基本命令

● 以gpadmin用户启动Greenplum数据库,并按提示输入Y,确定启动。

$gpstart

● 以gpadmin用户关闭Greenplum数据库,并按提示输入Y,确定关闭。

$gpstop

● 以gpadmin用户登录数据库。

$psql -d <数据库>

鲲鹏数据库解决方案安装指南 7 Greenplum 6.0.0 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 82

Page 89: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

说明

其中<数据库>为已经创建好的数据库。

● 以gpadmin用户查看mirror的状态。

$gpstate -e● 以gpadmin用户查看standby master的状态。

$gpstate -f● 以gpadmin用户查看整个GP集群状态。

$gpstate -b● 以gpadmin用户查看整个GP的版本。

$gpstate -i

修改 Segment 配置参数

步骤1 以gpadmin用户修改Segment配置参数。

● 方法一:在目标segment的postgresql.conf文件中更新参数。

$echo gp_vmem_protect_limit=12888 >>postgresql.conf● 方法二:使用gpconfig工具修改greenplum segment参数。

$gpconfig -c gp_vmem_protect_limit -v 12888

步骤2 以gpadmin用户重启Greenplum数据库,使配置生效,重启过程中,输入Y,确认重启。

$gpstop -r

----结束

鲲鹏数据库解决方案安装指南 7 Greenplum 6.0.0 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 83

Page 90: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

修改 Master 配置参数

步骤1 以gpadmin用户修改master配置参数。

$echo gp_vmem_protect_limit=12888 >>postgresql.conf

步骤2 以gpadmin用户重启Greenplum数据库,使配置生效,重启过程中,输入Y,确认重启。

$gpstop -r

----结束

7.6.2 备份数据库数据库的备份:

以gpadmin用户登录数据库。

#su - gpadmin

● 执行命令进行备份单个数据库。其中databasename为要备份的数据库名称,需存在于数据库中;databasename.dump为备份以后的文件名称,默认备份在当前目录下。

$pg_dump -Fc databasename > databasename.dump

● 备份整个数据库。其中all.dump为备份以后的文件名称,默认备份在当前目录下。

$pg_dumpall >all.dump

数据库的恢复:

鲲鹏数据库解决方案安装指南 7 Greenplum 6.0.0 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 84

Page 91: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

以gpadmin用户登录数据库。

#su - gpadmin

● 执行命令进行恢复单个数据库。其中databasename为要恢复的数据库名称,需存在于数据库中;databasename.dump为用于恢复的文件,具体存在路径以实际为准。

$pg_restore -d databasename databasename.dump

● 恢复整个数据库。其中all.dump为用于恢复的文件,具体存在路径以实际为准。

$psql -f all.dump postgres

鲲鹏数据库解决方案安装指南 7 Greenplum 6.0.0 安装指南(CentOS 7.6)

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 85

Page 92: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

8 鲲鹏数据库解决方案 自动化部署工具 用户指

8.1 自动化部署工具介绍

8.2 MySQL自动化部署操作指导

8.3 PostgreSQL自动化部署操作指导

8.4 MongoDB自动化部署操作指导

8.5 Greenplum自动化部署操作指导

8.6 故障排除

8.1 自动化部署工具介绍

简要介绍

该工具是数据库自动化部署调优工具,支持MySQL 8.0.17/8.0.18和PostgreSQL 11.3的单机自动化部署调优,以及支持MongoDB 4.0.12和Greenplum 5.22.0的集群自动化部署调优。

支持服务器:TaiShan 200系列服务器

支持OS:CentOS 7.6 for ARM

安装包支持来源:

DB类型 源码包 RPM包

MySQL https://downloads.mysql.com/archives/community/

http://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/database/?C=N&O=D

PostgreSQL

https://ftp.postgresql.org/pub/source/v11.3/postgresql-11.3.tar.gz

MongoDB https://github.com/mongodb/mongo/archive/r4.0.12.tar.gz

鲲鹏数据库解决方案安装指南 8 鲲鹏数据库解决方案 自动化部署工具 用户指南

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 86

Page 93: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

DB类型 源码包 RPM包

Greenplum https://github.com/greenplum-db/gpdb/archive/5.22.0.tar.gz

基本功能

工具提供4个基本功能:

● Check安装前的检查。主要检查需要安装的环境是否满足基本要求,配置文件是否有错误,输入的文件目录是否存在等。

● Install安装数据库。支持从源码编译安装和RPM安装,并完成数据库的初始化和调优等功能。

● Uninstall卸载数据库。删除数据文件以及数据库软件文件。

● Compile编译数据库,把源码包编译打包成rpm包,rpm可以在其他TaiShan服务器上安装。

● Help工具的帮助命令,提示工具的基本用法。

脚本参数介绍

本工具采用shell语言编写,解压工具包后可获取若干个文件夹和shell脚本。其中tsdbtool.sh是工具的统一入口。该脚本 多支持4个参数,每一个参数都代表不同的含义、功能。

脚本格式:sh tsdbtool.sh parm1 < parm2 parm3 <parm4> >

脚本参数说明:

● parm1第一个参数用于指定执行脚本的功能。可选值有:check、install、uninstall、compile、help,分别代表工具的4个基本功能。help参数可以单独使用。uninstall参数需和parm2、parm3一起使用。check、install、compile参数需和parm2、parm3、parm3一起使用。

● parm2第二个参数用来指定数据库的类型。可选值有:dbtype=mysql、dbtype=postgresql、dbtype=mongodb、dbtype=greenplum,分别代表支持的4种数据库。

● parm3第三个参数用于指定安装时使用的配置文件。参数的格式为:conf=/path/to/conf-name。“conf=”为固定字符,后面是配置文件的路径。

– 如果配置文件在当前tsdbtool.sh的目录,可以直接写配置文件的名字。配置文件格式由软件包提供。

鲲鹏数据库解决方案安装指南 8 鲲鹏数据库解决方案 自动化部署工具 用户指南

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 87

Page 94: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

– 4种数据库的配置文件放在自动化工具目录中,分别为:mysqlconf.csv、postgresqlconf.csv、mongodbconf.csv、greenplumconf.csv。

– 配置文件可以在Linux直接编辑,或者在Windows下使用excel打开编辑。

● parm4

第四个参数用于指定安装软件的来源。参数为sourcedir=/path/to/sourcename-xx--x.tar.gz或者rpmdir=/path/to/rpmname-xx-xxx.rpm。

– 参数sourcedir代表从源码编译安装,后面是源码包的路径。

– rpmdir代表从RPM包安装,后面是RPM包的路径。从源码包编译安装需要经过依赖安装、编译工具安装、编译源码等步骤,使用时间比较长,建议使用RPM安装。

8.2 MySQL 自动化部署操作指导

8.2.1 准备工作

● 已获取自动化工具包,并上传到服务器完成解压,得到完整的软件文件夹tsdbtool。

● 已下载依赖:gcc-7.3.0、cmake-3.5.2的源码包,放到tsdbtool文件夹下的mysqlDep文件夹中,下载地址见表8-2。

● 已获取待安装软件的源码包或者RPM包,并上传到自动化工具tsdbtool目录下。

● 根据实际环境,完成安装配置文件mysqlconf.csv的修改。

配置文件mysqlconf.csv参数说明如表8-1所示。

表 8-1 配置文件 mysqlconf.csv 参数说明

参数 说明

isopath OS镜像的路径,需提前上传到服务器的操作系统中,用于安装一些依赖包。

db_password MySQL的密码,工具会使用该字段来设置数据库的密码。

host 被安装服务器。如果是本机安装,请输入localhost。如果需要远程安装到其他服务器,请输入其他服务器的IP地址。

os_root_user 被安装服务器OS的root用户名。

os_root_password

被安装服务器OS的root密码。

version 需要安装的Mysql版本号。

compile_flag 用于检查过程的判断,RPM包编译前的检查请设置为1,否则设置为0,执行编译过程,检查项少。

basedir MySQL的basedir的绝对路径值,需存在于OS中,RPM包安装此参数无效,不使用。

datadir MySQL的datadir的绝对路径值,需存在于OS中。

鲲鹏数据库解决方案安装指南 8 鲲鹏数据库解决方案 自动化部署工具 用户指南

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 88

Page 95: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

参数 说明

logdirportinnodb_buffer_pool_size

MySQL的logdir的绝对路径值,需存在于OS中。

MySQL使用的端口。

MySQL的innodb_buffer_pool_size。

表 8-2 依赖包下载地址

依赖包软件名 下载地址

gcc-7.3.0 https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz

cmake-3.5.2 https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz

表 8-3 tsdbtool 工具下载地址

软件名 下载地址

tsdbtool https://mirrors.huaweicloud.com/kunpeng/archive/kunpeng_solution/database/patch/tsdbtool.zip备注:进入网址后,下载tsdbtool.zip压缩文件即可。

本文以MySQL 8.0.17的check、install、uninstall为例进行说明。已完成的准备工作包括:

● 已获取工具包并上传至服务器,然后解压到/home目录得到/home/tsdbtool目录。

● 已上传mysql-boost-8.0.17.tar.gz源码包或者RPM包到/home/tsdbtool。● 已下载依赖:gcc-7.3.0、cmake-3.5.2的源码包,放到tsdbtool文件夹下的

mysqlDep文件夹中。

● 已完成mysqlconf.csv的修改,并且确认系统中存在或者创建datadir,logdir,basedir(RPM包安装此参数无效,不使用)。本例中,mysqlconf.csv文件内容如下:parm,values[install-conf],isopath,/root/CentOS-7-aarch64-Everything-1810.isodb_password,123456host,localhostos_root_user,rootos_root_password,Admin@123version,8.0.17compile_flag,1[mysql-conf]basedir,/usr/local/mysqldatadir,/data/mysql/datalogdir,/data/mysql/logport,3306innodb_buffer_pool_size,10G

鲲鹏数据库解决方案安装指南 8 鲲鹏数据库解决方案 自动化部署工具 用户指南

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 89

Page 96: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

8.2.2 MySQL 安装前检查步骤1 进入工具目录。

cd /home/tsdbtool

步骤2 执行check命令。

sh tsdbtool.sh check dbtype=mysql conf=mysqlconf.csv sourcedir=mysql-boost-8.0.17.tar.gz

● 如果输出没有出现failed,说明环境正常,可以执行install操作,如果出现failed,请根据输出的相关的提示进行修改,然后再执行check命令。

● 如果是RPM包安装(RPM编译过程见2.6 MySQL RPM包编译),需把sourcedir改为rpmdir,源码包名改为RPM包的名字,例如:

sh tsdbtool.sh check dbtype=mysql conf=mysqlconf.csvrpmdir=mysql-8.0.17-1.el7.aarch64.rpm

----结束

8.2.3 MySQL 安装步骤1 进入工具目录。

cd /home/tsdbtool

步骤2 执行install命令。

sh tsdbtool.sh install dbtype=mysql conf=mysqlconf.csv sourcedir=mysql-boost-8.0.17.tar.gz

如果是RPM包安装(RPM编译过程见2.6 MySQL RPM包编译),把sourcedir改为rpmdir,源码包名改为RPM包的名字,例如:

sh tsdbtool.sh install dbtype=mysql conf=mysqlconf.csvrpmdir=mysql-8.0.17-1.el7.aarch64.rpm

鲲鹏数据库解决方案安装指南 8 鲲鹏数据库解决方案 自动化部署工具 用户指南

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 90

Page 97: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

----结束

注意

1.数据库安装完毕即为启动状态,不用再次重复启动。

2.数据库配置文件路径为:/usr/local/mysql/my.cnf

8.2.4 MySQL 的启动、登录、关闭● 启动MySQL:

a. 执行命令:/usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/my.cnf,然后按回车。

b. 执行命令:ps -ef | grep mysql,确认是否启动(如下图所示,则为正常)。

● 登录MySQL:执行命令:/usr/local/mysql/bin/mysql -uroot -p123456 -S /data/mysql/run/mysql.sock,登录数据库。

● 关闭MySQL:执行命令:/usr/local/mysql/bin/mysqladmin shutdown -uroot -p123456 -S /data/mysql/run/mysql.sock,关闭数据库。

鲲鹏数据库解决方案安装指南 8 鲲鹏数据库解决方案 自动化部署工具 用户指南

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 91

Page 98: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

8.2.5 MySQL 卸载步骤1 进入工具目录。

cd /home/tsdbtool

步骤2 执行uninstall命令。

sh tsdbtool.sh uninstall dbtype=mysql conf=mysqlconf.csv

然后根据提示输入yes完成卸载。

注意

卸载数据库会强制关闭数据库并删除所有相关的数据目录文件、软件目录文件,请谨慎操作。

----结束

8.2.6 MySQL RPM 包编译

注意

如果采用源码包安装方式安装,则跳过此节。

步骤1 进入工具目录。

cd /home/tsdbtool

步骤2 配置文件中的complie_flag设置为1,参考8.2.2 MySQL安装前检查完成检查。

步骤3 执行compile命令。

sh tsdbtool.sh compile dbtype=mysql conf=mysqlconf.csv sourcedir=mysql-boost-8.0.17.tar.gz

鲲鹏数据库解决方案安装指南 8 鲲鹏数据库解决方案 自动化部署工具 用户指南

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 92

Page 99: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

正常过程的日志输出在/tmp/rpm.log中,命令完成后,会在tsdbtool目录下生成mysql的rpm。

----结束

8.3 PostgreSQL 自动化部署操作指导

8.3.1 准备工作● 已获取自动化工具包,并上传到服务器完成解压,得到完整的软件文件夹

tsdbtool。● 已下载依赖:gcc-7.3.0、cmake-3.5.2的源码包,放到tsdbtool文件夹下的

postgresqlDep文件夹中,下载地址见表8-5。● 已获取待安装软件的源码包或者RPM包,并上传到自动化工具tsdbtool目录下。

● 根据实际环境,完成安装配置文件postgresqlconf.csv的修改。

配置文件postgresqlconf.csv参数说明如表8-4所示。

表 8-4 配置文件 postgresqlconf.csv 参数说明

参数 说明

isopath OS镜像的路径,需提前上传到服务器的操作系统中,用于安装一些依赖包。

db_password PostgreSQL的密码,工具会使用该字段来设置数据库的密码。

host 被安装服务器。如果是本机安装,请输入localhost。如果需要远程安装到其他服务器,请输入其他服务器的IP地址。

os_root_user 被安装服务器OS的root用户名。

os_root_password

被安装服务器OS的root密码。

version Postgresql安装的版本。

compile_flag 用于检查过程的判断,RPM包编译前的检查请设置为1,否则设置为0。执行编译过程,检查项少。

prefixdir 软件从源码编译后安装到该目录,绝对路径值,需存在于OS中,rpm包安装此参数无效,不使用。

datadirwaldirshared_buffers

PostgreSQL的数据目录,绝对路径值,需存在于OS中。

PostgreSQL的日志目录,绝对路径值,需存在于OS中。

PostgreSQL的shared_buffers。

鲲鹏数据库解决方案安装指南 8 鲲鹏数据库解决方案 自动化部署工具 用户指南

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 93

Page 100: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

表 8-5 依赖包下载地址

依赖包软件名 下载地址

gcc-7.3.0 https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz

cmake-3.5.2 https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz

本文以PostgreSQL 11.3的check、install、uninstall为例进行说明。已完成的准备工作包括:

● 已获取工具包并上传至服务器,然后解压到/home目录得到/home/tsdbtool目录。

● 已上传postgresql-11.3.tar.gz源码或者RPM包到/home/tsdbtool。● 已下载依赖:gcc-7.3.0、cmake-3.5.2的源码包,放到tsdbtool文件夹下的

postgresqlDep文件夹中,下载地址见表8-5。● 已完成postgresqlconf.csv的修改,并且确认系统中存在或者创建datadir,

waldir,prefixdir(RPM包安装此参数无效,不使用)。本例中,postgresqlconf.csv文件内容如下:parm,values[install-conf],isopath,/root/CentOS-7-aarch64-Everything-1810.isodb_password,123456host,localhostos_root_user,rootos_root_password,Admin@123version,11.3compile_flag,1[pg-conf],prefixdir,/usr/local/pgsqldatadir,/data/pgsql/datawaldir,/data/pgsql/logshared_buffers,5GB

8.3.2 PostgreSQL 安装前检查步骤1 进入工具目录。

cd /home/tsdbtool

步骤2 执行check命令。

sh tsdbtool.sh check dbtype=postgresql conf=postgresqlconf.csvsourcedir=postgresql-11.3.tar.gz

● 如果输出没有出现failed,说明环境正常,可以执行install操作,如果出现failed,请根据输出的相关的提示进行修改,然后再执行check命令。

● 如果是RPM包安装(RPM编译过程见3.6 PostgresSQL RPM包编译),需把sourcedir改为rpmdir,源码包名改为RPM包的名字,例如:

sh tsdbtool.sh check dbtype=postgresql conf=postgresqlconf.csvrpmdir=postgresql-11.3-1.el7.aarch64.rpm

鲲鹏数据库解决方案安装指南 8 鲲鹏数据库解决方案 自动化部署工具 用户指南

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 94

Page 101: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

----结束

8.3.3 PostgreSQL 安装

步骤1 进入工具目录。

cd /home/tsdbtool

步骤2 执行install命令。

sh tsdbtool.sh install dbtype=postgresql conf=postgresqlconf.csvsourcedir=postgresql-11.3.tar.gz

如果是RPM包安装(RPM编译过程见3.6 PostgresSQL RPM包编译)。需把sourcedir改为rpmdir,源码包名改为RPM包的名字,例如:

sh tsdbtool.sh install dbtype=postgresql conf=postgresqlconf.csvrpmdir=postgresql-11.3-1.el7.aarch64.rpm

----结束

鲲鹏数据库解决方案安装指南 8 鲲鹏数据库解决方案 自动化部署工具 用户指南

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 95

Page 102: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

注意

1.数据库安装完毕即为启动状态,不用再次重复启动。

8.3.4 PostgresSQL 启动、登录、关闭

● 启动数据库

a. 切换到postgres用户。

su - postgres

b. 启动数据库。

/usr/local/pgsql/bin/pg_ctl -D /data/pgsql/data/ -l logfile start

c. 查看数据库进程,确认是否启动(如下图所示,则启动成功)。

● 登录数据库

a. 切换到postgres用户。

su - postgres

b. 登录数据库。

/usr/local/pgsql/bin/psql -U postgres

● 关闭数据库

a. 切换到postgres用户。

su - postgresb. 关闭数据库。

/usr/local/pgsql/bin/pg_ctl -D /data/pgsql/data/ -l logfile stop

8.3.5 PostgreSQL 卸载

步骤1 进入工具目录。

cd /home/tsdbtool

鲲鹏数据库解决方案安装指南 8 鲲鹏数据库解决方案 自动化部署工具 用户指南

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 96

Page 103: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

步骤2 执行uninstall命令。

sh tsdbtool.sh uninstall dbtype=postgresql conf=postgresqlconf.csv

然后根据提示输入yes完成卸载。

注意

卸载数据库会强制关闭数据库并删除所有相关的数据目录文件、软件目录文件,请谨慎操作。

----结束

8.3.6 PostgreSQL RPM 包编译

注意

如果采用源码包安装,可以跳过此小节。

步骤1 进入工具目录。

cd /home/tsdbtool

步骤2 配置文件中的complie_flag设置为1,参考8.3.2 PostgreSQL安装前检查完成检查。

步骤3 执行compile命令。

sh tsdbtool.sh compile dbtype=postgresql conf=postgresqlconf.csvsourcedir=postgresql-11.3.tar.gz

正常过程的日志输出在/tmp/rpm.log中,命令完成后,会在tsdbtool目录下生成postgresql的rpm。

----结束

鲲鹏数据库解决方案安装指南 8 鲲鹏数据库解决方案 自动化部署工具 用户指南

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 97

Page 104: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

8.4 MongoDB 自动化部署操作指导

8.4.1 准备工作

● 已获取自动化工具包,并上传到服务器完成解压,得到完整的软件文件夹tsdbtool。

● 已下载依赖:gcc-7.3.0、cmake-3.5.2、cython、pyyaml、typing、cheetah3的源码包,放到tsdbtool文件夹下的mongodbDep文件夹中,下载地址见表8-7。

● 已获取待安装软件的源码包或者RPM包,并上传到自动化工具tsdbtool目录下。

● 根据实际环境,完成安装配置文件mongoconf.csv的修改。

配置文件mongodbconf.csv参数说明如表8-6所示。

表 8-6 配置文件 postgresqlconf.csv 参数说明

参数 说明

isopath OS镜像的路径,需提前上传到服务器的操作系统中,用于安装一些依赖包。

prefixdir 软件从源码编译后安装到该目录,绝对路径值,需存在于OS中,RPM包安装此参数无效,不使用。

os_root_user 被安装服务器OS的root用户名。

os_root_password

被安装服务器OS的root密码。

version Mongo的版本

compile_flag 用于检查过程的判断,RPM包编译前的检查请设置为1,否则设置为0。执行编译过程,检查项少。

config_server MongoDB集群中config server的IP地址,多个IP地址以分号隔开。

config_server_num

config server的数目,用于校验。

config_db_prefix_dir

config db目录的前缀,会在该目录下建立config db的data和log目录。

config_db_port config db使用的端口号。

router_server MongoDB集群中router server的IP地址,多个IP地址以分号隔开。

router_server_num

router server的数目,用于校验。

router_db_prefix_dir

router db目录的前缀,会在该目录下建立router db的data和log目录。

鲲鹏数据库解决方案安装指南 8 鲲鹏数据库解决方案 自动化部署工具 用户指南

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 98

Page 105: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

参数 说明

router_db_port router db使用的端口号。

shard_server MongoDB集群中shard server的IP地址,多个IP地址以分号隔开。

shard_server_num

shard server的数目,用于校验。

shard_db_prefix_dir

分片数据库使用的目录,多个以分号隔开,目录可相同。根据分片的数量和目录顺序,在第一个目录下建立datashard1logshard1分别存放分片1的数据和日志。在第二个目录下建立datashard2 logshard2分别存放分片2的数据和日志。

shard_db_port 分片数据库使用的端口号,多个端口号以分号隔开。

shard_numreplica_numwiredTigerCacheSizeGB

MongoDB集群中的分片数。

MongoDB集群中副本数。

每一个分片shard库使用的内存。

表 8-7 依赖包下载地址

软件包名 下载地址

gcc-7.3.0 https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz

cmake-3.5.2 https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz

Cython(zip格式)

https://github.com/cython/cython/archive/0.29.12.zip

Pyyaaml(zip格式)

https://github.com/yaml/pyyaml/archive/3.11.zip

Typing(zip格式)

https://github.com/python/typing/archive/3.6.1.zip

Cheetah3(zip格式)

https://github.com/CheetahTemplate3/cheetah3/archive/3.0.0.zip

举例:MongoDB集群(4台server,4分片,3副本)规划举例如表8-8所示。

表 8-8 MongoDB 集群规划举例

DB类型 Port Server1 Server2 Server3 Server4 prefixdir

Router 1801 √ √ √ - /mg/router

鲲鹏数据库解决方案安装指南 8 鲲鹏数据库解决方案 自动化部署工具 用户指南

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 99

Page 106: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

DB类型 Port Server1 Server2 Server3 Server4 prefixdir

Config 1802 - √ √ √ /mg/config

Shard1 1803 √ √ √ - /mg/shard1

Shard2 1804 - √ √ √ /mg/shard2

Shard3 1805 √ - √ √ /mg/shard3

Shard4 1806 √ √ - √ /mg/shard4

工具会根据server的数目、分片数、副本数目,依次选择不同server分组来给不同的shard分片。例如:3副本的分片1选择server1、server2、server3;分片2选择server2、server3、server4;分片3选择server3、server4、server1;分片4选择server4、server1、server2。

mongodbconf.csv的关键配置如表8-9所示。

表 8-9 mongodbconf.csv 的关键配置

分类 参数 值

Config配置 config_server server2-ip;server3-ip;server4-ip

config_server_num 3

config_db_prefix_dir /mg/config

config_db_port 1802

Router配置 router_server server1-ip;server2-ip;server3-ip

router_server_num 3

router_db_prefix_dir /mg/router

router_db_port 1801

Shard配置 shard_server server1-ip;server2-ip;server3-ip;server4-ip

shard_server_num 4

shard_db_prefix_dir /mg/shard1;/mg/shard2;/mg/shard3;/mg/shard4

shard_db_port 1803;1804;1805;1806

shard_num 4

鲲鹏数据库解决方案安装指南 8 鲲鹏数据库解决方案 自动化部署工具 用户指南

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 100

Page 107: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

分类 参数 值

replica_num 4

本文以MongoDB 4.0.12的check、install、uninstall为例进行说明。已完成的准备工作如下:

● 已获取工具包并上传至服务器,然后解压到/home目录得到/home/tsdbtool目录。

● 已上传mongo-r4.0.12.tar.gz源码包或者RPM包到/home/tsdbtool。

● 已下载依赖:gcc-7.3.0、cmake-3.5.2、cython、pyyaml、typing、cheetah3的源码包,放到tsdbtool文件夹下的mongodbDep文件夹中。

● 已完成mongodbconf.csv的修改,prefixdir目录已经创建(RPM包安装此参数无效,不使用)。

8.4.2 MongoDB 安装前检查

步骤1 进入工具目录。

cd /home/tsdbtool

步骤2 执行check命令。

sh tsdbtool.sh check dbtype=mongodb conf=mongodbconf.csvsourcedir=mongo-r4.0.12.tar.gz

● 如果 后输出了mongodb env check success,说明环境正常,可以执行install操作,如果出现failed,请根据输出的相关的提示进行修改,然后再执行check命令。在执行过程中会有等待命令自动输入的短暂停顿。

● 如果是RPM包安装,需把sourcedir改为rpmdir,源码包名改为RPM包的名字,例如:

sh tsdbtool.sh check dbtype=mongodb conf=mongodbconf.csvrpmdir=mongo-4.0.12-1.el7.aarch64.rpm

鲲鹏数据库解决方案安装指南 8 鲲鹏数据库解决方案 自动化部署工具 用户指南

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 101

Page 108: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

----结束

8.4.3 MongoDB 安装步骤1 进入工具目录。

cd /home/tsdbtool

步骤2 执行install命令。

sh tsdbtool.sh install dbtype=mongodb conf=mongodbconf.csvsourcedir=mongo-r4.0.12.tar.gz

如果是RPM包安装,需把sourcedir改为rpmdir,源码包名改为RPM包的名字,例如:

sh tsdbtool.sh install dbtype=mongodb conf=mongodbconf.csvrpmdir=mongo-4.0.12-1.el7.aarch64.rpm

鲲鹏数据库解决方案安装指南 8 鲲鹏数据库解决方案 自动化部署工具 用户指南

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 102

Page 109: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

----结束

8.4.4 MongoDB 卸载

步骤1 进入工具目录。

cd /home/tsdbtool

步骤2 执行uninstall命令。

sh tsdbtool.sh uninstall dbtype=mongodb conf=mongodbconf.csv

然后根据提示输入yes完成卸载。

注意

卸载数据库会强制关闭数据库并删除MongoDB集群中所有相关的数据目录文件、软件目录文件,请谨慎操作。

----结束

鲲鹏数据库解决方案安装指南 8 鲲鹏数据库解决方案 自动化部署工具 用户指南

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 103

Page 110: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

8.4.5 MongoDB RPM 包编译

步骤1 进入工具目录。

cd /home/tsdbtool

步骤2 配置文件中的complie_flag设置为1,参考8.4.2 MongoDB安装前检查完成检查。

步骤3 执行compile命令。

sh tsdbtool.sh compile dbtype=mongodb conf=mongodbconf.csvsourcedir=mongo-r4.0.12.tar.gz

正常过程的日志输出在/tmp/rpm.log中,命令完成后,会在tsdbtool目录下生成mongo的rpm。

----结束

8.5 Greenplum 自动化部署操作指导

8.5.1 准备工作

● 已获取自动化工具包,并上传到服务器集群中的master节点中完成解压,得到完整的软件文件夹tsdbtool。

● 已下载依赖:setuptool、cmake-3.5.2、psutil、pbr、lockfile、pycparser、cffi、bcrypt、six、PyNacl、cryptography、ipaddress、enum3、paramiko、zstd-dev、Xerces、re2c、gporca的源码包,放到tsdbtool文件夹下的greenplumDep文件夹中,下载地址见表8-11。

● 已获取待安装软件的源码包或者RPM包,并上传到自动化工具tsdbtool目录。

● 每一台服务器都设置了不同的hostname。

● 根据实际环境,完成安装配置文件greenplumconf.csv的修改。

鲲鹏数据库解决方案安装指南 8 鲲鹏数据库解决方案 自动化部署工具 用户指南

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 104

Page 111: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

配置文件greenplumconf.csv参数说明如表8-10所示。

表 8-10 配置文件 greenplumconf.csv 参数说明

参数 说明

isopath OS镜像的路径,需提前上传到服务器的操作系统中,用于安装一些依赖包。

prefixdir 软件从源码编译后安装到该目录,绝对路径值,需存在于OS中,RPM包安装此参数无效,不使用。

db_password Greenplum的密码,工具会使用该字段来设置数据库的密码。

os_root_user 被安装服务器OS的root用户名。

os_root_password 被安装服务器OS的root密码。

version Mongo的版本。

compile_flag 用于检查过程的判断,RPM包编译前的检查请设置为1,否则设置为0。执行编译过程,检查项少。

master_dir Master节点的目录,该值会作为Greenplum配置文件的MASTER_DIRECTORY值直接写入文件,需存在于OS中。

standby_server Standby节点的IP地址。

standby_dir Standby节点的目录,该目录值必须和master_dir保持一致,需存在于OS中。

seg_server Seg服务器的IP地址,多个seg服务器IP地址以分号隔开。

seg_server_num Seg服务器的数量,用于校验。

seg_data_dir Seg服务器的数据目录,多个数据目录以分号隔开。该值会作为Greenplum配置文件的DATA_DIRECTORY值直接写入文件,需存在于OS中。

seg_mirror_data_dirseg_dir_num

Seg服务器的数据镜像目录,多个目录以分号隔开。该值会作为Greenplum配置文件的MIRROR_DATA_DIRECTORY值直接写入文件。镜像目录数量需和数据目录个数相同,需存在于OS中。

Seg目录的数量,用于做校验。

表 8-11 软件包下载

软件包名 下载地址

setuptools https://github.com/pypa/setuptools

psutil https://pypi.org/project/psutil/#files

鲲鹏数据库解决方案安装指南 8 鲲鹏数据库解决方案 自动化部署工具 用户指南

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 105

Page 112: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

软件包名 下载地址

pbr https://pypi.org/project/pbr/#files

lockfile https://pypi.org/project/lockfile/#files

pycparser https://pypi.org/project/pycparser/#files

cffi https://pypi.org/project/cffi/#files

bcrypt https://pypi.org/project/bcrypt/#files

six https://pypi.org/project/six/#files

PyNaCl https://pypi.org/project/PyNaCl/#files

cryptography

https://pypi.org/project/cryptography/#files

ipaddress https://pypi.org/project/ipaddress/#files

enum34 https://pypi.org/project/enum34/#files

paramiko https://pypi.org/project/paramiko/#files

zstd-dev https://github.com/facebook/zstd

cmake3.5.2 https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz

Xerces https://github.com/greenplum-db/gp-xerces

re2c https://github.com/skvadrik/re2c

ninja https://github.com/ninja-build/ninja

gporca https://github.com/greenplum-db/gporca/archive/v3.74.0.zip

本文以Greenplum 5.22.0的check、install、uninstall为例进行说明。已完成的准备工作如下:

● 已获取工具包并上传至服务器master节点,然后解压到/home目录得到/home/tsdbtool目录。

● 已上传源码gpdb-5.22.0.tar.gz或者RPM包到/home/tsdbtool目录。

● 已下载依赖:setuptool、cmake-3.5.2、psutil、pbr、lockfile、pycparser、cffi、bcrypt、six、PyNacl、cryptography、ipaddress、enum3、paramiko、zstd-dev、Xerces、re2c、gporca的源码包,放到tsdbtool文件夹下的greenplumDep文件夹中。

● 已完成greenplumconf.csv的修改,其中prefixdir(RPM包安装此参数无效,不使用),standby_dir,seg_data_dir,seg_mirror_data_dir,master_dir文件目录已经创建或存在于OS中。

8.5.2 Greenplum 安装前检查步骤1 进入工具目录。

cd /home/tsdbtool

鲲鹏数据库解决方案安装指南 8 鲲鹏数据库解决方案 自动化部署工具 用户指南

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 106

Page 113: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

步骤2 执行check命令。

sh tsdbtool.sh check dbtype=greenplum conf=greenplumconf.csvsourcedir=gpdb-5.22.0.tar.gz

● 如果输出没有出现failed,说明环境正常,可以执行install操作,如果出现failed,请根据输出的相关的提示进行修改,然后再执行check命令。

● 如果是RPM包安装,需把sourcedir改为rpmdir,源码包名改为RPM包的名字,例如:

sh tsdbtool.sh check dbtype=greenplum conf=greenplumconf.csvrpmdir=gpdb-5.22.0-1.el7.aarch64.rpm

----结束

8.5.3 Greenplum 安装

步骤1 进入工具目录。

cd /home/tsdbtool

步骤2 执行install命令。

sh tsdbtool.sh install dbtype=greenplum conf=greenplumconf.csvsourcedir=gpdb-5.22.0.tar.gz

鲲鹏数据库解决方案安装指南 8 鲲鹏数据库解决方案 自动化部署工具 用户指南

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 107

Page 114: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

如果是RPM包安装,需把sourcedir改为rpmdir,源码包名改为RPM包的名字,例如:

sh tsdbtool.sh install dbtype=greenplum conf=greenplumconf.csvrpmdir=gpdb-5.22.0-1.el7.aarch64.rpm

----结束

8.5.4 Greenplum 卸载

步骤1 进入工具目录。

cd /home/tsdbtool

步骤2 执行uninstall命令。

sh tsdbtool.sh uninstall dbtype=greenplum conf=greenplumconf.csv

然后根据提示输入yes完成卸载。

注意

卸载数据库会强制关闭数据库并删除所有相关的数据目录文件、软件目录文件,请谨慎操作。

----结束

8.5.5 Greenplum RPM 包编译

步骤1 进入工具目录。

cd /home/tsdbtool

鲲鹏数据库解决方案安装指南 8 鲲鹏数据库解决方案 自动化部署工具 用户指南

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 108

Page 115: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

步骤2 配置文件中的complie_flag设置为1,参考5.2完成检查

步骤3 执行compile命令。

sh tsdbtool.sh compile dbtype=greenplum conf=greenplumconf.csvsourcedir=gpdb-5.22.0.tar.gz

正常过程的日志输出在/tmp/rpm.log中,命令完成后,会在tsdbtool目录下生成greenplum的rpm。

----结束

8.6 故障排除

8.6.1 安装失败后处理安装失败后,请检查原因,解决后,使用uninstall的方法先进行卸载,然后重新执行check命令,无error后继续执行install命令。

鲲鹏数据库解决方案安装指南 8 鲲鹏数据库解决方案 自动化部署工具 用户指南

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 109

Page 116: 安装指南...1 MySQL 5.7.27 安装指南(CentOS 7.6) 1.1 介绍 1.2 环境要求 1.3 配置安装环境 1.4 安装 1.5 运行 1.6 卸载 1.7 备份数据库 1.8 故障排除

A 修订记录

发布日期 修订记录

2020-06-20 第三次正式发布

《MySQL 8.0.17 安装指南(CentOS 7.6)》修改内容如下:

修改2.5 运行中的操作步骤。

2020-05-09 第二次正式发布

《MariaDB 10.3.8 安装指南(CentOS 7.6)》修改内容如下:

修改3.1 介绍中的MariaDB架构图。

《PostgreSQL 11.3 安装指南(CentOS 7.6)》修改内容如下:

修改6.1 介绍中的PostgreSQL架构图。

2020-03-20 第一次正式发布

鲲鹏数据库解决方案安装指南 A 修订记录

文档版本 02 (2020-05-09) 版权所有 © 华为技术有限公司 110