.net备份mysql数据库备份_使用asp.net进行Mysql数据库备份程序的知识准备

最近想在自己的程序中加上数据库的备份和恢复功能,但是没有现成的asp.net可以参考,就找了Mysql的帮助文件,挑出需要的几个必须的命令,总结如下:

一、Mysq导出Sql格式范例

/*

Navicat MySQL Data Transfer

Source Server : mysql

Source Server Version : 50508

Source Host : localhost:3306

Source Database : schoolnet

Target Server Type : MYSQL

Target Server Version : 50508

File Encoding : 65001

Date: 2011-04-22 15:14:00

*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- Table structure for `bk_attach`

-- ----------------------------

DROP TABLE IF EXISTS `bk_attach`;

-- ----------------------------

-- Table structure for `b_course`

-- ----------------------------

DROP TABLE IF EXISTS `b_course`;

CREATE TABLE `b_course` (

`CourseId` int(11) NOT NULL AUTO_INCREMENT,

`CourseName` varchar(8) DEFAULT NULL,

PRIMARY KEY (`CourseId`)

) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=gb2312;

-- ----------------------------

-- Records of b_course

-- ----------------------------

INSERT INTO b_course VALUES ('1', '语文');

INSERT INTO b_course VALUES ('2', '数学');

INSERT INTO b_course VALUES ('3', '英语');

INSERT INTO b_course VALUES ('4', '物理');

INSERT INTO b_course VALUES ('5', '化学');

INSERT INTO b_course VALUES ('6', '生物');

INSERT INTO b_course VALUES ('7', '政治');

INSERT INTO b_course VALUES ('8', '历史');

INSERT INTO b_course VALUES ('9', '地理');

INSERT INTO b_course VALUES ('10', '音乐');

INSERT INTO b_course VALUES ('11', '体育');

INSERT INTO b_course VALUES ('12', '美术');

二、获取数据库的sql

命令:SHOW CREATE DATABASE schoolnet

生成数据表:

Database

Create Database

schoolnet

CREATE DATABASE `schoolnet` /*!40100 DEFAULT CHARACTER SET gb2312 */

三、获取数据列表

命令:SHOW CREATE DATABASE

四、获取数据库中的数据表和视图名

命令:show TABLE STATUS 可以区分表还是视图区别在于Comment字段是否包含字符“view”

显示表列表:show TABLE  STATUS where COMMENT not like '%View%'

Name

…..

Comment

a

b

view

注:因为视图大都需要数据表为基础,所以备份时也需要注意先备份数据表后备份视图,否则在恢复数据的时候会产生错误

另外在获取的“creat table**”的语句中可能包含回车换行符,在备份和恢复的时候必须单独处理,一般在备份的时候就进行Replace(tmp_insert, Chr(13) & Chr(10), "\r\n")的替换

记录中可能包含回车换行符,此时问了语句的合法性,必须先进行替换(同上),在数据恢复的时候必须对这些数据进行还原,就是再把Replace(tmp_insert,"\r\n", Chr(13) & Chr(10))

附加:show TABLES

获取到数据库中所有表的名称

Tables_in_dbname

b_course

…….

五、 获取数据表的sql:

命令:SHOW CREATE TABLE b_course

生成如下表:

Table

Create Table

B_course

CREATE TABLE `b_course` (

`CourseId` int(11) NOT NULL AUTO_INCREMENT,

`CourseName` varchar(8) DEFAULT NULL,

PRIMARY KEY (`CourseId`)

) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=gb2312

六、获取实际表的记录

根据获取的数据表,便利所有记录,生成插入语句,没验证这样的效率如何,可以考虑分卷

INSERT INTO bk_function VALUES ('1', '备课栏目管理', 'Admin', 'admin/ad_task.aspx');

在获取记录数据的时候还需要注意,字段值为“null”和逻辑字段 (转换为0和1) 的处理

七、恢复的思路

1、连接数据库测试,不成功报错

2、检查指定数据库是否存在,存在提示删除覆盖,不存在创建

3、导入数据库结构

4、导入数据库记录

注:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值