设为首页 收藏本站
查看: 591|回复: 0

[经验分享] MySQL数据库-完全备份及恢复

[复制链接]

尚未签到

发表于 2018-10-8 07:04:28 | 显示全部楼层 |阅读模式
  MySQL数据库-完全备份及恢复
  数据库备份的分类
  物理角度:
  冷备份;也称脱机备份,特点:关掉数据库再备份
  热备份:也称联机备份,特点:开启数据库再备份
  温备份:数据库只有可读权限的状态下备份
  逻辑角度:
  对数据库的对象的备份,例如数据表,及数据表中的一些sql语句等
  备份策略角度:
  完全备份:每次对数据进行整体的备份
  差异备份:在第一次完整备份a数据后,以后的每次的备份是a+b,b就是针对于a数据发生变化的数据,称之为‘差异数据’。缺点:b的数据内存会越来越大b+=b,导致数据恢复缓慢。恢复数据方法:只需恢复a和最后一次的b即可.(注意:这里的差异备份只能用a与b)
  增量备份:
  对象:固定的a数据+b1+b2+...+bn.
  每次备份b都是独立的一次备份
  恢复数据的方法:a+b1+b2+...+bn,缺点:若是b1次备份到bn次备份之间的任何一备份的数据出现问题,那么都无法恢复数据。
  mysql的数据库,数据表的创建
  [root@ns2~]# mysql -u root -p123456
  Welcometo the MySQL monitor.  Commands end with; or \g.

  YourMySQL connection>  Serverversion: 5.5.22-log Source distribution
  Copyright(c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
  Oracleis a registered trademark of Oracle Corporation and/or its
  affiliates.Other names may be trademarks of their respective
  owners.
  Type'help;' or '\h' for help. Type '\c' to clear the current input statement.
  mysql>
  mysql> create database auth1;
  QueryOK, 1 row affected (0.04 sec)
  mysql>use auth1;
  Databasechanged
  mysql>create table user(name char(10) not null,ID int(30));
  QueryOK, 0 rows affected (0.09 sec)
  mysql>insert into user values('amber','123');
  QueryOK, 1 row affected (0.01 sec)
  mysql>select * from user;
  +-------+------+

  |name  |>  +-------+------+
  |amber |  123 |
  +-------+------+
  1row in set (0.00 sec)
  冷备份:
  [root@ns2~]# service mysqld stop
  Shuttingdown MySQL....                                    [确定]
  [root@ns2~]# yum -y install xz
  [root@ns2~]# tar Jcf mysql_all-$(date +%F).tar.xz /usr/local/mysql/data/
  tar:从成员名中删除开头的“/”
  [root@ns2~]# mkdir bak
  [root@ns2~]# mv /usr/local/mysql/data/*  bak/
  [root@ns2~]# tar xf mysql_all-2017-06-20.tar.xz
  [root@ns2~]# cd usr/local/mysql/data/
  [root@ns2data]# mv  * /usr/local/mysql/data/
  [root@ns2data]# /etc/init.d/mysqld start
  StartingMySQL...                                          [确定]
  [root@ns2data]# mysql -uroot -p123456
  Welcometo the MySQL monitor.  Commands end with; or \g.

  YourMySQL connection>  Serverversion: 5.5.22-log Source distribution
  Copyright(c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
  Oracleis a registered trademark of Oracle Corporation and/or its
  affiliates.Other names may be trademarks of their respective
  owners.
  Type'help;' or '\h' for help. Type '\c' to clear the current input statement.
  mysql>select  * from auth.user;
  ERROR1146 (42S02): Table 'auth.user' doesn't exist
  mysql>select  * from auth1.user;
  +-------+------+

  |name  |>  +-------+------+
  |amber |  123 |
  +-------+------+
  1row in set (0.01 sec)
  单个库完全备份
  [root@ns2data]# mkdir /backup
  [root@ns2data]# mysqldump -uroot -p auth1 >/backup/auth1-$(date +%Y%m%d).sql
  对多个库进行完全备份
  [root@ns2data]# mysqldump -uroot -p123456 --databases mysql auth1  >/backup/mysql+auth1-$(date +%Y%m%d).sql
  对所有库进行备份
  [root@ns2data]# mysqldump -uroot -p123456 --opt --all-databases >/backup/mysql_all-$(date +%Y%m%d).sql
  对表进行完全备份
  [root@ns2data]# mysqldump -uroot -p123456  auth1 user>/backup/auth1_user-$(date +%Y%m%d).sql
  [root@ns2data]# mysqldump -uroot -p123456 -d mysql user>/backup/desc_mysql_user.$(date +%y%m%d)
  [root@ns2data]# egrep -Ev '^/|^--|^$' /backup/desc_mysql_user.170620  //
  DROPTABLE IF EXISTS `user`;
  CREATETABLE `user` (
  `Host` char(60) COLLATE utf8_bin NOT NULLDEFAULT '',
  `User` char(16) COLLATE utf8_bin NOT NULLDEFAULT '',
  `Password` char(41) CHARACTER SET latin1COLLATE latin1_bin NOT NULL DEFAULT '',
  `Select_priv` enum('N','Y') CHARACTER SET utf8NOT NULL DEFAULT 'N',
  `Insert_priv` enum('N','Y') CHARACTER SETutf8 NOT NULL DEFAULT 'N',
  `Update_priv` enum('N','Y') CHARACTER SETutf8 NOT NULL DEFAULT 'N',
  `Delete_priv` enum('N','Y') CHARACTER SETutf8 NOT NULL DEFAULT 'N',
  `Create_priv` enum('N','Y') CHARACTER SETutf8 NOT NULL DEFAULT 'N',
  `Drop_priv` enum('N','Y') CHARACTER SET utf8NOT NULL DEFAULT 'N',
  `Reload_priv` enum('N','Y') CHARACTER SETutf8 NOT NULL DEFAULT 'N',
  `Shutdown_priv` enum('N','Y') CHARACTER SETutf8 NOT NULL DEFAULT 'N',
  `Process_priv` enum('N','Y') CHARACTER SETutf8 NOT NULL DEFAULT 'N',
  `File_priv` enum('N','Y') CHARACTER SET utf8NOT NULL DEFAULT 'N',
  `Grant_priv` enum('N','Y') CHARACTER SET utf8NOT NULL DEFAULT 'N',
  `References_priv` enum('N','Y') CHARACTER SETutf8 NOT NULL DEFAULT 'N',
  `Index_priv` enum('N','Y') CHARACTER SET utf8NOT NULL DEFAULT 'N',
  `Alter_priv` enum('N','Y') CHARACTER SET utf8NOT NULL DEFAULT 'N',
  `Show_db_priv` enum('N','Y') CHARACTER SETutf8 NOT NULL DEFAULT 'N',
  `Super_priv` enum('N','Y') CHARACTER SET utf8NOT NULL DEFAULT 'N',
  `Create_tmp_table_priv` enum('N','Y')CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Lock_tables_priv` enum('N','Y') CHARACTERSET utf8 NOT NULL DEFAULT 'N',
  `Execute_priv` enum('N','Y') CHARACTER SETutf8 NOT NULL DEFAULT 'N',
  `Repl_slave_priv` enum('N','Y') CHARACTER SETutf8 NOT NULL DEFAULT 'N',
  `Repl_client_priv` enum('N','Y') CHARACTERSET utf8 NOT NULL DEFAULT 'N',
  `Create_view_priv` enum('N','Y') CHARACTERSET utf8 NOT NULL DEFAULT 'N',
  `Show_view_priv` enum('N','Y') CHARACTER SETutf8 NOT NULL DEFAULT 'N',
  `Create_routine_priv` enum('N','Y') CHARACTERSET utf8 NOT NULL DEFAULT 'N',
  `Alter_routine_priv` enum('N','Y') CHARACTERSET utf8 NOT NULL DEFAULT 'N',
  `Create_user_priv` enum('N','Y') CHARACTERSET utf8 NOT NULL DEFAULT 'N',
  `Event_priv` enum('N','Y') CHARACTER SET utf8NOT NULL DEFAULT 'N',
  `Trigger_priv` enum('N','Y') CHARACTER SETutf8 NOT NULL DEFAULT 'N',
  `Create_tablespace_priv` enum('N','Y')CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `ssl_type` enum('','ANY','X509','SPECIFIED')CHARACTER SET utf8 NOT NULL DEFAULT '',
  `ssl_cipher` blob NOT NULL,
  `x509_issuer` blob NOT NULL,
  `x509_subject` blob NOT NULL,
  `max_questions` int(11) unsigned NOT NULLDEFAULT '0',
  `max_updates` int(11) unsigned NOT NULLDEFAULT '0',
  `max_connections` int(11) unsigned NOT NULLDEFAULT '0',
  `max_user_connections` int(11) unsigned NOTNULL DEFAULT '0',
  `plugin` char(64) COLLATE utf8_bin DEFAULT'',
  `authentication_string` text COLLATEutf8_bin,
  PRIMARY KEY (`Host`,`User`)
  )ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Users and globalprivileges';
  使用MySQLdump备份后,恢复数据
  数据库恢复
  [root@ns2data]# mysql -uroot -p123456 -e "drop database auth1;"
  [root@ns2data]# mysql -uroot -p123456 < /backup/mysql_all-20170620.sql
  或
  mysql> source/backup/mysql_all-20170620.sql
  数据表恢复
  [root@ns2data]# mysql -uroot -p123456 -e 'drop table auth1.user;'
  [root@ns2data]# mysql -uroot -p123456 auth1 < /backup/auth1_user-20170620.sql


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-615209-1-1.html 上篇帖子: salt 执行结果返回mysql-feng 下篇帖子: Keepalived +Mysql 主主同步
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表