MYSQL的数据备份

1、表备份
● 备份表结构
○ create table + 表1 like + 表2
■ 表1 为原有的表,表2 为备份出的表

备份表 student 为 tb_student

mysql> create table tb_student like student;

mysql> show tables;
±------------------+
| Tables_in_students |
±------------------+
| student |
| tb_student |
±------------------+

mysql> desc tb_student;
±------±------------±-----±----±--------±---------------+
| Field | Type | Null | Key | Default | Extra |
±------±------------±-----±----±--------±---------------+
| id | int(1) | NO | PRI | NULL | auto_increment |
| name | varchar(10) | YES | | NULL | |
| sex | char(2) | YES | | NULL | |
±------±------------±-----±----±--------±---------------+

● 备份表数据
○ insert into + 表1 select * from + 表2
■ 将表2 中的数据备份到表1 中
○ 注意点:插入的表必须要存在

把表 student 中的数据备份到表 tb_student中

mysql> insert into tb_student select * from student;

mysql> select * from student;
±—±----------±-----+
| id | name | sex |
±—±----------±-----+
| 1 | 李四 | 10 |
| 2 |黄菊 | 8 |
| 3 | 赵乐| 9 |
±—±----------±-----+

mysql> select * from tb_student ;
±—±----------±-----+
| id | name | sex |
±—±----------±-----+
| 1 | 李四 | 10 |
| 2 | 黄菊 | 8 |
| 3 | 赵乐 | 9 |
±—±----------±-----+

● 备份表中部分数据
○ 把一个表的某些字段插入到一个新表中
■ insert into + 表1(字段1,字段2) select 字段1,字段2 from 表2
○ 注意点
■ 插入的表必须存在
■ 插入的表是新表,没有数据

备份表 student 中的 id,name 两个字段数据到表 tb_student 中

mysql> insert into tb_student(id,name) select id,name from student;

mysql> select * from student;
±—±----------±-----+
| id | name | sex |
±—±----------±-----+
| 1 | 李四 | 10 |
| 2 | 黄菊 | 8 |
| 3 | 赵乐 |9 |
±—±----------±-----+

mysql> select * from tb_student;
±—±----------±-----+
| id | name | sex |
±—±----------±-----+
| 1 | 李四| NULL |
| 2 | 黄菊 | NULL |
| 3 | 赵乐| NULL |
±—±----------±-----+

2、数据库备份还原
● 数据库备份
○ mysqldump -uroot -p 数据库名 > 脚本名

将数据库备份到 /YZ 目录下的 student_copy.sql 文件中

[root@localhost /]# mysqldump -uroot -p student > /YZ/student_copy.sql

Enter password: …
● 还原数据库
○ mysql -uroot -p 数据库 < 脚本名
○ 数据库必须存在

新建数据库 stu_db

mysql> create database student_db;

mysql> show databases;
±-------------------+
| Database |
±-------------------+
| information_schema |
| cms |
| mysql |
| student_db |
| test |
±-------------------+

还原数据库数据到 student_db 数据库中

[root@localhost /]# mysql -uroot -p student_db < /YZ/student_copy.sql
Enter password: …

再次进入 MySQL 数据库

[root@localhost /]# mysql -u root -p
Enter password: …

进入 stu_db 库中

mysql> use student_db;

查看 stu_db 库的表,验证表是否还原成功

mysql> show tables;
±-----------------+
| Tables_in_student_db |
±-----------------+
| dcs |
| duoceshi |
| t |
| t_course |
| t_student |
| v_stu |
±-----------------+

查看 student 表中数据,验证表数据是否还原成功

mysql> select * from student;
±—±----------±-----+
| id | name | sex |
±—±----------±-----+
| 1 | 李四 | 10 |
| 2 |黄菊 | 8 |
| 3 | 赵乐 | 9 |
±—±----------±-----+

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值