前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >连载 | 深入浅出理解云数据库,年薪百万DBA之路 · 第四回

连载 | 深入浅出理解云数据库,年薪百万DBA之路 · 第四回

作者头像
腾讯云数据库 TencentDB
发布2020-02-25 20:40:30
1.5K0
发布2020-02-25 20:40:30
举报

为帮助开发者更好的了解和运用数据库,腾讯云数据库团队特出品《深入浅出理解云数据库》系列文章,从数据库的基本概念到云数据库特性及应用,从数据库基础原理知识到腾讯云经典实战案例解读,带你走进云数据库的世界。关注“腾讯云数据库”微信公众号,开启2020年的DB修炼之旅。

第一回请点击:数据库的基本概念和云数据库特性

第二回请点击:云数据库的市场应用及基础原理知识

第三回请点击:云数据库产品特性及应用场景介绍

本章我们会详细介绍腾讯云MySQL的操作流程,如何在控制台创建、管理数据库,如何对腾讯云MySQL进行数据表备份和恢复,以及数据库的安全性实现。

1

PartⅠ 创建腾讯云MySQL数据库

图1

下面我们先介绍如何创建腾讯云MySQL数据库。

1.创建实例

1.1 登陆

登陆云数据库MySQL控制台,在左侧导航栏选择【实例列表】页签,点击【新建】

1.2 配置信息

根据实际需求,在创建实例页面配置各项信息,本页面也是购买页面,核对无误后点击【立即购买】,即可完成新建实例(注:购买完成后需要等待一定时间才可完成购买):

1.2.1 计费模式:支持包年包月和按量计费。

① 若业务量有较稳定的长期需求,建议选择包年包月。

② 若业务量有瞬间大幅波动场景,建议选择按量计费。

1.2.2 地域:选择业务需要部署 MySQL 的地域。不同地域的云产品内网不通,购买后不能更换。

1.2.3 主可用区和备可用区:建议选择主备机处于同一可用区,避免网络延迟问题。

1.2.4 网络:云数据库 MySQL 所属网络,缺省设置为“Default-VPC(默认)”。

1.2.5 安全组:安全组创建与管理请参见云数据库安全组。

1.2.6架构:提供基础版(基础版采用单个节点部署,价格低廉,性价比非常高)和高可用版(一主N从高可用架构,本地SSD存储,性能强劲,易用便捷。适用于大中型企业的生产数据库)。

1.2.7指定项目:选择数据库实例所属的项目,缺省设置为默认项目。

1.2.8购买数量:每个用户在每个可用区可购买按量计费实例的总数量为10个。

2.初始化实例
2.1在MySQL列表中点击实例初始化

图2

2.2 配置参数

在弹出的对话框配置相关参数,点击确认大约等待50s后完成初始化。

2.2.1 支持字符集:支持 LATIN1 、GBK、UTF8、UTF8MB4字符集,默认字符集编码格式是LATIN1,即 ISO-8859-1 编码格式。初始化实例后,亦可在控制台实例详情页修改字符集。

2.2.2 表名大小写敏感:表名是否大小写敏感,默认为是。

2.2.3 自定义端口:数据库的访问端口,默认为3306。

2.2.4 设置root帐号密码:新创建的MySQL 数据库的用户名默认为 root,此处用来设置该root 帐号的密码。

2.2.5 确认密码:再次输入密码。

图3

返回sql列表中,当我们看到实例【状态】为【运行中】即完成了实例创建。创建完了实例后,我们来看一下如何访问已建好的MySQL。

访问数据库有两种方式:

1)内网访问:使用云服务器CVM 访问自动分配给云数据库的内网地址,这种访问方式使用内网高速网络,延迟低。CVM和数据库须是同一账号,且同一个VPC 内(保障同一个地域),或同在基础网络内。

2)外网访问:通过外网地址访问云数据库MySQL。外网访问需要开启数据库实例的外网地址,此操作会使用户的数据库服务暴露在公网上,可能导致数据库被入侵或攻击。建议用户使用内网访问的方式来登录数据库。

访问数据库之前一定要确保cvm和数据库的网络是一致的,用户可在数据库管理后台将MySQL添加到相关服务器下,检测是否可以走通。

图4

3.从Windows系统的CVM访问
3.1 登陆到Windows系统的CVM
3.2 下载客户端
下载一个标准的SQL客户端,下载地址:https://dev.mysql.com/downloads/workbench/

图5

3.3 界面将提示【Login】、【SignUp】和【No,thanks, just start my download.】,选择【Nothanks, just start my download.】来快速下载。

图6

3.4 在此台 CVM 上安装MySQL Workbench

3.4.1 此电脑上需要安装 Microsoft .NETFramework 4.5 和 Visual C++ Redistributable forVisual Studio 2015。

3.4.2 您可以单击 MySQL Workbench安装向导中的【DownloadPrerequisites】,跳转至对应页面下载并安装这两个软件,然后安装MySQL Workbench。

图7

3.5 登录

打开 MySQL Workbench,选择【Database】>【Connectto Database】,输入 MySQL 数据库实例的内网(或外网)地址和用户名、密码,单击【OK】进行登录。

3.5.1 Hostname:输入内网(或外网)地址。在MySQL 控制台的实例详情页可查看内网(或外网)地址和端口号。若为外网地址,请确认是否已开启。

3.5.2 Port:内网(或外网)对应端口。

3.5.3 Username:默认为root,外网访问时建议用户单独创建帐号便于访问控制管理。

3.5.4 Password:Username对应的密码。

图8

3.6 操作

登录成功的页面如图所示,在此页面上用户可以看到MySQL 数据库的各种模式和对象,您可以开始创建表,进行数据插入和查询等操作。

图9

4. 从linux系统的cvm访问

4.1 登陆到linux系统的CVM

4.2 安装mysql

在Ubuntu中,默认情况下,只有最新版本的MySQL包含在APT软件包存储库中,要安装它,只需更新服务器上的包索引并安装默认包apt-get。命令行:

4.2.1 apt install mysql-server

4.2.2 安装完成后可以使用如下命令来检查是否安装成功

4.2.3 netstat -tap | grep mysql

4.2.4 通过上述命令检查之后,如果看到有mysql的socket处于LISTEN状态则表示安装成功

4.3 根据不同访问方式,对数据库进行访问

4.3.1 内网访问:

① 执行如下命令登录到 MySQL 数据库实例。

mysql -h hostname -u username -p

hostname:替换为目标 MySQL 数据库实例的内网地址,在 MySQL 控制台的实例详情页可查看内网地址。

username:替换为默认的用户名 root。

② 按照说明输入密码,连接成功提示如图5-14

图10

4.3.2 外网访问:

① 执行如下命令登录到 MySQL 数据库实例。

mysql -h hostname -P port -u username -p

hostname:替换为目标 MySQL 数据库实例的外网地址,在 MySQL 控制台的实例详情页可查看外网地址和端口号。

port:替换为外网端口号。

username:替换为外网访问用户名,用于外网访问,建议用户单独创建帐号便于访问控制管理。

② 在提示Enter password:后输入外网访问用户名对应的密码。

4.4 在MySQL\[(none)]>提示符下可以发送 SQL 语句到要执行的 MySQL 服务器

ParterⅡ 管理腾讯云MySQL数据库

图11

点击数据库列表里的【管理】按钮,可以进入到数据库的管理页面,如上图5-15腾讯云控制台提供了实例详情、实例监控、数据库管理、安全组等多项可视化管理页面,下面让我们来逐一对上述功能做一个介绍。

1. 实例详情

在【实例详情】页面,用户可以查看和操作数据库的各种信息,如下图所示,可以对实例基本信息进行修改

2. 实例监控

在【实例监控】页面,用户可以查看当前数据库运行的众多核心指标的监控,分为访问、负载、查询缓存、表、InnoDB、MyISAM 等维度的监控。

图12

3. 数据库管理
3.1 数据库列表

在【数据库管理】>【数据库列表】页面,用户可以将 SQL 文件导入到指定的数据库。

3.1.1 单击【数据导入】进入数据导入页面。

3.1.2 单击【新增文件】,选择本地 SQL 文件,确认上传即可,上传后的数据库会暂存到管理控制台,短时间内再次导入的时候无需再本地上传。

3.2  参数设置

在【数据库管理】>【参数设置】页面,用户可以对数据库的众多可修改参数进行设置和查看修改历史,并可以对【参数运行值】进行修改,这些参数是指MySQL配置的默认参数,腾讯云在官方参数进行了优化为用户提供默认参数.

3.3 帐号管理

在【数据库管理】>【帐号管理】页面,用户可以对系统默认的 root 帐户进行管理,如修改权限,重置密码等,也可以创建帐号,删除帐号,并对各个账号进行权限管理。

4. 安全组

在【安全组】页面,用户可以对用户的数据库进行安全组的配置操作

5. 备份恢复

在【备份恢复】页面,用户可以进行下载 binlog 和冷备操作,用户可以直接点击【回档】、【手动备份】、【自动备份设置】来对数据库进行个性化恢复操作。

6. 操作日志

在【操作日志】页面,用户可以查看和下载慢查询日志、错误日志、回档日志。

7. 只读实例

在【只读实例】页面,用户可以创建一个或多个只读实例,以支持用户的读写分离和一主多从应用场景,可显著提高用户数据库的读负载能力

8. 连接检查

在【连接检查】页面,用户可以检测云数据库可能存在的连接访问问题,并根据提供的解决方法处理访问问题,以确保用户的云数据库能够正常访问。

ParterⅢ 腾讯云MySQL数据库的备份与恢复

腾讯云数据库MySQL支持自动备份和手动备份两种备份方式。从备份类型上来看,可以分为两种一种是物理备份,即物理数据全拷贝;一种是逻辑备份,即SQL语句的备份。除逻辑备份只支持手动备份外,物理备份自动备份和手动备份均可。下面我们来看一下这两种备份类型对比:

物理备份

逻辑备份

备份速度

需要执行sql和构建索引,速度较慢,备份过程中对实例造成压力,会加大主从延迟

备份成功率

由于各种问题(错误视图等),可能导致备份失败

可操作性

较为简单

需要执行sql和构建索引,相对复杂

对比来看,物理备份是更优的选择,下面我们来分别讲一下如何自动备份和手动备份MySQL数据:

1. 自动备份
1.1在MySQL列表中,点击管理,进入数据库管理页面,选择【备份恢复】>【自动备份设置】

图13

1.2 在弹出框中配置各项参数,点击【确定】即可完成备份:

1.2.1 备份周期:一般情况下,一周至少备份两次

1.2.2 备份时间:可自定义设置备份时间区间

1.2.3 数据备份保留时间:数据备份文件可以保留7天- 732天,默认为7天。

1.2.4 日志备份保留时间:日志备份文件可以保留7天- 732天,默认为7天。日志备份天数必须小于等于数据备份天数。

图14

2. 手动备份MySQL数据
2.1 在MySQL列表中,点击管理,进入数据库管理页面,选择【备份恢复】> 【自动备份设置】。
2.2 在弹出的备份设置对话框,选择备份方式和对象,单击【确定】即可完成手动备份。

图15

腾讯云数据库管理平台还提供了备份空间管理功能,你可以在概览页上对备份总计、备份趋势、备份统计进行查看,方便你随时随地监控自己的备份空间。

图16

数据备份好之后,让我们来一起看一下如何使用备份文件恢复数据库,上面我们提到备份有逻辑备份和物理备份两种,同样的这两种的恢复方式也不一样。

3. 用物理备份恢复数据

3.1 下载备份文件
3.1.1 通过管理台手动下载:登陆MySQL控制台,在实例管理页选择【备份恢复】>【数据备份列表】页,选择需要下载的备份,在操作列单击【下载】
3.1.2 通过wget命令进行下载:

wget-c '备份文件下载地址'-O 自定义文件名.xb

图17

3.2 解包备份文件

3.2.1 使用 xbstream 命令将备份文件解包到目标目录。

3.2.2  xbstream -x -C/data < ~/test.xb

① 本文目标目录以/data为例,您可根据实际情况替换为实际路径。

② ~/test.xb替换为您的备份文件。

解包结果如下图所示:

图18

3.3 解压备份文件

3.3.1 下载qpress工具(解压工具)

3.3.2 wget http://www.quicklz.com/qpress-11-linux-x64.tar

3.3.3 解压qpress二进制文件

3.3.4 tar -xfqpress-11-linux-x64.tar -C /usr/local/bin

3.3.5 source/etc/profile

3.3.6 将目标目录下所有以.qp结尾的文件都解压出来

3.3.7 xtrabackup --decompress --target-dir=/data

图19

3.4 prepare备份文件

备份解压出来之后,需要进行applylog操作:xtrabackup--prepare --target-dir=/data

图20

3.5 修改配置文件

3.5.1 打开backup-my.cnf文件

3.5.2 vi/data/backup-my.cnf

3.5.3 由于存在的版本问题,请将解压文件backup-my.cnf中如下参数进行注释

① innodb_checksum_algorithm

② innodb_log_checksum_algorithm

③ innodb_fast_checksum

④ innodb_page_size

⑤ innodb_log_block_size

⑥ redo_log_version

图21

3.6 修改文件属性

修改文件属性,并检查文件所属为mysql 用户。命令:chown -Rmysql:mysql /data

图22

3.7启动mysqld进程并登陆验证

3.7.1 启动mysqld进程:mysqld_safe--defaults-file=/data/backup-my.cnf --user=mysql --datadir=/data &

3.7.2 客户端登陆mysql验证

3.7.3 mysql  -uroot

图23

4. 用逻辑备份恢复数据库

前提条件:需要使用XtraBackup工具。

4.1 下载备份文件

4.1.1 登录云数据库 MySQL 控制台,在实例列表中,单击实例名或操作列的【管理】,进入实例管理页面。

4.1.2 在实例管理页,选择【备份恢复】>【数据备份列表】页,选择需要下载的备份,在操作列单击【下载】。

4.1.3 在弹出的对话框,推荐您复制下载地址,并登录到云数据库所在VPC 下的CVM(Linux系统)中,运用wget 命令进行内网高速下载,更高效:wget-c'https://mysql-database-backup-bj-118.cos.ap-beijing.myqcloud.com/12427%2Fmysql%2F42d-11ea-b887-6c0b82b%2Fdata%2Fautomatic-delete%2F2019-11-28%2Fautomatic%2Fxtrabackup%2Fbk_204_10385%2Fcdb-1pe7bexs_backup_20191128044644.xb?sign=q-sign-algorithm%3Dsha1%26q-ak%3D1%26q-sign-time%3D1574269%3B1575417469%26q-key-time%3D1575374269%3B1517469%26q-header-list%3D%26q-url-param-list%3D%26q-signature%3Dfb8fad13c4ed&response-content-disposition=attachment%3Bfilename%3D%2141731_backup_20191128044644.xb%22&response-content-type=application%2Foctet-stream'-O test0.xb

4.2 解包备份文件

4.2.1使用 xbstream 解包备份文件。

① xbstream-x < test0.xb

解包结果如下所示:

图24

4.3 解压备份文件

4.3.1 通过如下命令下载 qpress 工具。

4.3.2 wget http://www.quicklz.com/qpress-11-linux-x64.tar

4.3.3 通过如下命令解出 qpress 二进制文件。

4.3.4 tar -xfqpress-11-linux-x64.tar -C /usr/local/bin

4.3.5 source/etc/profile

4.3.6 使用 qpress 解压备份文件。

① qpress-d cdb-jp0zua5k_backup_20191202182218.sql.qp .

解压结果如下所示:

图25

4.4 导入数据库

4.4.1 执行如下命令导入到数据库:

mysql-uroot -P3306 -h127.0.0.1 -p < cdb-jp0zua5k_backup_20191202182218.sql。

扫描下方二维码关注“腾讯云数据库”,第五回即将开启;回复“迪B课堂”获得腾讯云高级产品经理原创数据库实战视频教程。

特惠体验云数据库 

↓↓更多惊喜优惠请点这儿~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯云数据库 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第二回请点击:云数据库的市场应用及基础原理知识
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档