为帮助开发者更好的了解和运用数据库,腾讯云数据库团队特出品《深入浅出理解云数据库》系列文章,从数据库的基本概念到云数据库特性及应用,从数据库基础原理知识到腾讯云经典实战案例解读,带你走进云数据库的世界。关注“腾讯云数据库”微信公众号,开启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.myzijiebao.com/12427/mysql/42d-11ea-b887-6c0b82b/data/automatic-delete/2019-11-28/automatic/xtrabackup/bk_204_10385/cdb-1pe7bexs_backup_20191128044644.xb?sign=q-sign-algorithm=sha1&q-ak=1&q-sign-time=1574269;1575417469&q-key-time=1575374269;1517469&q-header-list=&q-url-param-list=&q-signature=fb8fad13c4ed&response-content-disposition=attachment;filename=!41731_backup_20191128044644.xb"&response-content-type=application/octet-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课堂”获得腾讯云高级产品经理原创数据库实战视频教程。
特惠体验云数据库
↓↓更多惊喜优惠请点这儿~