使用mysql命令行导出sql_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1619 | 回复: 0   主题: 使用mysql命令行导出sql        下一篇 
wayne
注册用户
等级:中校
经验:1690
发帖:221
精华:0
注册:2011-7-21
状态:离线
发送短消息息给wayne 加好友    发送短消息息给wayne 发消息
发表于: IP:您无权察看 2014-12-17 10:04:18 | [全部帖] [楼主帖] 楼主

其实很简单,只需2个步骤,首先进入mysql命令行,输入:use 数据库名,其次输入:source test.sql  就可以把Test表的数据全部导出来。  

用mysqldump和source可以使用这种方式导出数据:

mysqldump -urott -P5678 --default-character-set=gb2312 -p -h127.0.0.1 Test test1 > test1.sql


  也可以这样:

mysql -uroot -P5678 --default-character-set=gb2312 -p -h127.0.0.1 -e "select * from Test.test1" > test1.sql (不过这样要手动建表,当然可以 show create test1得到建表语句)


  可以这样(在mysql命令行下)

mysql>use Test;
mysql>source test1.sql;


  如果用select的方式得到的文件,应该这样导入:

mysql>load data infile "test.sql" into table Test.test1;


  导入时可以"show processlist\G"查看导入状态。

  有时候会发生错误:ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`Test/test1`, CONSTRAINT `xxx` FOREIGN KEY (`AA`) REFERENCES `BB` (`AA`))

  这时需要对外键约束进行删除,比如:

alter table cwealinfo drop foreign key `xxx`;


  也可以:set foreign_key_checks = 0;

  导出和导入时需要注意数据库的版本,比如从4导到5,最好用4的mysqldump,否则可能会失败。另外还需要注意字符集问题,如果两个库的字符集不同,可能会导致问题,因此导入前最好用“show variables like '%char%'”查看下是否需要调整字符集设置。

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论