【问题标题】:MySQL 5.6 cannot backup databaseMySQL 5.6 无法备份数据库
【发布时间】:2016-08-27 04:36:02
【问题描述】:

在 Windows 上使用 Workbench 客户端 (v6.3.5 x64) 的最新副本,我试图从我的 MySQL 数据库创建一个转储文件,但总是只得到一个 0~1Ko 的转储文件。我已经在具有相同版本的两台服务器上尝试过,我得到了相同的结果:

  • 执行任务时出错:'ascii' 编解码器无法对位置 7 中的字符 u'\xa3' 进行编码:序数不在范围内 (128)
  • 执行任务时出错 [错误 32] 进程无法访问该文件,因为它正被另一个进程使用:'c:\users\user.web\appdata\local\temp\2\tmpp0town.cnf'

这个数据库是本地IIS网站使用的,我把整个IIS服务停了再试,还是一样。

以前我可以获取转储文件,您可以在下面的文件资源管理器屏幕截图中看到:

我认为强制Workbench使用正确版本的Mysqldump工具可以解决问题,所以我去了Workbench Preferences:编辑->首选项->管理->并输入mysqldump工具文件的路径:“C:\ Program Files\MySQL\MySQL Server 5.6\bin\mysqldump.exe”,但这并没有解决问题。

我也尝试使用命令行制作转储文件,但失败了:

我已经仔细检查了密码,这是我在 Workbench 上连接 MySQL 实例时常用的密码。

有人知道如何解决这个问题吗?

【问题讨论】:

    标签: mysql mysql-workbench mysqldump


    【解决方案1】:

    这里有两件事:

    1) 确保在命令行中将包含空格的路径和名称用双引号括起来,否则这些名称可能会被解释为不同的参数。

    2) MySQL Workbench 中的错误消息似乎表明您的表中存在不符合预期格式的数据。检查您要导出的表及其包含的数据。从错误看来,您有一个包含非 ascii 字符的 ascii 编码列。如果是这种情况,您必须首先整合您的表格,以便编码与内容匹配(即将列或整个表格转换为例如 utf8),或者删除所有与预期编码不匹配的内容。

    【讨论】:

    • - 1) 我缩短了密码,最后两个字符似乎有问题:“&W” - 2) 我卸载了任何版本的 MySQL 并删除了 Program Files 文件夹中的目录,然后重新安装了一个新版本并使用utf8创建了一个包含1个表和1行的新数据库,问题仍然存在。我已经注释了下一个:stackoverflow.com/questions/37004591/…
    【解决方案2】:

    使用 MySQL Workbench 8.0 我遇到了与您的第一个相同的错误,除了我的 u'\xa3' 字符位于位置 4。我们收到该错误是因为在我们的密码中指定的从 0 开始的位置有一个 £ 字符。您是否知道至少since 2011 MySQL Workbench does not allow 包含non-ascii characters 用于导出/转储数据库的密码?在这一点上,我们可以认为它是一个既定的传统——例如,MySQL Workbench 是一个传统上很糟糕的软件,如果可以的话,你应该完全使用其他东西。

    【讨论】:

      猜你喜欢
      • 2013-04-14
      • 1970-01-01
      • 2013-09-03
      • 1970-01-01
      • 2011-11-10
      • 2021-04-20
      • 1970-01-01
      • 1970-01-01
      • 2020-02-13
      相关资源
      最近更新 更多