如何使用DataGrip实现数据库整库迁移和多表以及单表数据迁移?


DataGrip 是Jetbrain 家族中和Navicat Premium 媲美的一款数据库管理工具。

1. 如何使用 DataGrip 实现数据库迁移?

这篇文章分享下如何使用 DataGrip 实现数据库迁移。

  1. 选中数据库,右键 选择Export With ‘mysqldump’ (低版本可能原来叫Dump With ‘mysqldump’ )
    在这里插入图片描述
  2. 然后点击Run即可。
    在这里插入图片描述
  • 如果执行出错,可考虑使用追加 --column-statistics=0 兼容MySQL 5语法。
  • 会默认在 /Users/${用户}目录下生成:xxx_database-2021_12_05_12_58_18-dump.sql
  • 如果找不到选中文件,可以右键
    在这里插入图片描述
  1. 数据库还原数据
  • 选择dev_db, 右键,导入刚才导出的xxx_database-2021_12_05_12_58_18-dump.sql
    在这里插入图片描述
  • 这里需要使用mysql命令,路径默认不正确的话需要手动指定修改。
    在这里插入图片描述

1.2 选项含义

选项含义
Path to mysqldumpmysql 安装目录bin目录下有一个叫做mysqldump.exe 或mysqldump 的可执行文件
Statements有两个选项 insert 或insert with columns
Databases当前选中的是哪个数据库右键,显示的就是哪个数据库
Tables当前选中的是多个表,就显示逗号分隔,如果选择的是数据库,则这里为空表示该数据库下所有表
其他选项一般默认即可
Out path导出建表语句和数据的SQL文件位置

1.3 示例

1.3.1 整个数据库迁移

Path to mysqldump 思路是导出来数据库建表语句和插入数据,然后执行SQL实现数据库迁移。

Path to mysqldump 详解

/usr/local/mysql/bin/mysqldump
  • 该路径是当前电脑安装MySQL的bin目录下的mysqldump 可执行文件。
  • windows下该文件名称叫做mysqldump.exe
  • Mac OSX 或Linux 叫做mysqldump
  • 如果控制台报错,请配置环境变量
    export PATH=$PATH:/usr/local/mysql/bin
  • 然后刷新下环境变量
    source /etc/profile

该文件路径示例如下:

./
|-- ibd2sdi
|-- innochecksum
|-- libprotobuf-lite.3.11.4.dylib -> ../lib/libprotobuf-lite.3.11.4.dylib
|-- libprotobuf.3.11.4.dylib -> ../lib/libprotobuf.3.11.4.dylib
|-- lz4_decompress
|-- my_print_defaults
|-- myisam_ftdump
|-- myisamchk
|-- myisamlog
|-- myisampack
|-- mysql
|-- mysql_config
|-- mysql_config_editor
|-- mysql_migrate_keyring
|-- mysql_secure_installation
|-- mysql_ssl_rsa_setup
|-- mysql_tzinfo_to_sql
|-- mysql_upgrade
|-- mysqladmin
|-- mysqlbinlog
|-- mysqlcheck
|-- mysqld
|-- mysqld-debug
|-- mysqld_multi
|-- mysqld_safe
|-- mysqldump
|-- mysqldumpslow
|-- mysqlimport
|-- mysqlpump
|-- mysqlshow
|-- mysqlslap
|-- perror
`-- zlib_decompress

1.3.2 Statements 选项 insert 和insert with columns 区别

区别就是插入语句中是否指定列名插入数据。

  • insert
INSERT INTO `t_login_mini_program`
VALUES (8140984646112444416, '2021-10-25 22:30:05.066000', '-', '2021-10-27 00:31:31.531000', '星云', '4444'),
       (8153476439347101696, '2021-11-29 09:48:00.662000', '-', '2021-11-29 10:51:03.234000', '',
        'ompww5W0e0oZfAsA7zyZMXSEGXkU');
  • insert with columns
INSERT INTO `t_login_mini_program` (`id`, `create_date`, `mobile_phone`, `update_date`, `wx_nick_name`, `wx_open_id`)
VALUES (8140984646112444416, '2021-10-25 22:30:05.066000', '-', '2021-10-27 00:31:31.531000', '星云', '4444'),
       (8153476439347101696, '2021-11-29 09:48:00.662000', '-', '2021-11-29 10:51:03.234000', '',
        'ompww5W0e0oZfAsA7zyZMXSEGXkU');

1.3.3 选择多张表迁移数据

鼠标勾选多张表,右键
在这里插入图片描述

2. 如何使用DataGrip做单表数据迁移?

如果有时候不需要更新同步整个数据库,可以考虑使用单表复制迁移。

  1. 选中原始库中的表,右键
    在这里插入图片描述
  2. 选择目标数据库和目标表
    在这里插入图片描述
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客星云

谢谢认可,希望对你的学习有帮助

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值