在使用数据库的时候,我们经常要对数据的导入,备份等等操作,

主要是防止服务器出现问题,导致数据库的数据丢失。。。

如果进行的及时的备份,可以得到数据的恢复,避免数据的不必要的丢失。

下面主要是针对 mysql 数据库进行演示,其他的数据库具体操作方面有可能不一样,

这个要注意, 我使用的 mysql 是 6.0版本。。

查看的命令  mysql -uroot -p123 --version 可以看到当前使用的版本,

因为以前我演示的 root 密码是空密码,所以刚才有些错误。。要输入密码。

下面登陆 进去 mysql

# mysql -uroot -p123

先创建一个数据库 17rumen

> create database 17rumen;

> use 17rumen;

创建一个user表。
> create table user
(
   id int unsigned auto_increment not null primary key,
   name varchar( 25 )
 );
创建另外一个admin表。
> create table admin
(
   id int unsigned auto_increment not null primary key,
   name varchar( 25 )
 );

然后 在 user表 插入一条记录。

> insert into user(name) values( 'jame' );

===================================================

上面都是为了下面的演示 也创建的临时数据,呵呵。

下面进行有关数据的导入
例如 我现在有个文本文件 格式如下 /opt/user.txt

2 kelly

这个文件要导入到 user 表中去。

mysql> select * from user;
+----+------+
| id | name |
+----+------+
|  1 | jame |
+----+------+

现在开始导入

mysql> load data infile '/opt/user.txt' into table user;

再次查询就发现成功 导入到数据表了。
mysql> select * from user;
+----+-------+
| id | name  |
+----+-------+
|  1 | jame  |
|  2 | kelly |
+----+-------+

另外的一种导入方式,
我们先修改一下 刚才的 /opt/user.txt 文件
3 Ken

然后使用下面命令进行导入
# mysqlimport -uroot -p123 17rumen /opt/user.txt
17rumen.user: Records: 1  Deleted: 0  Skipped: 0  Warnings: 0

进入数据库查看是否 成功:
mysql> select * from user;
+----+-------+
| id | name  |
+----+-------+
|  1 | jame  |
|  2 | kelly |
|  3 | Ken   |
+----+-------+

==============================================

好了,现在讲一下如何备份数据库和数据表

将数据库 17rumen 全部数据表 备份到 /opt/17rumen_2009_5_29.sql 文本文件中

# mysqldump -uroot -p123 --opt 17rumen > /opt/17rumen_2009_5_29.sql

可以进行查看 cat /opt/17rumen_2009_5_29.sql

----------------
如果你想只备份 数据库中的一张表呢 ?
例如 17rumen 这个数据库的 user 表

# mysqldump -uroot -p123 --opt 17rumen user > /opt/17rumen_user_2009_5_29.sql

---------------
或者想同时备份 多个数据库,而不需要一个个备份。

# mysqldump -uroot -p123 --databases 17rumen test > /opt/test_17rumen_user_2009_5_29.sql

===============================================

做好了备份, 哪么如何恢复数据库 ?
下面按照 上面的顺序,来演示一下 恢复数据库。

恢复数据库
先删掉原来的数据库,

> drop database 17rumen;
> create database 17rumen;
> use 17rumen;
> show tables; 可以看到没有任何表
下面进行恢复
> source /opt/17rumen_2009_5_29.sql

> show tables;   原来的数据表得到了恢复。

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

下面演示恢复数据库中的其中一张表

先删掉一张表
> drop table user;
> show tables;
下面进行恢复表
> source /opt/17rumen_user_2009_5_29.sql;
> show tables;
前后对比 show tables 可以看到 user 表得到了恢复。。。

--------------------
一次恢复多个数据库

下面先把 17rumen 和 test 数据库 进行删除

> drop database 17rumen;
> drop database test;
> show databases;

下面进行恢复
> source /opt/test_17rumen_2009_5_29.sql

是这个名字。我们刚才备份的名字
/opt/test_17rumen_user_2009_5_29.sql

> source /opt/test_17rumen_user_2009_5_29.sql

> show databases;
刚才删掉的数据库又回来了,呵呵

============================================

对数据库的一些导入 恢复 备份 导出 常用操作就演示到这里,谢谢观看!!!

 


“对 Mysql 数据库,数据表的导入,导出,备份,恢复操作(6.0版本作为演示)”有3个评论

  1. 11月 18th, 2009 at 18:24:05 #匿名

    出个mysql master slave 实现视频把 老大

    [回复]

    adminreply on 2009-11-18 21:20:20:

    呵呵,学会了就出,还没有配置过。

  2. 11月 20th, 2009 at 15:16:35 #匿名

    期待中。。。

    [回复]

有任何疑问或建议,可以给作者留言: