mysql执行proc没结果_[mysql]针对数据库执行data transfer出现Can not load from mysql.proc.The table is probably corru...

freddon

发表于2017-03-01

阅读 950 |

评论 0

我目前这种情况是由于目标mysql版本5.1升级到5.5+后,本地mysql5.6表结构跟目标表结构存在差异导致的。

### 这个错误是如何发生的?

需要将远程数据库使用Data Transfer操作备份到本地数据库或其他数据库。

![transfer](/i/o_1ba4bptjt1560100vhd9e9b1gca7.png "执行data transfer")

![corrupted](/i/o_1ba4bvlm116u9u0p1i121emt19gvc.png "mysql.proc")

### 分析

既然是提到了`mysql.proc`,应该将两个数据库的mysql库中表`proc`进行对比。

![](/i/o_1ba4c5v2712617jam9a1js31487h.png "")

远程数据库 中mysql.proc

![远程数据库](/i/o_1ba4c7hov16hl159f4fnb051bjjm.png "在这里输入图片标题")

目标数据库 中mysql.proc

![目标数据库](/i/o_1ba4c8fkrc3b4ej1tko1dcu14kpr.png "目标数据库")

现象:comment字段类型不一致。一个是char64 ,一个是text。(mysql 5.5+ 该字段类型为text)

### 解决办法

将comment字段改为text类型即可。

如果无法使用工具,可以执行命令(该命令摘自工具Navicat SQL Preview面板)即可。

```

ALTER TABLE `mysql`.`proc` CHANGE COLUMN `comment` `comment` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT NULL;

```

分类 :日常记录

### 这个错误是如何发生的?

需要将远程数据库使用Data Transfer操作备份到本地数据库或其他数据库。

![transfer](/i/o_1ba4bptjt1560100vhd9e9b1gca7.png "执行data transfer")

![corrupted](/i/o_1ba4bvlm116u9u0p1i121emt19gvc.png "mysql.proc")

### 分析

既然是提到了`mysql.proc`,应该将两个数据库的mysql库中表`proc`进行对比。

![](/i/o_1ba4c5v2712617jam9a1js31487h.png "")

远程数据库 中mysql.proc

![远程数据库](/i/o_1ba4c7hov16hl159f4fnb051bjjm.png "在这里输入图片标题")

目标数据库 中mysql.proc

![目标数据库](/i/o_1ba4c8fkrc3b4ej1tko1dcu14kpr.png "目标数据库")

现象:comment字段类型不一致。一个是char64 ,一个是text。(mysql 5.5+ 该字段类型为text)

### 解决办法

将comment字段改为text类型即可。

如果无法使用工具,可以执行命令(该命令摘自工具Navicat SQL Preview面板)即可。

```

ALTER TABLE `mysql`.`proc` CHANGE COLUMN `comment` `comment` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT NULL;

```

评论(0)

先登录,才能发评论哦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值