在使用数据库的时候,我们经常要对数据的导入,备份等等操作,
主要是防止服务器出现问题,导致数据库的数据丢失。。。
如果进行的及时的备份,可以得到数据的恢复,避免数据的不必要的丢失。
下面主要是针对 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;
刚才删掉的数据库又回来了,呵呵
============================================
对数据库的一些导入 恢复 备份 导出 常用操作就演示到这里,谢谢观看!!!
11月 18th, 2009 at 18:24:05 #匿名
出个mysql master slave 实现视频把 老大
[回复]
adminreply on 2009-11-18 21:20:20:
呵呵,学会了就出,还没有配置过。
11月 20th, 2009 at 15:16:35 #匿名
期待中。。。
[回复]