我刚刚设置了一个Google Cloud SQL实例,但无法使用SQL转储文件导入它,也无法从命令行或MySQL Workbench连接到它。
尝试导入时,我收到错误“发生未知错误”,没有进一步的详细信息。我已经确认'USE [db name]'语句在文件中,这似乎是其他人的解决方案。所有表都是MyISAM,没有二进制数据。
当尝试通过MySQL Workbench或命令行连接时,我能够连接到服务器,但输入'USE [db name]'会导致'未知数据库[db name]'错误。我还尝试包含应用程序名称('USE [app engine name]:[db name]'),由于应用程序引擎实例名称中的连字符,它会引发sql语法错误。我确定我正在使用的数据库名称存在,并且已设置为外部连接。
此时我启动并运行了一个Cloud SQL实例,但是完全无法通过导入或通过SQL客户端连接到它来获取数据。我该怎么做才能继续前进?
答案 0 :(得分:0)
经过更多的讨论,我运行'show databases'并得到了结果:information_schema,mysql和performance_schema。那个mysql架构看起来有点奇怪所以我选择了它('USE mysql')然后运行'SHOW tables',这导致了一个表的列表,其中包含一个与我的数据库名称匹配的表(让我们假设数据库名是'db')根据Google Cloud SQL。因此,设置Google Cloud SQL实例似乎会创建名为“mysql”的架构,然后在该架构中创建一个与Google Cloud SQL实例名称匹配的表,这对我来说并不是非常有用。我能够将我的SQL导入文件的'USE db'行更改为'USE mysql',然后能够毫无问题地导入我的数据。很奇怪,但至少事情现在正在发挥作用。