环境要求:
1.逻辑备份工具 mysqldump
2.使用mysql 恢复数据库
**步骤一:使用mysqldump进行逻辑备份
1)备份MySQL服务器上的所有库
将所有的库备份为mysql-all.sql文件:
[root@MySQL50 ~]# mysqldump -uroot -p --all-databases > /root/alldb.sql
Enter password:
同时备份db1、db5库,保存为data/db.sql文件:
[root@MySQL50 ~]# mysqldump -u root -p -B db1 db5 > mydata/db.sql
Enter password:
查看备份文件userdb.sql的部分内容:
[root@MySQL50 ~]# grep '^CREATE DATA' mydata/db.sql
CREATE DATABASE /!32312 IF NOT EXISTS/ db1
/!40100 DEFAULT CHARACTER SET latin1 /;
CREATE DATABASE /!32312 IF NOT EXISTS/ db5
/!40100 DEFAULT CHARACTER SET latin1 /;
步骤二:使用mysql命令从备份中恢复数据库、表
1)创建名为db1cp的新库
mysql> create database db1cp;
Query OK, 1 row affected (0.09 sec)
[root@MySQL50 ~]# mysqldump -uroot -p db1 > mydata/dbcp1.sql
Enter password:
2)导入备份文件,在新库中重建表及数据
[root@MySQL50 ~]# mysql -uroot -p db1cp < mydata/dbcp1.sql
Enter password:
3)确认新库正常,启用新库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| db1 |
| db1cp |
| db5 |
| mysql |
| performance_schema |
| sys |
+--------------------+
7 rows in set (0.00 sec)
mysql> show tables;
+-----------------+
| Tables_in_db1cp |
+-----------------+
| t1 |
+-----------------+
1 row in set (0.00 sec)
mysql> select * from t1;
+------+------+------+
| id | name | age |
+------+------+------+
| 1 | sky | 19 |
| 2 | tom | 20 |
+------+------+------+
2 rows in set (0.00 sec)
**4)废弃或删除旧库
ysql> drop database db1;
Query OK, 1 row affected (0.18 sec)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。