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

MYSQL
使用mysql的mysqldump实现自动备份
MySQL数据导出和导入工具:mysqldump
怎样从Windows命令行启动您的MySQL
细化解析实现MySQL查询结果的分页显示
强大的工具 MySQL客户端命令行应用技巧
MySQL 5.0.16中出现乱码问题的解决方法
phpMyBackupPro备份恢复Mysql数据库
如何才能关闭MySQL数据库中错误提示音
数据库竟然崩溃了!马上让它恢复正常!
怎么显示 MySQL 数据库里表的概要呢?
自动恢复MySQL数据库的日志文件全教程
实例解说MySQL数据库中文问题的解决方案
优化MySQL数据库性能的几招儿好办法
MySQL加密函数保护Web网站敏感数据
使用PHP小程序清除Mysql中恼人的死连接
Mysql中用utf8存储而用gbk输出的实现
浅谈怎么才能在MySQL中直接储存图片
用特殊的MySQL运算符获得更多数据比较功能
MySQL数据库中的重要资料需要怎样保护?
假如忘记MySQL root密码应当怎样找回

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 84 ::
收藏到网摘: 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