mysql 导入导出

最近一个mysql的项目是在局域网内开发的,完了之后需要迁移到云平台上去,只能先拨svn才能登陆上去。

本以为借助个mysql开发工具就是个导入导出的活。殊不知这样就被网络给绊了。

只能采用 在本地通过mysql命令导出 数据到文件,而后将文件上传至云平台,在通过load命令装载。

  • 流程图:


  • 数据导出:
           1)  登陆到本地mysql所在主机,我这里用的是root登录。       
           2)  将需要导出的表写出导出脚本.  
mysql> select * from td_poc_enterpse_info into outfile '/work/td_poc_enterpse_info.txt' fields terminated by '|' enclosed by '' lines terminated by '\r\n';
Query OK, 50000 rows affected (0.37 sec)
          4)导出的数据文件
  • 数据导入:
将导出的数据文件传输到云平台主机上,由于网络问题,我这里将导出文件发给云平台的兄弟帮忙传输。
      还是像导出数据那样,登陆云平台主机,进入myslq命令界面。 

mysql> LOAD DATA INFILE '/opt/citic_map/td_poc_enterpse_stake_rel.txt' INTO TABLE td_poc_enterpse_stake_rel  fields terminated by '|' enclosed by '' lines terminated by '\r\n';
Query OK, 4350722 rows affected (1 min 24.52 sec)
Records: 4350722  Deleted: 0  Skipped: 0  Warnings: 0


[文档中的数据均通过数据库随机函数构造而成,不涉及个人隐私,若有雷同,纯属巧合。]

### 如何在 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、付费专栏及课程。

余额充值