mysql 导入导出

一般的表,直接导出sql,再导入即可,但有些表的字段可能是longtext型,包含一些分号,引号等字符,导入的时候报错。。。

用Navicat for mysql尝试导出db,dbf文件,然后再导入也未成功,dfb导入后乱码,字符都是utf8,不知道为什么还乱码;

未尝试用控制台命令,不知道如何;

经实际操作,以下方式均可方便地实现mysql数据导入导出:

1.最后用DBeaver导入成功,DBeaver导入时,不生成中间文件,直接让你选择“源”表,DBeaver在两个数据库之间建立连接,就导入成功了,比较简单方便。

2.用Navicat for mysql,选择“工具”-数据传输,选择源和目标,可以迅速的实现导入导出,速度很快,一些表的字段包含一些分号,引号等字符,也成功导入。数据量大的话速度有时很慢。

3.复制mysql数据文件,找到mysql数据文件,把表的frm文件,MYD文件,MYI文件都复制过去。但对于InnoDB类型的表此方法不行,InnoDB类型的表的数据都是存放在mysql数据文件data目录下的ibdata1文件里。。。

4.用Navicat for mysql,对数据库执行备份操作,打开后,每个数据库下方都有备份按钮,‘新建备份’,备份后的文件会存放在类似C:\Users\venus\Documents\Navicat\MySQL\servers\192.168.10.203\xxx这样的目录下,文件名类似“150105134635.psc”,在目标数据库里用此文件进行恢复备份就可以了。经多次多个库的试验,此方法安全靠谱,稳定,速度快。

 

### 如何在 MySQL 中进行数据导入和导出操作 #### 使用 `mysqldump` 工具导出数据库 为了安全有效地备份整个数据库或特定表,可以使用命令行工具 `mysqldump`。此工具创建 SQL 脚本文件,其中包含重建原始数据库所需的所有指令。 ```bash mysqldump -u username -p database_name > backup.sql ``` 这条命令将会提示输入密码并生成名为 `backup.sql` 的文件[^1]。 对于只希望导出结构而不包括实际记录的情况,则应附加参数 `--no-data`: ```bash mysqldump --no-data -u username -p database_name > structure_only_backup.sql ``` #### 设置 `secure_file_priv` 参数 需要注意的是,在某些版本的 MySQL 和 MariaDB 上,默认情况下有一个叫做 `secure_file_priv` 的配置项被启用,它指定了允许执行文件读写操作的具体路径。这意味着除非指定位置位于该变量定义的位置内,否则无法完成相应的导入导出动作[^4]。 可以通过查看当前设置来确认具体路径: ```sql SHOW VARIABLES LIKE 'secure_file_priv'; ``` #### 导入 SQL 文件至数据库 当拥有一个有效的 `.sql` 文件后,就可以通过如下方式将其内容加载回目标数据库中: ```bash mysql -u username -p database_name < backup.sql ``` 这同样适用于恢复之前由 `mysqldump` 创建的数据副本或是其他形式的手动构建脚本文件[^2]。 #### 大型数据库处理技巧 针对非常庞大的数据库,建议采用分批次的方式来进行转储以及后续还原工作;另外还可以考虑利用多线程特性加快速度(取决于服务器硬件条件)。此外,也可以探索更高级别的解决方案如 Oracle 提供的相关工具集中的 Data Pump 功能[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值