美文网首页程序员
【数据库】数据库的备份操作

【数据库】数据库的备份操作

作者: 眼镜猫头鹰 | 来源:发表于2023-02-17 07:10 被阅读0次

数据库备份恢复是常见的问题,这次面临公司的版本升级,很多数据都不兼容了,所以需要通过接口升级来进行数据的迁移,但是之前的数据必须要原封不动的保存下来,预防升级之后的不兼容问题。本篇文章算是记录这一次升级的方案,有需要的朋友可以参考一下。

命令行登陆语句

// 登陆mysql
mysql -h 127.0.0.1 -uroot -p123456
## 输入你的数据库密码

数据库操作

# 显示所有的数据库
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| demo               |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| travel             |
+--------------------+

# 使用数据库;
mysql> use demo;

# 显示所有的表
mysql> show tables;
+----------------------------+
| Tables_in_demo             |
+----------------------------+
| app1_order                 |
| app1_person                |
| auth_group                 |
| auth_group_permissions     |
| auth_permission            |
| auth_user                  |
| auth_user_groups           |
| auth_user_user_permissions |
| django_admin_log           |
| django_content_type        |
| django_migrations          |
| django_session             |
+----------------------------+

# 显示表的结构
mysql> desc app1_order;
+------------+--------------+------+-----+---------+----------------+
| Field      | Type         | Null | Key | Default | Extra          |
+------------+--------------+------+-----+---------+----------------+
| id         | bigint       | NO   | PRI | NULL    | auto_increment |
| created_at | datetime(6)  | NO   |     | NULL    |                |
| updated_at | datetime(6)  | NO   |     | NULL    |                |
| order_id   | varchar(30)  | NO   | MUL | NULL    |                |
| order_desc | varchar(120) | NO   |     | NULL    |                |
+------------+--------------+------+-----+---------+----------------+

# 显示建表语句
mysql> show create table app1_order;
+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table      | Create Table                                                                                                                                                                                                                                                                                                                          |
+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| app1_order | CREATE TABLE `app1_order` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `created_at` datetime(6) NOT NULL,
  `updated_at` datetime(6) NOT NULL,
  `order_id` varchar(30) NOT NULL,
  `order_desc` varchar(120) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `app1_order_order_id_fcb4fea8` (`order_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 |
+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

数据库备份操作

导出

# 导出所有的数据和表结构
# mysqldump -h 主机名 -u 用户名 -p 密码 数据库名 >导出文件名和存放路径
mysqldump -h localhost -uroot -p123456 demo > demo.sql

# 仅导出表结构 -d 表示仅导出表格结构
mysqldump -h localhost -uroot -p123456  -d demo > demo.sql

# 去掉所有的自增起始,不加那么自增字段(如id)则不从1开始
mysqldump -h localhost -uroot -p123456  -d demo | sed 's/AUTO_INCREMENT=[0-9]*\s//g'> demo.sql

导入

# mysql -h 主机名 -u 用户名 -p 密码 数据库名 <导出的数据库文件名和路径
mysql -h localhost -uroot -p123456 demo < demo.sql

# 或者直接在mysql中导入
drop databases demo if exist; 
create databases demo if not exist; 
source demo.sql; 

相关文章

  • mysql语句以及实例

    数据库操作 数据库备份与恢复 备份mydb数据库,使用mydb.sql文件存储 备份mydb数据库中的stu表,使...

  • Mysql 数据库备份(mysqldump)

    Mysql 数据库备份(mysqldump) 数据库的备份分类: 第一类: 物理备份:对数据库操作系统的物理文件(...

  • 2019-07-08

    数据库 MySQL数据库的基本操作(增删改查)高级操作视图备份和还原事务触发器函数存储过程 什么是数据库?数据库(...

  • Linux命令行下备份还原MySQL数据库

    一、数据库备份 1、备份全部数据库 2、备份单个数据库 3、备份多个数据库 二、数据库还原 1、默认还原备份 2、...

  • 主从复制

    一般操作主数据库。从数据库不能直接被操作,只能用来做备份(操作从数据库,可能会导致Slave_SQL_Runnin...

  • Mysql数据备份导出csv文件

    Mysql数据库备份 1 . 备份数据库 备份多个数据库 备份所有数据库 2 . 备份表数据 还原数据 导出数据到...

  • Linux中MySQL数据库备份与还原

    1、操作系统及数据库版本: 【操作系统】:CentOS-7 【数据库】:mysql-5.5.3 2、备份命令: 【...

  • MySQL数据库的备份和还原

    备份数据库 备份一个数据库 备份数据并用GZip压缩 备份多个数据库 备份所有数据库 迁移到新服务器 还原数据库 ...

  • 数据库附加、分离、还原、备份(sqlserver2014)

    数据库附加 数据库还原(未完待续) 数据库备份 完全备份 差异备份 查看备份介质中的备份信息 restore he...

  • mysql数据库的备份

    完全整个备份 数据库的备份xtrabackup 恢复数据的准备工作 以上操作是为了确保数据的完整 停止数据库 清空...

网友评论

    本文标题:【数据库】数据库的备份操作

    本文链接:https://www.haomeiwen.com/subject/ytymkdtx.html