当我连接到 mysql shell 并执行时SHOW DATABASES
,我得到了这个
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| rd7 |
| rural |
| sys |
+--------------------+
6 rows in set (0.01 sec)
然而当我尝试像这样在 shell 终端中连接时
mysql -u user -puser --host=localhost rd7 <rurdevdrpl.sql
我明白了"unknown database rd"
。
答案1
'rb'
最有可能的是,您在 sql 文件中引用了数据库rurdevdrpl.sql
。它可能是rb
已定义为默认数据库的
USE rb;
或者作为 SQL 语句的选项,例如
INSERT INTO TABLE rb.test (a, b, c) VALUES (1, 2, 4);
因此,请检查文件中是否存在这两个。要替换它们,您可以使用sed
,但如果不知道 SQL 文件中使用的格式(例如,如果使用反引号来引用对象等),则很难提供有效的命令。