[分享]Error: Commands out of sync; you can't run this command now: SHOW TABLES解决方案_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1695 | 回复: 0   主题: [分享]Error: Commands out of sync; you can't run this command now: SHOW TABLES解决方案        下一篇 
liandong
注册用户
等级:新兵
经验:51
发帖:61
精华:0
注册:2011-11-14
状态:离线
发送短消息息给liandong 加好友    发送短消息息给liandong 发消息
发表于: IP:您无权察看 2014-12-23 14:55:00 | [全部帖] [楼主帖] 楼主

ROR在迁移数据库时,出现如下错误:

rake aborted!Mysql::Error: Commands out of sync; you can't run this command now: SHOW TABLES


跟踪错误:
在mysql_adapter.rb里面找到SHOW TABLES

def tables(name = nil) #:nodoc:
tables = []
execute("SHOW TABLES", name).each { |field| tables << field[0] }
tables
end


在你将数据库执行清除为0版本时,又会出现 each的错误,非常麻烦。

--------------------------------------------
gem list --local


得到:mysql 2.7.3

安装的的mysql客户端为5.1

C:\Program Files\MySQL\MySQL Server 5.1\bin
mysql  Ver 14.14 Distrib 5.1.30b, for Win32 (ia32)
--------------------------------------------


解决方案:

最简单的办法:直接重新安装5.0版本的mysql,一切恢复正常。

如果不能卸载现有的mysql,你可以找一个低版本的mysql,寻得其mysql/bin/目录下的扩展文件libmySQL,然后将其copy到ruby/bin,或许能解决问题。

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论