我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Docker中Mysql数据备份

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Docker中Mysql数据备份

Docker中Mysql数据备份

1.创建备份用户

百度过程中,有人说用最高权限root直接备份,不可取不安全,所以单独创建一个用于备份的用户
学习–去看–Mysql 备份所需要的权限

1.进入Mysql容器docker exec -it 40e25670af17 /bin/bash2.进入mysql,-p 回车 输入密码(密码是隐式),再回车即登陆进去mysql -uroot -p3.创建用户 '账号'@'权限' IDENTIFIED BY '密码'mysql> CREATE USER 'mysql_back'@'%' IDENTIFIED BY 'mysql_back';4.查询用户,分别执行下面两句mysql> use mysql;mysql> select user from user;+------------------+| user             |+------------------+| mysql_back       || mysql.infoschema || mysql.session    || mysql.sys        || root             |+------------------+5.设置普通权限 - 感觉不加也可以,主要是下面6的权限mysql> GRANT all ON test_db.* TO 'mysql_back'@'%' WITH GRANT OPTION;
6.设置备份需要的权限,若未加,备份会报错mysql> GRANT reload,REPLICATION CLIENT,select ON *.* TO 'mysql_back'@'%' WITH GRANT OPTION;7.查询用户权限 mysql> show grants for 'mysql_back'@'%'; +---------------------------------------------------------------------------------------+| Grants for mysql_back@%       |+---------------------------------------------------------------------------------------+| GRANT SELECT, RELOAD, REPLICATION CLIENT ON *.* TO `mysql_back`@`%` WITH GRANT OPTION || GRANT ALL PRIVILEGES ON `test_db`.* TO `mysql_back`@`%` WITH GRANT OPTION             |+---------------------------------------------------------------------------------------+

学习–去看后半部分–备份数据库需要的权限

2.准备测试数据

1.创建数据库mysql> CREATE DATABASE IF NOT EXISTS test_db DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci;2.查询数据库mysql> show databases;+--------------------+| Database           |+--------------------+| test_db            || mysql              || performance_schema |+--------------------+12 rows in set (0.00 sec)3.查询创建数据库完整语句show create database test_db; +----------+-----------------------------------------------------------------------------------------------------------------------------------+| Database | Create Database   |+----------+-----------------------------------------------------------------------------------------------------------------------------------+| test_db  | CREATE DATABASE `test_db`   |+----------+-----------------------------------------------------------------------------------------------------------------------------------+1 row in set (0.00 sec)4.创建表,两句分开执行mysql> use test_db;mysql> create table tb_test ( id INT(11), name VARCHAR(25) );5.查看表mysql> show tables;+-------------------+| Tables_in_test_db |+-------------------+| tb_test           |+-------------------+1 row in set (0.00 sec)6.插入数据 mysql> insert into tb_test values  (1,"1"),(2,"2";    7.查询数据mysql> select * from tb_test;+------+------+| id   | name |+------+------+|    1 | 1    ||    2 | 2    |+------+------+4 rows in set (0.00 sec)

3.完全备份

1.备份命令docker exec -it 40e25670af17 mysql -umysql_back -pmysql_back test_db < /data/docker/mysql-back/TestBackup.sql2.备份完进入mysql 容器docker exec -it 40e25670af17 /bin/bash3.从宿主机 mysql-back 下的sql 复制内容到 容器内部 tmp 下docker cp /data/docker/mysql-back/TestBackup.sql 40e25670af17:/tmp/4.进入mysql,回车输入密码mysql -uroot -p5.使用test_db数据库mysql> use test_db;6.插入新数据mysql> insert into tb_test values (3,'3a'),(4,'4a');7.查询mysql> select * from tb_test;+------+------+| id   | name |+------+------+|    1 | 1    ||    2 | 2    ||    3 | 3a   ||    4 | 4a   |+------+------+4 rows in set (0.00 sec)
8.恢复 完全备份 数据mysql> source /tmp/TestBackup.sqlQuery OK, 0 rows affected (0.00 sec)Query OK, 0 rows affected (0.00 sec)Query OK, 0 rows affected (0.00 sec......
9.再次查询数据,发现恢复到插入新数据前mysql> select * from tb_test;+------+------+| id   | name |+------+------+|    1 | 1    ||    2 | 2    |+------+------+2 rows in set (0.00 sec)

4.知识点解析

数据库备份有哪些方式?答:数据库备份分为 逻辑备份 与 物理备份,逻辑备份 分为 完全备份、差异备份、增量备份3种

学习–了解–数据库的两种备份方式:逻辑备份和物理备份
学习–了解–一分钟看懂完全备份、差异备份以及增量备份

.为什么给数据库用户设置了 all 权限,依旧需要额外再设置备份需要的权限?答:因为 ALL PRIVILEGES 不包含备份用户需要的权限ALL PRIVILEGES 包含[select,insert,update,delete,create,drop,references,index,alter,create temporary tables,lock tables,execute,create view,show view,create routine,alter routine,event,trigger]
2.备份语句解析【如果想备份全部数据库 --all-databases,/home/*.sql 备份的位置mysqldump -u root -p密码 --all-databases> /home/0716_.sql;】【这个语句中mysqldump -uroot -p --single-transaction --master-data=2 --routines --flush-logs -B --all-databases > fullbackupfile28.sql--single-transaction、 --master-data=2 表示一致性备份,一般一起使用不单用--routines 备份函数触发器--flush-logs备份前刷新日志(保证数据完全备份,若数据库开了二进制日志,则不需要使用该参数和一致性参数--single-transaction、 --master-data=2)-B:最大的特点就是加入了库,数据恢复时不需要再创建库】

学习–重要–Linux下MySQL数据库备份和恢复-定时任务
学习–Docker MySql 备份与还原
学习–docker MySQL数据库的备份与还原,以及每天定时自动备份
学习–linux下mysql数据库备份与恢复(全量+增量)

来源地址:https://blog.csdn.net/weixin_45941687/article/details/131809486

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Docker中Mysql数据备份

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL 备份数据库

原文:https://www.cnblogs.com/better-farther-world2099/articles/10276087.htmlMySQL 备份数据库原文地址:https://www.cnblogs.com/guxingy/p/134341
MySQL 备份数据库
2021-07-21

docker 使用mysqldump命令备份导出项目中的mysql数据

下图为镜像重命名后的镜像名为uoj,现在要把这个镜像中的mysql导出 运行如下命令: docker exec -it uoj mysqldump -uroot -proot app_uoj233 >/data/database_bak/app_uoj233.
docker 使用mysqldump命令备份导出项目中的mysql数据
2019-05-10

MySQL数据备份中mysqldump怎么用

这篇文章主要介绍了MySQL数据备份中mysqldump怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 一、mysqldump 简介mysqldump 是 MySQL
2023-06-25

python备份mysql数据库

原本可以用shell完成的功能,现在学习python,就照抄照改。完成数据库备份。 #!/usr/bin/python#-*-coding:utf-8-*-#MYSQL BACKimport string,time,os,datetimei
2023-01-31

mysql数据如何备份

mysql 数据备份方法MySQL 数据备份是确保数据安全和防范数据丢失的至关重要的一步。以下几种方法可以用来备份 MySQL 数据:1. mysqldumpmysqldump 是 MySQL 官方提供的命令行工具,用于创建数据库的
mysql数据如何备份
2024-06-15

centos中怎么备份mysql数据库

本篇内容介绍了“centos中怎么备份mysql数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!代码如下:#!/bin/bash#bac
2023-06-09

《MySQL数据库》MySQL备份恢复

前言MySQL数据库最重要的部分就是数据,所以保证数据不被损坏尤为重要,大家都知道911事件,当时非常多的数据丢失,导致经济混乱。接下来我们就来讲讲MySQL是如何保障数据完整,应对特殊情况,如何恢复等。备份备份检查:保证备份没有问题,并且定期演练恢复数据。备
《MySQL数据库》MySQL备份恢复
2016-12-27

mysql数据库怎么备份数据

有多种方法可以备份MySQL数据库中的数据,以下是其中一种简单的方法:使用命令行工具进行备份:在命令行中输入以下命令,使用“mysqldump”工具来备份数据库:mysqldump -u username -p dbname > back
mysql数据库怎么备份数据
2024-05-21

编程热搜

目录