C#窗体应用程序实现一键备份MySQL数据库为*.sql,或一键迁移MySQL数据库 20

【1】第一次接触C#,现需要完成一个MySQL数据库迁移程序。目前用的是usingMySql.Data.MySqlClient;能成功连接数据库。【2】数据迁移的条件是,... 【1】第一次接触C#,现需要完成一个MySQL数据库迁移程序。目前用的是using MySql.Data.MySqlClient;能成功连接数据库。
【2】数据迁移的条件是,以前在A服务器上运行MySQL,现在在B服务器上安装了新的MySQL,需要用C#写个应用程序,能一键将A的数据迁移到B的MySQL里。麻烦的地方是,新的B服务器上的MySQL中的表和A中的不是完全相同的,有新增的表,也有在原有表中新增了列的。
【3】目前的想法是(先默认两个数据库中的表是相同的),写个C#窗体应用程序,一键将A的数据库备份为sql文件,然后在自动在B服务器上还原。
【4】现在就是主要想知道连接好数据库后,那个备份数据库的代码要怎么写,网上查了很多,各种版本的都有,几乎都是些片段,目前没什么基础,不知道要怎么修改进我的代码里。
【5】我现在的连接代码如下图片
展开
 我来答
百度网友e9f0bc7b9
2015-05-19 · TA获得超过117个赞
知道小有建树答主
回答量:414
采纳率:0%
帮助的人:233万
展开全部
有两种方法,一种方法使用mysql的check table和repair table 的sql语句,另一种方法是使用MySQL提供的多个myisamchk, isamchk数据检测恢复工具。前者使用起来比较简便。推荐使用。
1. check table 和 repair table
登陆mysql 终端:
mysql -uxxxxx -p dbname
check table tabTest;
如果出现的结果说Status是OK,则不用修复,如果有Error,可以用:
repair table tabTest;
进行修复,修复之后可以在用check table命令来进行检查。在新版本的phpMyAdmin里面也可以使用check/repair的功能。
2. myisamchk, isamchk
其中myisamchk适用于MYISAM类型的数据表,而isamchk适用于ISAM类型的数据表。这两条命令的主要参数相同,一般新的系统都使用MYISAM作为缺省的数据表类型,这里以myisamchk为例子进行说明。当发现某个数据表出现问题时可以使用:
myisamchk tablename.MYI
进行检测,如果需要修复的话,可以使用:
myisamchk -of tablename.MYI
关于myisamchk的详细参数说明,可以参见它的使用帮助。需要注意的时在进行修改时必须确保MySQL服务器没有访问这个数据表,保险的情况下是最好在进行检测时把MySQL服务器Shutdown掉。
-----------------------------
另外可以把下面的命令放在你的rc.local里面启动MySQL服务器前:
[ -x /tmp/mysql.sock ] && /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI
其中的/tmp/mysql.sock是MySQL监听的Sock文件位置,对于使用RPM安装的用户应该是/var/lib/mysql/mysql.sock,对于使用源码安装则是/tmp/mysql.sock可以根据自己的实际情况进行变更,而pathtochk则是myisamchk所在的位置,DATA_DIR是你的MySQL数据库存放的位置。
需要注意的时,如果你打算把这条命令放在你的rc.local里面,必须确认在执行这条指令时MySQL服务器必须没有启动!检测修复所有数据库(表)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式