mysql数据库热备份和导出导入数据表 数据库:mysql5.1,语言:c++在c++下,如何热备份数据库?如何导出导入表数据?谢谢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 建议还是在slave做mysqldump操作来做备份库导入导出表直接用select * into outfile='' from tbload data 我要在c++中调用mysql的c api函数来实现。如下语句是把表testtab1的数据导出到'E:\\dzq\\testdata\\zzzzz.txt' 中,我是这么做的:int ret = mysql_real_query(&m_mysql,strMid.c_str(),strMid.size());strMid = "SELECT * FROM testtab1 INTO OUTFILE 'E:\\dzq\\testdata\\zzzzz.txt' FIELDS TERMINATED BY ',\t' LINES TERMINATED BY '\r\n'";ret = 1,可执行失败。为什么?如何用mysqldump? 可以调用C中的SHELL来直接运行操作系统命令。mysqldump -uroot -p1234 db1 > back.sql 导出表按1楼的方法用SELECT INTO OUTFILE和LOAD DATA加载即可。具体请参考一下MYSQL的帮助手册。 我是这么做的:int ret = mysql_real_query(&m_mysql,strMid.c_str(),strMid.size());strMid = "SELECT * FROM testtab1 INTO OUTFILE 'E:\\dzq\\testdata\\zzzzz.txt' FIELDS TERMINATED BY ',\t' LINES TERMINATED BY '\r\n'";可出错,在c++中该如何执行上面的语句呢?函数mysql_real_query为什么不能执行此语句呢?可以调用C中的SHELL来直接运行操作系统命令。mysqldump -uroot -p1234 db1 > back.sql在c++中如何执行上面的shell命令呢? C++中调用cmd 命令行,实现导入导出‘实际上就是使用的mysql自带的命令 我是这么做的:int ret = mysql_real_query(&m_mysql,strMid.c_str(),strMid.size());strMid = "SELECT * FROM testtab1 INTO OUTFILE 'E:\\dzq\\testdata\\zzzzz.txt' FIELDS TERMINATED BY ',\t' LINES TERMINATED BY '\r\n'";这个错误找到了,原因:把:'E:\\dzq\\testdata\\zzzzz.txt' 改为:'E:/dzq/testdata/zzzzz.txt' 但不知为什么要把\改为/,不明白。我是利用接口mysql_error的返回值发现的,挺有用的。问题:mysqldump -uroot -p1234 db1 > back.sql在c++中如何执行上面的shell命令呢? 我利用系统函数system来执行命令:mysqldump -uroot -p1234 db1 > back.sql虽然能成功,但当数据多时,dos窗口会停留一会儿,不太好,不知有什么更好的办法没有? sql文件出现乱码,如何恢复?? 在一条sql里计算二个统计数 数据库事务隔离级别Read Committed和Repeatable Read的区分 mysqld-nt.exe,版本 0.0.0.0,错误模块 mysqld-nt.exe mysql的group by 这个自定义函数哪里错了 一个很复杂的调查问卷数据库设计 MySQL的db表被删除了,怎么办 VC连接MySql 一个phpmyadmin的使用问题 如何写查制定分区的sql 如何把免安装的mysql5.1安装到指定的路径下?高手!
导入导出表直接用select * into outfile='' from tb
load data
我是这么做的:int ret = mysql_real_query(&m_mysql,strMid.c_str(),strMid.size());
strMid = "SELECT * FROM testtab1 INTO OUTFILE 'E:\\dzq\\testdata\\zzzzz.txt' FIELDS TERMINATED BY ',\t' LINES TERMINATED BY '\r\n'";ret = 1,可执行失败。
为什么?如何用mysqldump?
strMid = "SELECT * FROM testtab1 INTO OUTFILE 'E:\\dzq\\testdata\\zzzzz.txt' FIELDS TERMINATED BY ',\t' LINES TERMINATED BY '\r\n'";可出错,
在c++中该如何执行上面的语句呢?函数mysql_real_query为什么不能执行此语句呢?
可以调用C中的SHELL来直接运行操作系统命令。mysqldump -uroot -p1234 db1 > back.sql
在c++中如何执行上面的shell命令呢?
strMid = "SELECT * FROM testtab1 INTO OUTFILE 'E:\\dzq\\testdata\\zzzzz.txt' FIELDS TERMINATED BY ',\t' LINES TERMINATED BY '\r\n'";
这个错误找到了,原因:
把:'E:\\dzq\\testdata\\zzzzz.txt'
改为:'E:/dzq/testdata/zzzzz.txt'
但不知为什么要把\改为/,不明白。
我是利用接口mysql_error的返回值发现的,挺有用的。
问题:
mysqldump -uroot -p1234 db1 > back.sql
在c++中如何执行上面的shell命令呢?
虽然能成功,但当数据多时,dos窗口会停留一会儿,不太好,
不知有什么更好的办法没有?