👨‍💼
Hamm Blog
个人主页GithubGitee
  • 🇨🇳Hi Welcome!
  • 📚分享文章
    • CentOS7
      • CentOS7安装Python3的方法
      • CentOS7搭建L2TP服务端一键脚本
      • CentOS7使用CertBot工具获取LetSencrypt泛域名HTTPS证书
    • Wechat
      • 微信公众号网页跳转避免出现导航栏的小技巧
      • 微信公众号php环境无法获取POST值
    • Git
      • GIT进行代码量统计和贡献统计
      • GIT删除仓库的历史提交记录脚本示例
    • HTTP
      • HTTP关于HEADER的详细解释
      • HTTP关于Code状态码的详细解释
      • HTTP协议对URI长度POST数据长度及COOKIE长度限制说明
    • JavaScript
      • 使用ElementUI配合API数据快速渲染合并表格
      • JavaScript调用语音合成Speech Synthesis API
      • JavaScript解析并遍历Excel示例代码
      • JavaScript下的RSA对称加密DEMO
    • MySQL
      • MySQL腾讯云数据库导出备份到本地服务器导入
      • MySQL设计与使用规范
      • MySQL在5.7及以上版本中的ONLY_FULL_GROUP_BY问题处理方案
      • MySQL字符串截取
    • PHP
      • PHP大文件视频上传WebUploader
      • PHP的坑XML转JSON
      • PHP多进程同时处理任务示例DEMO代码
      • PHP高精度计算常用代码
      • PHP获取上周、本周、上月、本月、本季度、上季度时间方法
      • PHP获取真实IP之IP代理 IP伪造 真实IP
      • PHP获取URL HTTP_HOST和SERVER_NAME
      • PHP简单实现QQ登录代码
      • PHP解密微信小程序手机号简单DEMO
      • PHP实现二叉查找树的简单代码实现
      • PHP实现微博登录简单代码
      • PHP实现Web方式发起一个超时任务的处理请求
      • PHP使用独占文件指针实现阻塞少量并发
      • PHP使用root权限执行系统命令和切换到www用户
      • PHP微信JSSDK开发DEMO
      • PHP下的RSA对称加解密 根证书自签与签发子证书
      • PHP下phpMyAdmin数据字典美化代码
      • PHP下RSA对称加密超长字符串分段加密DEMO
    • Nginx
      • Nginx反向代理中的Host参数传递遇到的坑
      • 利用Nginx实现Java后端在开发中的高可用
      • Nginx反向代理NodeJS实现WSS协议
      • Nginx负载均衡的lnmp环境初始化脚本
      • Nginx配置HTTPS与HTTP2.0
      • Nginx图片递归代理服务器DEMO
    • NodeJS
      • NodeJS控制台简单表格打印
      • NodeJS实现超级方便的Git自动发布Webhook
      • NodeJS实现串口通讯简单例程
      • NodeJS实现微信协议登录
      • NodeJS实现UDP数据报套接字通讯
      • NodeJS实现Websocket聊天室
      • NodeJS使用express模块无法收到phpCurl的值
      • NodeJS使用jimp和qrcode-reader识别解析二维码
      • NodeJS使用Request模块实现CURL
      • NodeJS一些冷门但实用的npm包
      • NodeJS转码amr到mp3
      • NWJS配置文件
    • Python
      • Python3实现Webhook
      • Python3使用jieba分词并生成WordCloud词云图
      • Python3使用Pool进程池实现多进程并发
      • Python3使用request进行CURL操作
      • Python3使用Selenium进行自动化测试手册
    • Linux
      • Linux 信号说明列表说明
      • Linux利用CronTab定时执行ThinkPHP命令行模式
  • 😍分享生活
    • 我有个锤子的生活
由 GitBook 提供支持
在本页
  1. 分享文章
  2. MySQL

MySQL腾讯云数据库导出备份到本地服务器导入

第一步 下载腾讯云xb的数据库文件

由于我操作环境是一台腾讯云的服务器,于是这里我采用直接内网下载的方式,如果你的服务器不在内网环境下,你可以直接下载然后采用scp或者ftp的方式上传到你的操作环境里。

wget http://sh.dl.cdb.tencentyun.com:33003/.....

第二步 安装相关的解压软件

由于腾讯云采用的是qpress对文件进行压缩,然后使用xbstream进行打包,这里我们安装相关的工具Xtrabackup:

我这里使用的是centos7,如果你是其他操作系统,请对应安装对应的版本。

wget http://www.percona.com/downloads/XtraBackup/XtraBackup-2.1.9/binary/Linux/x86_64/percona-xtrabackup-2.1.9-744-Linux-x86_64.tar.gz
#下载完成后,解压下载包,复制可执行文件到/usr/bin/下:

目录结构:

[root@VM_0_11_centos Ready]# cd percona-xtrabackup-2.1.9-Linux-x86_64/
[root@VM_0_11_centos percona-xtrabackup-2.1.9-Linux-x86_64]# ll
total 8
drwxr-xr-x 2 root root 4096 May  2  2014 bin
drwxr-xr-x 4 root root 4096 May  2  2014 share
[root@VM_0_11_centos percona-xtrabackup-2.1.9-Linux-x86_64]# ll
total 8
drwxr-xr-x 2 root root 4096 May  2  2014 bin
drwxr-xr-x 4 root root 4096 May  2  2014 share
[root@VM_0_11_centos percona-xtrabackup-2.1.9-Linux-x86_64]# cd bin/
[root@VM_0_11_centos bin]# ll
total 114072
-rwxr-xr-x 1 root root   168821 May  2  2014 innobackupex
lrwxrwxrwx 1 root root       12 May  2  2014 innobackupex-1.5.1 -> innobackupex
-rwxr-xr-x 1 root root  2226551 May  2  2014 xbcrypt
-rwxr-xr-x 1 root root  2300304 May  2  2014 xbstream
-rwxr-xr-x 1 root root 13178050 May  2  2014 xtrabackup
-rwxr-xr-x 1 root root 16598470 May  2  2014 xtrabackup_55
-rwxr-xr-x 1 root root 82321834 May  2  2014 xtrabackup_56

安装工具对应的版本

cp innobackupex-1.5.1 /usr/bin/innobackupex
# 我使用的是MySQL5.6,所以我复制这个,按你自己的版本进行复制。
cp xtrabackup_56 /usr/bin/xtrabackup
cp xbstream /usr/bin/xbstream

#安装QPRESS工具:http://www.quicklz.com/
#将下载后的压缩包放到服务器上,解压
tar -xf qpress-11-linux-x64.tar -C /usr/local/bin
source /etc/profile

第三步 解包xb文件到指定目录 (我这里用的/data目录) 好的,安装已经完成,接下来我们对第一步的xb文件进行解包:

xbstream -x -C /data < /Ready/backup.xb

解包完成后的目录

[root@VM_0_11_centos data]# ll /data
total 113872
-rw-r----- 1 root root       396 Aug 10 09:28 backup-my.cnf.qp
-rw-r----- 1 root root   6204557 Aug 10 09:27 ibdata1.qp
drwx------ 2 root root      4096 Aug 10 09:28 mysql
drwx------ 2 root root      4096 Aug 10 09:28 performance_schema
drwx------ 2 root root      4096 Aug 10 09:28 proxy
drwx------ 2 root root      4096 Aug 10 09:28 renqi_top
drwx------ 2 root root      4096 Aug 10 09:28 test
-rw-r----- 1 root root 110316370 Aug 10 09:27 undo001.qp
-rw-r----- 1 root root       200 Aug 10 09:28 xtrabackup_binlog_info.qp
-rw-r----- 1 root root       121 Aug 10 09:28 xtrabackup_checkpoints
-rw-r----- 1 root root       895 Aug 10 09:28 xtrabackup_info.qp
-rw-r----- 1 root root     36371 Aug 10 09:28 xtrabackup_logfile.qp
-rw-r----- 1 root root       232 Aug 10 09:28 xtrabackup_slave_info.qp
[root@VM_0_11_centos data]# 

第四步 将所有的qp文件进行解压

for f in `find ./ -iname "*\.qp"`; do qpress -dT2 $f  $(dirname $f) && rm -f $f; done

解压后的目录

[root@VM_0_11_centos data]# ll
total 331880
-rw-r--r-- 1 root root       419 Aug 10 09:38 backup-my.cnf
-rw-r--r-- 1 root root  79691776 Aug 10 09:38 ibdata1
drwx------ 2 root root      4096 Aug 10 09:38 mysql
drwx------ 2 root root      4096 Aug 10 09:39 performance_schema
drwx------ 2 root root      4096 Aug 10 09:39 proxy
drwx------ 2 root root      4096 Aug 10 09:39 renqi_top
drwx------ 2 root root      4096 Aug 10 09:39 test
-rw-r--r-- 1 root root 260046848 Aug 10 09:39 undo001
-rw-r--r-- 1 root root       117 Aug 10 09:38 xtrabackup_binlog_info
-rw-r----- 1 root root       121 Aug 10 09:28 xtrabackup_checkpoints
-rw-r--r-- 1 root root      1072 Aug 10 09:38 xtrabackup_info
-rw-r--r-- 1 root root     64512 Aug 10 09:38 xtrabackup_logfile
-rw-r--r-- 1 root root       156 Aug 10 09:38 xtrabackup_slave_info

检查解压后的文件目录是否正常:

xtrabackup --prepare  --target-dir=/data

第五步 修改默认配置文件 修改文件属性

由于存在的版本问题,请将解压文件 backup-my.cnf 中以下参数注释掉。

#innodb_checksum_algorithm
#innodb_log_checksum_algorithm
#innodb_fast_checksum
#innodb_page_size
#innodb_log_block_size
#redo_log_version

修改文件属性,并检查文件所属为 mysql 用户(请先安装mysql数据库,我这里安装的是lnmp.org提供的一键lnmp环境)。

chown -R mysql:mysql /data

第六步 启动MySQL并进行登录验证查看数据完整性

1 启动mysqld进程

mysqld_safe --defaults-file=/data/backup-my.cnf --user=mysql --datadir=/data &

2 客户端登录 mysql 验证

mysql-uroot
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| proxy              |
| renqi_top          |
| test               |
+--------------------+
6 rows in set (0.00 sec)

mysql> use proxy; show tables;
Database changed
+-----------------+
| Tables_in_proxy |
+-----------------+
| iplist          |
+-----------------+
1 row in set (0.00 sec)

mysql> select * from iplist limit 5;
+-----+-----------------+------+------------+------------+----------+
| id  | ip              | port | createtime | updatetime | isdelete |
+-----+-----------------+------+------------+------------+----------+
| 103 | 113.78.255.199  | 9000 | 1564728605 | 1564728678 |        0 |
| 104 | 121.15.254.156  |  888 | 1564728605 | 1564728678 |        0 |
| 105 | 121.69.37.6     | 9797 | 1564728605 | 1564728678 |        0 |
| 106 | 61.128.208.94   | 3128 | 1564728605 | 1564728678 |        0 |
| 107 | 113.247.252.116 | 3128 | 1564728605 | 1564728678 |        0 |
+-----+-----------------+------+------------+------------+----------+
5 rows in set (0.00 sec)

mysql> 

到此为止,数据导入到本地MySQL数据库已经完成,你可以使用其他工具连接到当前服务器的数据库,也可以使用phpMyAdmin等网页查看和管理这个数据库。

上一页MySQL下一页MySQL设计与使用规范
📚