AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 4126
Accepted
RPK
RPK
Asked: 2011-07-27 09:47:33 +0800 CST2011-07-27 09:47:33 +0800 CST 2011-07-27 09:47:33 +0800 CST

如何启用 MySQL 的所有可能的备份选项

  • 772

我通常使用 MySQL Administrator 来备份我的数据库。我想为 MySQL 中的可用备份类型启用所有备份选项。我注意到二进制日志没有在我的电脑上运行。如何启用它?我还想知道在命令行mysqldump命令中包含哪些参数以进行完美的有保证的备份。

mysql backup
  • 2 2 个回答
  • 2125 Views

2 个回答

  • Voted
  1. Best Answer
    RolandoMySQLDBA
    2011-07-27T10:34:32+08:002011-07-27T10:34:32+08:00

    将以下内容添加到 my.ini

    [mysqld]
    log-bin=mysql-bin
    

    然后重启mysql

    至于 mysqldump,你需要的大部分选项已经在 --opt 中默认了。这是我的选择参数:

    mysqldump -h... -u... -p... --master-data=2 --routines --triggers --flush-privileges --all-databases > DataDump.sql
    

    这是我的选择的解释(包括默认的--opt)

    --opt               Same as --add-drop-table, --add-locks, --create-options,
                        --quick, --extended-insert, --lock-tables, --set-charset,
                        and --disable-keys. Enabled by default, disable with
                          --skip-opt.
    -R, --routines      Dump stored routines (functions and procedures).
    --triggers          Dump triggers for each dumped table.
    --flush-privileges  Emit a FLUSH PRIVILEGES statement after dumping the mysql
                        database.  This option should be used any time the dump
                        contains the mysql database and any other database that
                        depends on the data in the mysql database for proper
                        restore.
    --master-data[=#]   This causes the binary log position and filename to be
                        appended to the output. If equal to 1, will print it as a
                        CHANGE MASTER command; if equal to 2, that command will
                        be prefixed with a comment symbol. This option will turn
                        --lock-all-tables on, unless --single-transaction is
                        specified too (in which case a global read lock is only
                        taken a short time at the beginning of the dump; don't
                        forget to read about --single-transaction below). In all
                        cases, any action on logs will happen at the exact moment
                        of the dump. Option automatically turns --lock-tables
                        off.
    

    如果要设置转储以准备复制从属,则需要 --master-data。转储时的主日志和位置将记录为转储文件第 22 行的注释(使用 --master-data=2)或命令(使用 --master-data=1)。

    更新 2011-07-26 15:20 EDT

    如果您想转储单独的数据库和单独的表,请按照此 URL 中的说明进行操作。

    • 1
  2. Derek Downey
    2011-07-28T06:56:24+08:002011-07-28T06:56:24+08:00

    Rolando 在日志中提到了如何启用二进制日志。您需要做的就是设置 log-bin 变量并重新启动 mysql。

    您可以确保在正在运行的服务器上启用二进制日志记录:

    mysql> SHOW VARIABLES LIKE 'log_bin%';
    +---------------------------------+-------+
    | Variable_name                   | Value |
    +---------------------------------+-------+
    | log_bin                         | ON    |
    | log_bin_trust_function_creators | OFF   |
    | log_bin_trust_routine_creators  | OFF   |
    +---------------------------------+-------+
    3 rows in set (0.05 sec)
    

    我认为非常重要的是要注意,您永远无法真正保证每次都能获得完美的备份。就像在生活中一样,没有什么是可以保证的。

    您需要设置备份策略并定期测试恢复。

    这样做可以确保...

    • 您可以从备份中恢复
    • 你熟悉你的策略,所以当灾难来临时,你不会摸索。
    • 您已经知道如何将其重新联机。
    • 1

相关问题

  • 是否有任何 MySQL 基准测试工具?[关闭]

  • 我在哪里可以找到mysql慢日志?

  • 如何优化大型数据库的 mysqldump?

  • 什么时候是使用 MariaDB 而不是 MySQL 的合适时机,为什么?

  • 组如何跟踪数据库架构更改?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    您如何显示在 Oracle 数据库上执行的 SQL?

    • 2 个回答
  • Marko Smith

    如何选择每组的第一行?

    • 6 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    我可以查看在 SQL Server 数据库上运行的历史查询吗?

    • 6 个回答
  • Marko Smith

    如何在 PostgreSQL 中使用 currval() 来获取最后插入的 id?

    • 10 个回答
  • Marko Smith

    如何在 Mac OS X 上运行 psql?

    • 11 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Marko Smith

    将数组参数传递给存储过程

    • 12 个回答
  • Martin Hope
    Manuel Leduc PostgreSQL 多列唯一约束和 NULL 值 2011-12-28 01:10:21 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Stuart Blackler 什么时候应该将主键声明为非聚集的? 2011-11-11 13:31:59 +0800 CST
  • Martin Hope
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    BrunoLM Guid vs INT - 哪个更好作为主键? 2011-01-05 23:46:34 +0800 CST
  • Martin Hope
    bernd_k 什么时候应该使用唯一约束而不是唯一索引? 2011-01-05 02:32:27 +0800 CST
  • Martin Hope
    Patrick 如何优化大型数据库的 mysqldump? 2011-01-04 13:13:48 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve