如果我这样做(在 MySQL 5.1.59 中)
mysql> create database `db-name`;
文件系统上的结果目录名称是db@002dname
。通常这不是问题,但我发现mysqlhotcopy
如果我像这样调用它,它将不起作用:
$ mysqlhotcopy db-name ~/db-name
Cannot open dir '/var/db/mysql/db-name': No such file or directory
当我调用 mysqlhotcopy 时,我是否必须将数据库名称转换为db@002dname
并使用它作为数据库名称?
算法顺便说一句,这很令人震惊。如果未翻译的名称是 ASCII,那么情况还不算太糟。
答案1
我是否必须将数据库名称转换为 db@002dname 并在调用 mysqlhotcopy 时使用它作为数据库名称?
这行不通;这是一个错误mysqlhotcopy
——http://bugs.mysql.com/bug.php?id=44278——而且它仍然开放。不过有一个补丁——http://lists.mysql.com/commits/80079