使用mysqldump导出指定MySQL数据库及表报错求助
解决mysqldump指定数据库和表时的错误问题
我来帮你分析下问题出在哪,再给你正确的命令写法:
问题根源
你的命令里同时混用了--databases和--tables参数,这俩在mysqldump里是互斥的——当你指定--tables时,--databases会被自动忽略;另外你用--tables=mm_cash这种带等号传参的方式也不符合mysqldump的语法要求,这就是报错的核心原因。
正确的命令写法
你可以选下面两种方式之一,来导出DBname2中的mm_cash表:
方式1:直接指定数据库和表(最简洁)
mysqldump --host=111.111.1.1 --user=fakeuser --password=fakepas DBname2 mm_cash --where="true limit 1" > D:\test.txt
方式2:使用--tables参数(无需搭配--databases)
mysqldump --host=111.111.1.1 --user=fakeuser --password=fakepas --tables DBname2 mm_cash --where="true limit 1" > D:\test.txt
额外提示
关于命令行输入密码的警告,建议你别直接在命令行明文写密码,更安全的做法是只写--password(不带等号和密码值),执行命令后会提示你交互式输入密码;或者提前设置MYSQL_PWD环境变量来传递密码,避免密码泄露风险。
内容的提问来源于stack exchange,提问作者SN Palita




