当前位置: 首页 > 图文教程 > 数据库 > MYSQL > MySQL数据库的数据备份与恢复学习

MYSQL
数据库新手入门之MySQL中如何定义外键
MySQL ODBC进行MySQL和SQL Server转换
三方法优化MySQL数据库查询
意料外的MySQL运算符可获更多数据功能
Sql Server 2005 数据库维护计划
搞定MySQL数据库中文模糊检索问题
MySQL服务器内部安全数据目录如何访问
SECURITY INVOKER存储过程权限提升漏洞
MySQL常见错误提示及解决方法
MySQL 5 C API 访问数据库例子程序
管理员必读10个重要MySQL客户启动选项
通过rpm包安装、配置及卸载mysql
实现MySQL数据库数据的同步方法介绍
六大步保护MySQL数据库中重要数据
MySQL数据库的内部以及外部安全性简介
MySQL数据库的数据备份与恢复学习
Java连接各种数据库的实例
UNIX设置MySql数据同步 实现复制功能
扩展求方差的mysql函数例子
MySQL 事务预编译查询和Perl DBI简化

MYSQL 中的 MySQL数据库的数据备份与恢复学习


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 30 ::
收藏到网摘: n/a


以下为引用的内容:
/*

filename:MySQL数据备份与恢复学习

version:1.2

mysql of learner:chifeng([email protected](http://chifeng.cosoft.org.cn))

modify history:

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

1、2004.7.5 开始(v1.0)

2、2004.7.6 增加了select * into/load data方法(v1.1)

3、2004.7.7 增加了mysqldump方法(v1.2)

4、2004.7.7 修改状态为发布,决定以后慢慢更新,增加所有参数的说明等等。

*/


安装好mysql-4.0.18-win就可以了。开始

一、backup,restore方法

以下为引用的内容:
C:mysqlbin>mysql -u root mysql
            mysql> show databases;
            +----------+
            | Database |
            +----------+
            |   mysql  |
            |   test   |
            +----------+
            2 rows in set (0.00 sec)
            #就用默认的库,test,或者自己create database database_name;来建立一个。
            mysql> use test
            Database changed#选择一个库。
            mysql> create table test(
            -> id int,
            -> name varchar(40),
            -> age tinyint
            -> );
            #创建了一个test表。show tables;来看到他。
            mysql> show tables;
            +----------------+
            | Tables_in_test |
            +----------------+
            |      test      |
            +----------------+
            1 row in set (0.02 sec)
            #看看表的结构。
            mysql> describe test;
            +-------+-------------+------+-----+---------+-------+
            | Field |     Type    | Null | Key | Default | Extra |
            +-------+-------------+------+-----+---------+-------+
            |   id  |    int(11)  |  YES |     |   NULL  |       |
            |  name | varchar(40) |  YES |     |   NULL  |       |
            |   age |  tinyint(4) |  YES |     |   NULL  |       |
            +-------+-------------+------+-----+---------+-------+
            3 rows in set (0.00 sec)
            #插入三条记录。
            mysql> insert into test(id,name,age)
            -> values(5101,'chifeng',23);
            Query OK, 1 row affected (0.00 sec)
            mysql> insert into test(id,name,age)
            -> values(5102,'phpchina',18);
            Query OK, 1 row affected (0.00 sec)
            mysql> insert into test(id,name,age)
            -> values(5103,'admin',40);
            Query OK, 1 row affected (0.00 sec)
            #看看结果
            mysql> select * from test;
            +------+----------+------+
            |  id  |    name  |  age |
            +------+----------+------+
            | 5101 |  chifeng |  23  |
            | 5102 | phpchina |  18  |
            | 5103 |   admin  |  40  |
            +------+----------+------+
            3 rows in set (0.02 sec)
            #备份到一个文件夹。这里备份到c盘的根下,也可以建立一个文件夹比如:data。'c:data'
            mysql> backup table test to 'c:';
            +-----------+--------+----------+----------+
            |     Table |   Op   | Msg_type | Msg_text |
            +-----------+--------+----------+----------+
            | test.test | backup |  status  |    OK    |
            +-----------+--------+----------+----------+
            1 row in set (0.00 sec)
            #可以看到这两个文件:test.frm格式文件,test.myd数据文件。不能保存索引文件。:(
            #删除test表。
            mysql> drop table test;
            Query OK, 0 rows affected (0.01 sec)
            mysql> show tables;
            Empty set (0.00 sec)
            #恢复test
            mysql> restore table test from 'c:';
            +-----------+---------+----------+----------+
            |   Table   |   Op    | Msg_type | Msg_text |
            +-----------+---------+----------+----------+
            | test.test | restore |  status  |    OK    |
            +-----------+---------+----------+----------+
            1 row in set (0.03 sec)
            mysql> show tables;
            +----------------+
            | Tables_in_test |
            +----------------+
            |      test      |
            +----------------+
            1 row in set (0.00 sec)
            mysql> select * from test;
            +------+----------+------+
            |  id  |   name   |  age |
            +------+----------+------+
            | 5101 |  chifeng |  23  |
            | 5102 | phpchina |  18  |
            | 5103 |   admin  |  40  |
            +------+----------+------+
            3 rows in set (0.00 sec)

#恢复成功。

二、select..into,load data方法

以下为引用的内容:
mysql> select * from test into outfile 'f:mysql_copy est.dat';
            Query OK, 3 rows affected (0.00 sec)
            #现在可以delete from test;一下。
            #再恢复test。
            mysql> load data infile 'f:mysql_copy est.dat' into table test;
            Query OK, 3 rows affected (0.08 sec)
            Records: 3 Deleted: 0 Skipped: 0 Warnings: 0
 

#ok恢复成功

三、mysqldump,mysql方法

#mysqldump工具备份

C:mysqlbin>mysqldump test>test.sql

#恢复

C:mysqlbin>mysql -u root -p test