MySQL 数据库的备份与还原案例分享 2023.07.12

这篇具有很好参考价值的文章主要介绍了MySQL 数据库的备份与还原案例分享 2023.07.12。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

/** 素材一 备份与还原 **/

1 创建数据库booksDB
mysql> create database booksDB;
Query OK, 1 row affected (0.00 sec)

2.1 创建booksDB表
mysql> use booksDB
Database changed
mysql> CREATE TABLE books
    -> (
    ->   bk_id  INT NOT NULL PRIMARY KEY,
    ->   bk_title VARCHAR(50) NOT NULL,
    ->   copyright YEAR NOT NULL
    -> );
Query OK, 0 rows affected (0.01 sec)

2.2 为booksDB表插入数据
mysql> 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);
Query OK, 8 rows affected (0.02 sec)


2.1 创建authors表
mysql> CREATE TABLE authors
    -> (
    ->   auth_id     INT NOT NULL PRIMARY KEY,
    ->   auth_name  VARCHAR(20),
    ->  auth_gender CHAR(1)
    -> );
Query OK, 0 rows affected (0.00 sec)

2.2 为authors表插入数据
mysql> 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');
Query OK, 9 rows affected (0.00 sec)

3.1 创建authorbook表
mysql> 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)
    -> );
Query OK, 0 rows affected (0.00 sec)

3.2 为authorbook表插入数据
mysql> INSERT INTO authorbook
    -> VALUES (1001, 11033), (1002, 11035), (1003, 11072), (1004, 11028),
    -> (1011, 11078), (1012, 11026), (1012, 11041), (1014, 11069);
Query OK, 8 rows affected (0.00 sec)

/** 要求 **/

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

[root@node01 ~]# mysqldump -u root -p123456 booksDB > /root/booksDB.sql

[root@node01 ~]# ll
total 33560
-rw-r--r--  1 root root      3909 Jul 12 16:31 booksDB.sql


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

[root@node01 ~]# mysqldump -u root -p123456 booksDB books > /root/books.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.

[root@node01 ~]# ll
total 570976
-rw-r--r--  1 root root      3909 Jul 12 16:31 booksDB.sql
-rw-r--r--  1 root root      2121 Jul 12 16:44 books.sql


    3、使用mysqldump备份booksDB和test数据库

[root@node01 ~]# mysqldump -u root -p123456 --database booksDB test > /root/booksDB.sql test.sql


    4、使用mysqldump备份服务器中的所有数据库

mysqldump -uroot -p --all-databases > /root/book3.sql


    5、使用mysql命令还原第二题导出的book表



 mysql -uroot -p booksDB < /root/book1.sql


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

mysql> source /root/book1.sql

/** 素材二 索引 **/

CREATE TABLE `goods` (
  `goods_id` int(11) NOT NULL AUTO_INCREMENT,
  `goods_name` varchar(20) NOT NULL,
  `cat_id` int(11) NOT NULL DEFAULT '0',
  `brand_id` int(11) NOT NULL DEFAULT '0',
  `goods_sn` char(12) NOT NULL,
  `shop_price` float(6,2) NOT NULL DEFAULT '0.00',
  `good_desc` text,
  PRIMARY KEY (`goods_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
 
 
CREATE TABLE `category` (
  `cat_id` int(11) NOT NULL AUTO_INCREMENT,
  `cate_name` varchar(20) NOT NULL,
  `parent_id` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`cat_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8

/** 要求 **/ 

 1、删除 goods 表中的 goods_desc 字段及货号字段,并增加 click_count 字段 

#删除字段
 alter table goods drop good_desc,drop goods_id;
 
#添加字段
alter table goods add click_count int;

2、在 goods_name 列上加唯一性索引(用alter table方式)

alter table goods add unique only_name(goods_name);

3、在 shop_price 列上加普通索引(用create index方式) 

alter table goods add unique only_name(goods_name);

4、在 click_count 上增加普通索引,然后再删除 (分别使用drop index和alter table删除) 

 文章来源地址https://www.toymoban.com/news/detail-573142.html

mysql> create index index_c on goods(click_count);
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0
 
mysql> drop index index_c on goods;
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0
 
 
mysql> create index index_c on goods(click_count);
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0
 
mysql> alter table goods drop index index_c;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

/** 素材三 视图**/

 CREATE TABLE `Student` (
  `Sno` varchar(10) NOT NULL,
  `Sname` varchar(50) DEFAULT NULL,
  `Ssex` varchar(10) DEFAULT NULL,
  `Sage` int(11) DEFAULT NULL,
  `Sdept` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`Sno`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 
 
 
CREATE TABLE `Course` (
  `Cno` varchar(10) NOT NULL,
  `Cname` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`Cno`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 
 
CREATE TABLE `SC` (
  `Sno` varchar(10) NOT NULL,
  `Cno` varchar(10) NOT NULL,
  `Score` int(11) DEFAULT NULL,
  PRIMARY KEY (`Sno`,`Cno`),
  KEY `Cno` (`Cno`),
  CONSTRAINT `SC_ibfk_1` FOREIGN KEY (`Sno`) REFERENCES `Student` (`Sno`),
  CONSTRAINT `SC_ibfk_2` FOREIGN KEY (`Cno`) REFERENCES `Course` (`Cno`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

/** 要求 **/

1、创建一视图 stu_info,查询全体学生的姓名,性别,课程名,成绩

create view stu_info(姓名,性别,课程名,成绩)
 as select st.Sname, st.Ssex, c.Cname, SC.Score
 from Student st, Course c, SC
 where  st.Sno=SC.Sno 
 and SC.Cno=c.Cno ;

2、删除视图 stu_info

drop view stu_info;

到了这里,关于MySQL 数据库的备份与还原案例分享 2023.07.12的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 达梦数据库的备份和还原

    简要介绍一下达梦数据库备份还原的概念以及如何进行备份还原及故障恢复。 物理备份:拷贝有效数据页。 联机备份 联机即在数据库运行状态下进行备份,必须开归档模式,支持库备份、表空间备份、表备份、归档备份·。它包括完全备份(拷贝所有有效数据页)和增量备

    2024年02月02日
    浏览(51)
  • 达梦数据库的备份与还原

    目录 一、物理备份还原 1、冷备 (1)使用DM控制台工具console备份 (2)使用dmrman工具进行备份 2、热备 (1)开启归档 (2)联机备份 3、还原恢复 (1)表联机还原,需要通过执行sql语句还原 (2)DM控制台工具还原,需要关闭数据库服务 (3)dmrman工具,需要关闭数据库服务

    2024年02月03日
    浏览(40)
  • Sql Server高版本数据库数据备份后还原到低版本数据库

    如果需要将高版本的Sql Server2019数据库还原到Sql Server低版本(2012,2008等)数据库,通过以下方法可以顺利还原 通过高版本生成sql脚本在低版本执行,并且数据也能保留 步骤:选择数据库右键 点击任务 生成脚本 在设置脚本编写选项时,选择高级,编写脚本数据类型选择为架构和数

    2024年02月09日
    浏览(68)
  • 在SQL server中用sql语句实现数据库的备份以及还原

    本文给大家提供并讲解了在SQL server中用SQL语句实现数据库的备份已经还原 假设你已经有一个数据库Student 创建备份设备,其名称为bk_Student,保存文件为D: Student.bak,并对Student数据库进行完全备份,备份到备份设备bk_ Student中。  在Student数据库中,创建一张表temp并对Student数

    2024年02月03日
    浏览(62)
  • 还原Sql Server数据库BAK备份文件的三种方式及常见错误

    这是演示的是Sql Server 2008R2版本,不同版本可能有细微差别 右键点击数据库→还原数据库    在还原的源中选择源设备→点击选择框  在指定备份中点击添加→选择具体文件→确定→确定  勾选用于还原的备份集→这时目标数据库中会自动生成目标数据库名,在此选择即可→

    2023年04月08日
    浏览(71)
  • 数据库运维实操优质文章分享(含Oracle、MySQL等) | 2023年3月刊

    本文为大家整理了墨天轮数据社区2023年3月发布的优质技术文章,主题涵盖Oracle、MySQL、PostgreSQL等数据库的基础安装配置操作、故障处理、性能优化等日常实践操作,以及概念梳理、常用脚本等总结记录,分享给大家: Oracle优质技术文章 概念梳理基础配置 Oracle之数据文件和

    2023年04月21日
    浏览(56)
  • 数据库运维实操优质文章分享(含Oracle、MySQL等) | 2023年5月刊

    本文为大家整理了墨天轮数据社区2023年5月发布的优质技术文章,主题涵盖Oracle、MySQL、PostgreSQL等数据库的安装配置、故障处理、性能优化等日常实践操作,以及常用脚本、注意事项等总结记录,分享给大家: Oracle优质技术文章 概念梳理安装配置 Oracle的rwp之旅 Oracle之Hash J

    2024年02月10日
    浏览(40)
  • mysql如何还原数据库

    简单情况下:进入原来mysql安装路径下的data文件夹下,找到相应的库和ibdata1,进行copy,就可回复原来的数据。 复杂情况下: 从另一台机上把mysQL数据库的mysql文件夹拷贝到本地机上,目的是恢复本地机对数据的访问和操作。 经过如下几种情况的操作。 1. 在本地重装mysQL(安

    2024年02月06日
    浏览(54)
  • 定时备份MySQL数据库

    MySQL 提供了 mysqldump 命令来实现导出数据库,命令用法如下: 在 Linux 服务器中结合 crontab 定时命令实现定时备份数据库,同时支持压缩、备份日志、定期清理等功能。 新建 mysql 的备份命令脚本 复制以下内容: 至此,执行该脚本,可以生成压缩的数据库.sql文件 给 shell 设置

    2024年02月07日
    浏览(65)
  • MySQL_数据库备份

            根据备份的方法(是否需要数据库离线)可以将备份分为: 热备(Hot Backup) 冷备(Cold Backup) 温备(Warm Backup) 热备:在数据库运行状态下进行备份,备份时不需要停止数据库的服务。但是,由于备份时需要访问数据库文件,因此备份过程中可能会影响数据库的

    2024年02月03日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包