MySQL如何实现表的多样化备份策略?

2026-05-26 01:442阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计840个文字,预计阅读时间需要4分钟。

MySQL如何实现表的多样化备份策略?

目录 + 1. 第一种,小表的备份 + 2. 第二种,对整个数据库的备份与恢复 + 2.1 对整个数据库进行备份 + 2.2 对整个数据库进行恢复 + 3. 第三种,对某个数据表进行备份 + 3.1 对整个数据表进行备份 + 3.2 对整个数据表进行恢复

MySQL如何实现表的多样化备份策略?

目录
  • 1.第一种,小表的备份
  • 2.第2种,对整个数据库的备份与恢复
    • 2.1 对整个数据库进行备份
    • 2.2对整个数据库进行恢复
  • 3.第3种,对某个数据表进行备份
    • 3.1 对整个数据表进行备份
    • 3.2对整个数据表进行恢复
  • 四.第4种,制定时间点的备份和恢复和实时二进制日志备份
    • 五.使用xtrabackup进行备份

      1.第一种,小表的备份

      1.create table A as select * from B

      2.create table A like select * from B

      3.分布操作

      create table A like B;

      insert into B select * from A;

      2.第2种,对整个数据库的备份与恢复

      2.1 对整个数据库进行备份

      1.创建备份用户和密码:zhangsan_backup/zs123
      create user 'zhangsan_backup'@'localhost' identified by 'zs123';
      2.赋予该用户有哪些权限
      grant select ,reload,lock tables,replication client,show view,event,process on *.* to 'zhangsan_backup'@'localhost';
      3.备份数据
      #1
      mysqldump -uzhangsan_backup -p --master-data=2 --single-transaction --routines --triggers --events bonc_test > e:\\bonc_test2.sql
      #2
      mysqldump -uzhangsan_backup -p bonc_test > e:\\bonc_test.sql

      mysql> create user 'zhangsan_backup'@'localhost' identified by 'zs123'; ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement mysql> flush privileges; Query OK, 0 rows affected (0.15 sec) mysql> create user 'zhangsan_backup'@'localhost' identified by 'zs123'; Query OK, 0 rows affected (0.02 sec) mysql> grant select ,reload,lock tables,replication client,show view,event,process on *.* to 'zhangsan_backup'@'localho st'; Query OK, 0 rows affected (0.02 sec) C:\Windows\system32>mysqldump -uzhangsan_backup -p --master-data=2 --single-transaction --routines --triggers --events bonc_test > e:\\bonc_test2.sql Enter password: ***** C:\Windows\system32>

      注意如果在操作中报:mysqldump: Error: Binlogging on server not active的错误,则在windows中的my.ini文件中最后面新增:

      #备份数据库
      log-bin=mysql-bin
      server-id=1
      然后重新启动服务。即可。

      2.2对整个数据库进行恢复

      #1.先创建一个数据库 create database bak_bonc_test; #2.进行恢复数据 mysql -uroot -p bak_bonc_test <e:\\bonc_test2.sql

      #3.查看:

      3.第3种,对某个数据表进行备份

      3.1 对整个数据表进行备份

      库:bonc_test 表: user_login_tb

      mysqldump -uzhangsan_backup -p --master-data=2 --single-transaction --routines --triggers --events bonc_test user_login_tb > e:\\user_login_tb.sql

      3.2对整个数据表进行恢复

      #先删除bak_bonc_test 库中user_login_tb的这个表

      #对其进行恢复:source e:\\user_login_tb.sql;

      四.第4种,制定时间点的备份和恢复和实时二进制日志备份

      这两部分后续完善,参考《可扩展高性能mysql》第4天

      五.使用xtrabackup进行备份

      www.jb51.net/article/266542.htm

      到此这篇关于Mysql中备份表的几种方法(三种方法)的文章就介绍到这了,更多相关mysql备份表内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

      本文共计840个文字,预计阅读时间需要4分钟。

      MySQL如何实现表的多样化备份策略?

      目录 + 1. 第一种,小表的备份 + 2. 第二种,对整个数据库的备份与恢复 + 2.1 对整个数据库进行备份 + 2.2 对整个数据库进行恢复 + 3. 第三种,对某个数据表进行备份 + 3.1 对整个数据表进行备份 + 3.2 对整个数据表进行恢复

      MySQL如何实现表的多样化备份策略?

      目录
      • 1.第一种,小表的备份
      • 2.第2种,对整个数据库的备份与恢复
        • 2.1 对整个数据库进行备份
        • 2.2对整个数据库进行恢复
      • 3.第3种,对某个数据表进行备份
        • 3.1 对整个数据表进行备份
        • 3.2对整个数据表进行恢复
      • 四.第4种,制定时间点的备份和恢复和实时二进制日志备份
        • 五.使用xtrabackup进行备份

          1.第一种,小表的备份

          1.create table A as select * from B

          2.create table A like select * from B

          3.分布操作

          create table A like B;

          insert into B select * from A;

          2.第2种,对整个数据库的备份与恢复

          2.1 对整个数据库进行备份

          1.创建备份用户和密码:zhangsan_backup/zs123
          create user 'zhangsan_backup'@'localhost' identified by 'zs123';
          2.赋予该用户有哪些权限
          grant select ,reload,lock tables,replication client,show view,event,process on *.* to 'zhangsan_backup'@'localhost';
          3.备份数据
          #1
          mysqldump -uzhangsan_backup -p --master-data=2 --single-transaction --routines --triggers --events bonc_test > e:\\bonc_test2.sql
          #2
          mysqldump -uzhangsan_backup -p bonc_test > e:\\bonc_test.sql

          mysql> create user 'zhangsan_backup'@'localhost' identified by 'zs123'; ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement mysql> flush privileges; Query OK, 0 rows affected (0.15 sec) mysql> create user 'zhangsan_backup'@'localhost' identified by 'zs123'; Query OK, 0 rows affected (0.02 sec) mysql> grant select ,reload,lock tables,replication client,show view,event,process on *.* to 'zhangsan_backup'@'localho st'; Query OK, 0 rows affected (0.02 sec) C:\Windows\system32>mysqldump -uzhangsan_backup -p --master-data=2 --single-transaction --routines --triggers --events bonc_test > e:\\bonc_test2.sql Enter password: ***** C:\Windows\system32>

          注意如果在操作中报:mysqldump: Error: Binlogging on server not active的错误,则在windows中的my.ini文件中最后面新增:

          #备份数据库
          log-bin=mysql-bin
          server-id=1
          然后重新启动服务。即可。

          2.2对整个数据库进行恢复

          #1.先创建一个数据库 create database bak_bonc_test; #2.进行恢复数据 mysql -uroot -p bak_bonc_test <e:\\bonc_test2.sql

          #3.查看:

          3.第3种,对某个数据表进行备份

          3.1 对整个数据表进行备份

          库:bonc_test 表: user_login_tb

          mysqldump -uzhangsan_backup -p --master-data=2 --single-transaction --routines --triggers --events bonc_test user_login_tb > e:\\user_login_tb.sql

          3.2对整个数据表进行恢复

          #先删除bak_bonc_test 库中user_login_tb的这个表

          #对其进行恢复:source e:\\user_login_tb.sql;

          四.第4种,制定时间点的备份和恢复和实时二进制日志备份

          这两部分后续完善,参考《可扩展高性能mysql》第4天

          五.使用xtrabackup进行备份

          www.jb51.net/article/266542.htm

          到此这篇关于Mysql中备份表的几种方法(三种方法)的文章就介绍到这了,更多相关mysql备份表内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!