有谁知道当数据库名称的第一个字符是破折号时如何让 mysqldump 工作?例如:-s-oddly-named-db
我需要转储此数据库以供客户存档,但我从未见过有人创建以破折号作为第一个字符的数据库。在 MySQL 本身中,我可以使用反引号来“使用”它,并且一切正常,但我无法让 mysqldump 工作。
mysqldump -p --databases '-s-oddly-named-db'
给我的回应是:
mysqldump:未知选项“-s”
最佳答案
通过使用--
例如:
mysqldump -u root -pXXXX --databases -- -xDatabase
更多关于 --
在 man bash
中的含义:
Unless otherwise noted, each builtin command documented in this section as accepting options preceded by - accepts -- to signify the end of the options.
编辑感谢@Barmar评论
使用--
来表示选项结束是一种常见的约定,它由getopts()
库函数实现。这大概就是它与 mysdqldump
一起工作的原因,即使它没有在文档中提及。
关于php - 数据库名称开头带有破折号的 MySQL 转储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42400227/