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

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

如何使用DataGrip执行数据库数据和表数据迁移? 1. 如何使用 DataGrip 实现数据库迁移?1.2 选项含义1.3 示例1.3.1 整个数据库迁移1.3.2 Statements 选项 insert 和insert with columns 区别1.3.3 选择多张表迁移数据 2. 如何使用DataGrip做单表数据迁移?
DataGrip 是Jetbrain 家族中和Navicat Premium 媲美的一款数据库管理工具。

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

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

选中数据库,右键 选择Export With ‘mysqldump’ (低版本可能原来叫Dump With ‘mysqldump’ )
然后点击Run即可。
如果执行出错,可考虑使用追加 --column-statistics=0 兼容MySQL 5语法。会默认在 /Users/${用户}目录下生成:xxx_database-2021_12_05_12_58_18-dump.sql如果找不到选中文件,可以右键
数据库还原数据 选择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.exeMac 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做单表数据迁移?

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

选中原始库中的表,右键
选择目标数据库和目标表

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/991503.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存