数据库: oldcat

数据库表:t_oldcat

1、首先在opt目录下创建备份目录

[root@Base ~]# mkdir -p /opt/mysql/data_bak

2、查询数据库表:

[root@Base ~]# mysql -uoldcat -poldcat123 -e "use oldcat;select * from t_oldcat"
+----+--------+
| id | name   |
+----+--------+
|  1 | cfl    |
|  2 | heheh  |
|  3 | xx     |
|  4 | 小明   |
|  5 | 阿里   |
|  6 | aa     |
+----+--------+
6 rows in set (0.00 sec)

3、备份数据库并检查备份文件

[root@Base ~]# mysqldump -uoldcat -poldcat123 -B oldcat > /opt/mysql/data_bak/oldcat_bak_B.sql
[root@Base ~]# ll /opt/mysql/data_bak/
总用量 4
-rw-r--r--. 1 root root 203 12月  4 21:16 oldcat_bak_B.sql
[root@Base ~]# egrep -v "#|\*|--|^$" /opt/mysql/data_bak/oldcat_bak_B.sql 
USE `oldcat`;
DROP TABLE IF EXISTS `t_oldcat`;
CREATE TABLE `t_oldcat` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
LOCK TABLES `t_oldcat` WRITE;
INSERT INTO `t_oldcat` VALUES (1,'cfl'),(2,'heheh'),(3,'xx'),(4,'小明'),(5,'阿里'),(6,'aa');
UNLOCK TABLES;

注:增加参数-B之后,备份的脚本中包含创建数据库和use数据库的语句,因此在恢复数据时就无需手动执行create database语句及use 语句。
......
--
-- Current Database: `oldcat`
--
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `oldcat` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `oldcat`;
.......

4、将oldcat数据库删除(或者只将oldcat数据库中的t_oldcat表删除)

[root@Base ~]# mysql -uoldcat -poldcat123 -e "show databases;drop database oldcat;show databases"
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| oldcat             |
| performance_schema |
| test               |
+--------------------+
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+

5、执行恢复命并检查恢复结果

[root@Base ~]# mysql -uoldcat -poldcat123 < /opt/mysql/data_bak/oldcat_bak_B.sql
[root@Base ~]# mysql -uoldcat -poldcat123 -e "show databases"
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| oldcat             |
| performance_schema |
| test               |
+--------------------+

6、查询oldcat数据库中t_oldcat表

[root@Base ~]# mysql -uoldcat -poldcat123 -e "use oldcat;select * from t_oldcat;"
+----+--------+
| id | name   |
+----+--------+
|  1 | cfl    |
|  2 | heheh  |
|  3 | xx     |
|  4 | 小明   |
|  5 | 阿里   |
|  6 | aa     |
+----+--------+