【问题标题】:Backing Up MySQL Database Only With MySQL Command仅使用 MySQL 命令备份 MySQL 数据库
【发布时间】:2011-06-14 03:32:55
【问题描述】:

我有一个非常奇怪的虚拟主机,现在是周末,系统管理员不可用,我们需要对站点进行更改。为此,我们需要一个数据库后备位置,即数据库备份。我可以 SSH 作为我的用户帐户,发现我可以在 Linux 上运行“mysql”命令行命令就好了。但是当我尝试 mysqldump 命令时,它一直告诉我 user@localhost 是不允许的。我阅读了 mysqldump 上的文档并尝试了各种变体,然后尝试查看命令本身以查看它是否过时以及是否需要使用旧指令。

所以,没有运气。我们所能做的就是运行 mysql 命令。同样,我们尝试在此主机上安装 phpmyadmin,但我们遇到了问题,我们得到的是白页而不是错误,并且无法查看错误日志。我在 PHP 中执行了通常的步骤来将错误转储到屏幕上,但是在运行 phpmyadmin setup.php 时我们只得到一个白页。

那么,有没有一种方法可以纯粹使用“mysql”命令来导出我们的数据库架构和数据?

【问题讨论】:

  • 如果您可以使用命令行 mysql 连接并查询您的数据库,那么 mysqldump 应该可以正常工作 - 出了什么问题/报告了哪些错误?
  • 它说“user@localhost”访问被拒绝。 (我当然不能透露“用户”是谁,但它是我通过 mysql 命令正确使用的用户。)另外,我尝试了 --user "user@localhost", --user "user@10.10.10.10 ", 和 --user "user" -- 都无济于事。

标签: mysql database phpmyadmin mysqldump database-backups


【解决方案1】:

如果你可以使用普通的mysql命令,你应该可以使用mysqldump命令:

mysqldump -u [username] -p [database name] > [output filename]

例如,如果您的用户名是“admin”,您的数据库名称是“epic_website”,并且您想将 SQL 保存到当前目录中名为“epic_website_20110123.sql”的文件中,您可以使用:

mysqldump -u admin -p epic_website > epic_website_20110123.sql

当您点击返回时,系统会要求您输入与“admin”用户关联的密码。

【讨论】:

  • 谢谢@middaparka。实际上,我不知道我做错了什么。它现在正在使用您的语法!我不明白为什么。但是,这意味着这个问题与其他类似问题的重复。我想知道我是否应该删除这个问题?
  • @Volomike 无需删除 StackOverflow 上的问题。 (否则,这个问题现在将作为副本关闭。)如果将来有问题,可以根据需要合并问题等。很高兴一切都整理好了。 :-)
【解决方案2】:

【讨论】:

  • 如果他们需要快速恢复数据,这与巧克力茶壶的用途差不多。 :-)
  • 您可以使用 csv 快速恢复,例如:将数据本地 infile 'whatever.csv' 加载到表中 任何以 ',' 结尾的字段由 '"' 包围的行以 '\n' 结尾跨度>
猜你喜欢
  • 2011-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多