linux 中对MySQL的备份学习作业:

 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


备份作业:

准备:

booksDB数据库:

CREATE DATABASE booksDB;
    use booksDB;

    CREATE TABLE books
    (
      bk_id  INT NOT NULL PRIMARY KEY,
      bk_title VARCHAR(50) NOT NULL,
      copyright YEAR NOT NULL
    ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
    INSERT INTO books
    VALUES (11078, 'Learning MySQL', 2010),
    (11033, 'Study Html', 2011),
    (11035, 'How to use php', 2003),
    (11072, 'Teach youself javascript', 2005),
    (11028, 'Learing C++', 2005),
    (11069, 'MySQL professional', 2009),
    (11026, 'Guide to MySQL 5.5', 2008),
    (11041, 'Inside VC++', 2011);

    CREATE TABLE authors
    (
      auth_id     INT NOT NULL PRIMARY KEY,
      auth_name  VARCHAR(20),
     auth_gender CHAR(1)
    ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
    INSERT INTO authors  
    VALUES (1001, 'WriterX' ,'f'),
    (1002, 'WriterA' ,'f'),
    (1003, 'WriterB' ,'m'),
    (1004, 'WriterC' ,'f'),
    (1011, 'WriterD' ,'f'),
    (1012, 'WriterE' ,'m'),
    (1013, 'WriterF' ,'m'),
    (1014, 'WriterG' ,'f'),
    (1015, 'WriterH' ,'f');

    CREATE TABLE authorbook
    (
      auth_id  INT NOT NULL,
      bk_id   INT NOT NULL,
      PRIMARY KEY (auth_id, bk_id),
      FOREIGN KEY (auth_id) REFERENCES authors (auth_id),
      FOREIGN KEY (bk_id) REFERENCES books (bk_id)
    ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

    INSERT INTO authorbook
    VALUES (1001, 11033), (1002, 11035), (1003, 11072), (1004, 11028),
    (1011, 11078), (1012, 11026), (1012, 11041), (1014, 11069);

test库:在此可以使用任何的数据库


提示:以下是本篇文章正文内容,下面案例可供参考

一、使用mysqldump命令备份数据库中的所有表?

[root@localhsot ~]# mysqldump -uroot -p'123456'  booksDB > /backup/booksDB_all.sql;

mysqldump备份关键字,-uroot,-p‘%’,root用户的密码,booksDB是所需要的备份的数据库,

/backup/是备份到的目录,booksDB_all可以自行编辑,但必须以 ”.sql“结尾。

我的结果如下:

[root@localhost ~]# mysqldump -uroot -p123456 booksDB > /backup/booksDB_all.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.

[root@localhost ~]# vim /backup/booksDB_all.sql

内容如下所示:我的部分内容所示仅供参考

二、备份booksDB数据库中的books表

[root@localhsot ~]# mysqldump -uroot -p'123456'  booksDB books > /backup/books.sql;

mysqldump: [Warning] Using a password on the command line interface can be insecure

备份booksdump中的books表仅需将booksDB与books用空格分开,修改存储名字即可。

我的结果如下:


 第三题:使用mysqldump备份booksDB和test数据库

[root@localhsot ~]#  mysqldump -uroot -p'123456'   --databases   booksDB test > /backup/booksDB_test.sql;

mysqldump: [Warning] Using a password on the command line interface can be insecure

备份booksDB与test两个数据库,需在两个数据库前面添加--databases,并且两个数据库要用空格分开,然后修改存储名字即可。

我的结果如下:

 

 第四题:使用mysqldump备份服务器中的所有数据库

[root@localhost ~]# mysqldump -uroot -p123456  --all-databases > /backup/all_datables.sql

mysqldump: [Warning] Using a password on the command line interface can be insecure.

备份所有的数据库则需要将在密码之后添加--all-databases,在给定目录及名字,即可。

我的结果如下:

 

 第五题:使用mysql命令还原第二题导出的books表

先删除booksDB中的books表:

命令:

1.先将关闭Foreign Key,存在Foreign Key的约束,删不了

mysql> Set FOREIGN_KEY_CHECKS = 0;
            Query OK, 0 rows affected (0.00 sec)

关闭后执行:mysql> drop table books;

                       Query OK, 0 rows affected (0.01 sec)

 恢复books表:

[root@localhost backup]# mysql -uroot -p123456 booksDB < books.sql 

booksDB需要导入的数据库名称,使用"<"将backup目录底下的books.sql文件导入booksDB数据库。
mysql: [Warning] Using a password on the command line interface can be insecure.

我的结果如下:


数据与结果都存在:


 

第六题:进入数据库使用source命令还原第二题导出的book表

删除books的记录:

恢复备份:部分展示已成功

总结

以上就是我对备份的部分理解。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Linux操作系统MySQL数据库备份是一项关键任务,确保数据安全。MySQL提供了多种方法来进行备份,包括物理备份和逻辑备份。以下是几个常见的备份方法: 1. **mysqldump**(逻辑备份): 这是MySQL官方推荐的一种备份工具,用于创建数据库或表的SQL脚本,便于恢复到其他服务器或时间点。命令格式通常是: ``` mysqldump -u [username] -p [database_name] > backup_file.sql ``` 其 `[username]` 是你的MySQL用户名,`[database_name]` 是你要备份数据库名,`backup_file.sql` 是备份文件名。 2. **mysqlhotcopy**(物理备份): 这是一个快速且直接复制数据文件的工具,适用于较小的数据库和对速度有较高要求的情况。但是请注意,这种方式不适用于在线备份,因为需要锁定数据文件。 ``` mysqlhotcopy /var/lib/mysql/your_database /path/to/backup/ ``` 3. **使用tar或rsync进行备份**: 你可以将整个MySQL数据目录打包为tar文件,或者使用rsync同步更改。例如: ``` tar -czvf /backup/mysql_backup_$(date +%Y%m%d).tar.gz /var/lib/mysql/your_database rsync -avz /var/lib/mysql/your_database/ user@backup_host:/path/to/backup/ ``` 4. **配置定期备份**: 可以通过cron作业设置定时任务,让系统在特定时间自动执行备份操作。 **相关问题--:** 1. 如何恢复使用mysqldump备份的数据? 2. 在Linux如何设置cron定时任务来自动备份MySQL? 3. 如何检查MySQL备份是否成功并确认数据完整性?

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值