当前位置: 首页 > news >正文

MySQL 几种导数据的方法与遇到的问题

零、说在前面

        MySQL导数据通常使用第三方工具和MySQL自身的工具,本文分别就这两类方法分别介绍。

一、第三方工具之 Navicat

1.1、Navicat的“数据传输”工具

        打开Navicat,点击“工具”标签,找到“数据传输”,即可看到操作界面。这里不对这个工具本身做过多介绍,侧重点在于工具中的一些配置选项的含义的介绍上。如下图所示

        上图的传输选项选择好之后,点击下一步,看到如下界面。然后根据需要选择传递哪些表或哪些对象。选好后点击“下一步”

        以传输单表举例。选中左侧的某个表,然后可以在右侧看到“高级”选项,这里重点说一下高级选项中的一些参数

二、MySQL自身工具之 mysqldump

2.1、使用方法

        linux 操作系统下,通常会使用mysqldump 这种基于数据的逻辑备份方式来导出数据,此方法在恢复数据阶段的速度不是很快,但胜在稳定而且备份的文件是基于数据的,所以能不受数据库引擎影响。

        导库命令格式为 "mysqldump -u登录名 -p 库名  > 路径 文件名";导表与导库方式的区别在于需要加上表名,命令格式为 "mysqldump -u登录名 -p 库名 表名 > 文件期望保存的路径 文件名",如下图所示

        上图中的导出数据的命令本身沒有什么可说的,只要命令正确就能导出成功。上图中有一点要说的就是我在导出命令前还加了一个 time 命令,目的是查看操作过程中的耗时情况。当导出操作成功后,会看到如上图下面三行所示的内容,其含义分别是 

real: 实际用时,即从命令开始到命令结束的总用时,包括所有进程执行和阻塞等待的时间
user: 用户进程的CPU用时
sys:  CPU内核中执行系统命令调用花费的时间

        当需要使用导出的文件进行数据恢复数据时的命令不再区分全库导入还是单表导入,命令都是 "mysql -u登录名 -p 库名 < 文件路径 文件名 ",成功之后会在库中看到最新的数据,如下图所示

2.2、加快dump导数据的速度

        如果MySQL打开了二进制日志,那么必然会影响写入速度,因此可以临时修改binlog的模式。

三、遇到的问题

3.1、磁盘空间

        我在使用mysqldump导入单表的数据时,发现很久很久都没有动静,其耗时远高于导出数据用时,通过排查发现原来是存储空间满了。解决方法见我的 VMWare虚拟机扩容并挂载磁盘,此处就不再赘述了。

3.2、字符集编码

       目前常用的MySQL版本多为5.7和8.0。其中5.7的编码默认为 latin1,而8.0及以后默认的utf-8编码是 utf8mb4。因此需要在互导数据之前确认一下源头与目标的字符集是否統一。同时建议新建数据库最好都使用 utf8mb4 编码。

http://www.lryc.cn/news/169754.html

相关文章:

  • (21)多线程实例应用:双色球(6红+1蓝)
  • 升级OpenSSL并进行编译安装
  • Spring整合RabbitMQ
  • MySQL——事务和视图
  • 做好制造项目管理的5个技巧
  • JavaScript中While循环
  • python经典百题之乒乓球比赛
  • 【C++ Exceptions】Catch exceptions by reference!
  • 高斯公式证明
  • 速卖通获得aliexpress商品详情 API 返回值说明
  • c++语法-模板
  • DMNet复现(一)之数据准备篇:Density map guided object detection in aerial image
  • k8s相关命令-命名空间
  • CG Magic分享同一场景里下,VR渲染器和CR渲染器哪个好?
  • Hive工作原理
  • vue 使用this.$set设置对象属性值时,不更新试图
  • uniapp视频播放功能
  • Java面向对象七大原则以及设计模式单例模式和工厂模式简单工厂模式
  • Linux 遍历目录(cd 命令)
  • 整合Nginx实现反向代理
  • Linux:IP转INT详解
  • 43.MQ—RabbitMQ
  • Leetcode154. 寻找旋转排序数组中的最小值(存在重复元素)
  • docker查看镜像的latest对应的具体版本
  • RabbitMQ深入 —— 死信队列
  • 【React + Umi】自定义离开页面拦截弹框事件
  • S1FD40A180H-ASEMI快恢复二极管S1FD40A180H
  • 网络编程 day1
  • 《深入PostgreSQL的存储引擎:原理与性能》
  • python开发之个微群聊机器人的开发