php - 数据库名称开头带有破折号的 MySQL 转储

标签 php mysql

有谁知道当数据库名称的第一个字符是破折号时如何让 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/

相关文章:

php - 升级运行 Upstart + PHP + SWF 事件脚本直到事件完成

mysql - 具有having count 的Where 子句会破坏查询

mysql - 如何将mysql数据库移动到另一个挂载点

带过程的 MySQL 脚本(错误 1064)

java - 当数据库中有多个对象时,Spring boot rest 响应在 OneToMany 上给出 1 个结果

php - 如何将特定类别的产品页面重定向到 Woocommerce 中的购物车页面

php - 从数据库中删除相似数据

php - 独立使用 Codeigniter DB_forge 类

php - 将两个 img 标签之间的中断次数减少为一次

php - 如何找到所需的唯一结果