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

MYSQL
MySQL查询优化
优化MySQL数据库查询的三种方法
MySQL优化之数据类型的使用
建立MySQL数据库日常维护规范
MySQL数据库性能优化妙招
如何修复MySQL数据库表
MySQL数据库之UPDATE更新语句精解
分步启动数据库以重命名数据文件
使用实例管理器轻松管理多个MySQL实例
认识MySQL数据库对服务器端光标的限制
菜鸟课堂:玩转MySQL数据库 性能优化八法
深入浅出MySQL双向复制技术
MySQL百万级高并发网站实战攻略
5招优化MySQL插入方法
MySQL 集群配置
SQL Server数据库备份出错及应对措施
mysql3升级到mysql5解决乱码心得
数据库基础:MySQL 添加用户的两种方法
浅谈MySQL存储引擎选择 InnoDB还是MyISAM
数据库安全应用 使用MySQL的23个注意事项

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


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