自从我的项目迁移到Google Cloud SQL以来,在3天内有两个实例,其中myql.user表显然已重置为其初始状态。这是我设置的root密码被删除,我用GRANT命令添加的所有非root用户都将从表中删除。
第一个例子是我将定价计划从每次使用定价计划转换为包裹定价计划。
第二个实例是几个小时前在2014-06-02 03:06:00 UTC。当第二个实例发生时,我或我的应用程序在服务器上没有任何活动。有可能它是由谷歌自动备份过程启动,但我不确定发生的确切时间。
在这两种情况下,我都必须通过控制台重置root密码才能获得命令行访问权限,然后使用GRANT命令重新添加应用程序用户。
我还没有看到其他人遇到此问题的报告,因此我认为这可能与我使用设置为utf8mb4的新character_set_server标志这一事实有关。此功能是谷歌上周发布的,我的应用程序需要这样才能存储4字节的unicode字符。
我已经在https://code.google.com/p/googlecloudsql/issues/detail?id=90向谷歌报告了该漏洞,但尚未得到任何回复。
有没有其他人经历过类似的事情?如果我不相信数据存储,我将不得不将我的项目从Google云中移开,如果可能的话,我真的宁愿将它保留在那里。
答案 0 :(得分:0)
您可以检查以确保在运行GRANT后运行FLUSH PRIVILEGES吗? MySQL将特权缓存在内存中,因此如果你没有将它们刷新到磁盘而你的数据库由于某种原因而不洁净地旋转,那么MySQL可能不会将它们写出来。
如果这不起作用,请通过cloud-sql@google.com与我们联系,并附上您的实例名称,以便我们为您进一步调查。
答案 1 :(得分:0)
您是否可以确保在更改mysql.user表后运行FLUSH TABLES
?您观察到的可能是由于某些数据导致mysqld在进程被杀死之前没有刷新。
相关问题:MySQL SPs and Events being automatically rolled-back by Google Cloud SQL