DataGrip 是Jetbrain 家族中和Navicat Premium 媲美的一款数据库管理工具。 1. 如何使用 DataGrip 实现数据库迁移?
这篇文章分享下如何使用 DataGrip 实现数据库迁移。
选中数据库,右键 选择Export With ‘mysqldump’ (低版本可能原来叫Dump With ‘mysqldump’ )然后点击Run即可。
如果执行出错,可考虑使用追加数据库还原数据 选择dev_db, 右键,导入刚才导出的--column-statistics=0
兼容MySQL 5语法。会默认在 /Users/${用户}目录下生成:xxx_database-2021_12_05_12_58_18-dump.sql如果找不到选中文件,可以右键
xxx_database-2021_12_05_12_58_18-dump.sql
这里需要使用mysql命令,路径默认不正确的话需要手动指定修改。
1.2 选项含义
选项 | 含义 |
---|---|
Path to mysqldump | mysql 安装目录bin目录下有一个叫做mysqldump.exe 或mysqldump 的可执行文件 |
Statements | 有两个选项 insert 或insert with columns |
Databases | 当前选中的是哪个数据库右键,显示的就是哪个数据库 |
Tables | 当前选中的是多个表,就显示逗号分隔,如果选择的是数据库,则这里为空表示该数据库下所有表 |
其他选项 | 一般默认即可 |
Out path | 导出建表语句和数据的SQL文件位置 |
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 区别
区别就是插入语句中是否指定列名插入数据。
insertINSERT 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 选择多张表迁移数据
鼠标勾选多张表,右键
如果有时候不需要更新同步整个数据库,可以考虑使用单表复制迁移。
选中原始库中的表,右键选择目标数据库和目标表
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)