这里有一个奇怪的错误。我正在执行的命令是:
mysqldump -u root -ppass kodi_video119 | mysql -h192.168.178.73 -u kodi -ppass kodi_video119
当我通过SSH执行它时,一切都很好,但当我将它保存到一个文件并执行这个文件时,我会得到以下错误:
mysqldump: [Warning] Using a password on the command line interface can be insecure.
mysql: [Warning] Using a password on the command line interface can be insecure.
'RROR 1102 (42000): Incorrect database name 'kodi_video119
mysqldump: Got errno 11 on write
我在谷歌上找不到任何关于这个错误号码的结果。用户可以写,当我从SSH直接执行它时,一切都很好。但是,使用相同的SSH会话(作为root用户(仅仅执行嵌入在文件中的命令是不起作用的。
这里出了什么问题?我用nano创建了这个文件,并用nano保存了它。然后chmod+x并执行/测试
默认情况下,使用mysqldump DB
时,输出包括表创建语句,但不包括CREATE DATABASE
语句。它只是假设您首先创建了一个空模式。
因此,您可以先创建模式:
mysqladmin -h192.168.178.73 create kodi_video119
mysqldump kodi_video119 | mysql -h192.168.178.73 kodi_video119
(为了简洁起见,我省略了-u和-p选项(
或者,您可以使用-B
选项,也称为--databases
。此选项允许您指定一个或多个数据库,并且在创建和填充表之前,输出包括每个数据库的CREATE DATABASE
语句。您可以将它与单个数据库参数一起使用:
mysqldump -B kodi_video119 | mysql -h192.168.178.73 kodi_video119