请教一个replication的错误解决方法

ybgba 2011-09-28 10:39:53
error信息:
110927 19:23:05 [ERROR] Slave SQL: Error 'Unknown database 'gr5on_pc_beta_c'' on query. Default database: 'gr5on_pc_beta_c'. Query: 'CREATE DEFINER=`gr5onpcbetac`@`%` EVENT IF NOT EXISTS `connectionstats_cleanup` ON SCHEDULE EVERY 1 HOUR STARTS NOW() ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
DELETE FROM `connectionstats` WHERE logoutdate < DATE_SUB(NOW(), INTERVAL 1 DAY);
END', Error_code: 1049
110927 19:23:05 [Warning] Slave: The user specified as a definer ('gr5onpcbetac'@'%') does not exist Error_code: 1449
110927 19:23:05 [Warning] Slave: Unknown database 'gr5on_pc_beta_c' Error_code: 1049
110927 19:23:05 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log 'mysql-bin.002736' position 196055028

根据信息是说没有找到数据库。
但是我并不需要复制这个数据库,当然就没有咯。

下面是我的配置:
replicate-wild-do-table=GR5ON_PC_BETA_E.%
replicate-wild-do-table=GR5ON_PC_BETA_E_STATS.%
replicate-wild-do-table=GR5ON_PC_BETA_E_LOGS.%

我只需要GR5ON_PC_BETA_E数据库,不需要gr5on_pc_beta_c,为什么会跳出这样的错误报告。

请高手达人指教。跪谢。
...全文
45 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
rucypli 2011-09-28
  • 打赏
  • 举报
回复
可能是执行某些操作的时候带上了'gr5on_pc_beta_c''
luoyoumou 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ybgba 的回复:]

现在不是大小写的问题,现在的问题是我不需要复制'gr5on_pc_beta_c''数据库,为什么会跳出这样的错误信息呢?
[/Quote]


-- 是不是你在执行某个命令,或调用 的某个脚本里将 gr5on_pc_beta_e 写成 gr5on_pc_beta_c 了呢?


-- 问问题的起码方法:将你的执行代码及报错信息都贴出来,有必要时,
-- 还应该贴上运行环境(例如操作系统、数据库版本号等)!
-- 你这莫名其妙的问,啥信息也不告诉人家,还指望谁能给你正确答案呢?
ybgba 2011-09-28
  • 打赏
  • 举报
回复
现在不是大小写的问题,现在的问题是我不需要复制'gr5on_pc_beta_c''数据库,为什么会跳出这样的错误信息呢?
luoyoumou 2011-09-28
  • 打赏
  • 举报
回复
error信息:
110927 19:23:05 [ERROR] Slave SQL: Error 'Unknown database 'gr5on_pc_beta_c'' on query. Default database: 'gr5on_pc_beta_c'. Query: 'CREATE DEFINER=`gr5onpcbetac`@`%` EVENT IF NOT EXISTS `connectionstats_cleanup` ON SCHEDULE EVERY 1 HOUR STARTS NOW() ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
DELETE FROM `connectionstats` WHERE logoutdate < DATE_SUB(NOW(), INTERVAL 1 DAY);
END', Error_code: 1049
110927 19:23:05 [Warning] Slave: The user specified as a definer ('gr5onpcbetac'@'%') does not exist Error_code: 1449
110927 19:23:05 [Warning] Slave: Unknown database 'gr5on_pc_beta_c' Error_code: 1049
110927 19:23:05 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log 'mysql-bin.002736' position 196055028


-- 注意:数据库名的大小写!
ybgba 2011-09-28
  • 打赏
  • 举报
回复
首先感谢各位。

我没有执行代码,就是直接做replication,以下是步骤
1.备份master上的这三个数据库 GR5ON_PC_BETA_E GR5ON_PC_BETA_E_STATS GR5ON_PC_BETA_E_LOGS
2. 恢复备份到slave上
3. 使用change master命令
4. start slave -- 无报错
5. 过了10几分钟后,出现以上的错误。
期间我不知道master上做过什么操作,但是我确定我只复制以上三个数据库的数据,这个在我my.cnf里面加入了replicate-wild-do-table=GR5ON_PC_BETA_E.%
replicate-wild-do-table=GR5ON_PC_BETA_E_STATS.%
replicate-wild-do-table=GR5ON_PC_BETA_E_LOGS.%
参数可以说明,我现在的问题就是,为什么我再配置文件里面加入复制的数据库的条件,slave还要去需找'gr5on_pc_beta_c' 数据库呢?这就是我觉得奇怪的地方。
我按照相同的操作做了另外两组replication,都没有发生这样的情况。

PS: master linux
slave windows
另外两组也是一样的配置。

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧