仅使用MySQL命令备份MySQL数据库

仅使用MySQL命令备份MySQL数据库,mysql,database,phpmyadmin,mysqldump,database-backups,Mysql,Database,Phpmyadmin,Mysqldump,Database Backups,我有一个非常奇怪的web主机,现在是周末,sysop不可用,我们需要对站点进行更改。要做到这一点,我们需要一个数据库后备位置,所以需要一个数据库备份。我可以使用SSH作为我的用户帐户,并发现我可以在Linux上运行“mysql”命令行命令。但是当我尝试mysqldump命令时,它总是告诉我user@localhost这是不允许的。我阅读了mysqldump上的文档,尝试了各种变体,然后尝试查看命令本身,看看它是否旧,是否需要使用旧的指令 所以,运气不好。我们所能做的就是运行mysql命令。同样,

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

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

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

只需导出到CSV即可:


如果您可以使用普通的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

当您点击return时,系统会询问您与“admin”用户关联的密码。

如果您可以使用命令行mysql连接并查询您的数据库,那么mysqldump应该可以正常工作-发生了什么错误/报告了什么错误?它说“user@localhost“访问被拒绝。(当然,我不能透露“user”是谁,但这是我通过mysql命令正确使用的用户。)此外,我还尝试了--user“user@localhost“,--用户”user@10.10.10.10,和--user“user”--都没有用。如果他们需要快速恢复数据,这与巧克力茶壶一样有用。:-)您可以使用csv快速恢复,类似于:将数据本地填充“which.csv”加载到以“,”结尾的表中“'行以'\n'结尾,谢谢@middaparka。事实上,我不知道我做错了什么。它正在使用您的语法工作!我不明白为什么。然而,这就意味着这个问题与其他类似的问题是重复的。我想知道我是否应该删除这个问题?@Volomike没有必要删除StackOverflow上的问题。(如果不是这样的话,这个问题现在已经作为一个副本结束了。)如果将来有问题,可以根据需要合并问题,等等。很高兴一切都安排妥当了。:-)