主库创建存储过程时从库显示 Error 1049
MySQL Bugs: #72682: Replication MBR halts - stored procedure from unreplicated schema
MySQL Bugs: #59135: replicate-wild-do-table: cross-database updates and create SPs break replication
如果从库只使用了replicate-wild-do-table,那么当主库创建存储过程时,从库会不同步,报错信息如下:
150104 15:15:46 [ERROR] Slave SQL: Error 'Unknown database 'fdd_statistics'' on query. Default database: 'fdd_statistics'. Query: 'CREATE DEFINER=`esf_frame`@`%` PROCEDURE `YUNYING_BASIC_DATA_SECOND_BOSS`(IN startDate date)
BEGIN
set @datetime = startDate;
insert into fdd_report_data_second_boss
如果使用replicate-do-db则可以解决该问题,但是这个选项无法处理跨库处理数据库的问题.
还有一种做法是使用row level的日志格式来解决(一般情况下使用的时mixed混合模式),但是row level的日志对二进制文件的并发压力非常大,一般不推荐,除非你的MySQL压力比较小.
解决方案有几种.
1.如果你的业务里没有跨库操作,则可以在从库使用replicate-do-db选项指定需要同步的数据库.
2.在从库新建和主库一样名字的database,可以是空库.这样你会发现存储过程会被同步过来.可以使用show procedure status;进行查看.
转载于:https://blog.51cto.com/kamui0523/1715253
主库创建存储过程时从库显示 Error 1049相关推荐
- 创建存储过程时出现的This function has none of DETERMINISTIC, NO SQL解决办法
This function has none of DETERMINISTIC, NO SQL解决办法 创建存储过程时 出错信息: ERROR 1418 (HY000): This function ...
- 解决:Anaconda创建虚拟环境时出现An HTTP error occurred when trying to retrieve this URL.anaconda
解决:Anaconda创建虚拟环境时出现An HTTP error occurred when trying to retrieve this URL.anaconda #在Anaconda创建虚拟环 ...
- mysql创建表格显示1064错误_尝试创建表时出现错误1064(Error 1064 when trying to create a table)...
尝试创建表时出现错误1064(Error 1064 when trying to create a table) 这是代码: create table `team`.`User`( `UserID` ...
- db2存储过程手动执行没有问题_轻松解决DB2创建存储过程时遇到的错误
来源: 互联网 作者: 若水 2008-03-19/13:59 问:在 Unix 操作系统下,有时会发生当 DB2 用户使用如: db2 -td@ -vf 创建存储过程失败的情况,而查看 db2dia ...
- navicat连接CentOS的mysql在创建存储过程时出现1146 - Table ‘mysql.proc’ doesn't exist的问题
场景: 以下操作都是客户机和云主机之间 客户机用navicat 云主机用mysql 原因,我在navicat中嫌碍事,顺手把mysql给删了 解决方案如下: service mysqld stop p ...
- Oracle创建存储过程时出现“警告: 创建的过程带有编译错误。”
执行完存储过程的创建后,如出现"警告: 创建的过程带有编译错误.",可执行语句: show errors; 查看具体哪里出现了编译错误.
- 关于yolov5安装时requirements系统显示ERROR相关解决办法
大家在anaconda prompt安装yolov5时会出现以下情况: 显示无法打开需求文件及没有这样的文件和目录. 首先,我们先在下载好的yolov5中查看自己有没有requirements.txt ...
- 2、MySQL创建存储过程(CREATE PROCEDURE)(函数)
MySQL 存储过程是一些 SQL 语句的集合,比如有时候我们可能需要一大串的 SQL 语句,或者说在编写 SQL 语句的过程中需要设置一些变量的值,这个时候我们就完全有必要编写一个存储过程. 编写存 ...
- MySQL——创建存储过程和函数
简单地说,存储过程就是一条或多条 SQL 语句的集合,可视为批文件,但是其作用不仅限于批处理.存储程序可以分为存储过程和函数.存储过程要用 CALL 语句来调用,并且只能用输出变量返回值. 1. ...
最新文章
- 【错误记录】Android Studio 编译报错 ( AppCompat does not support the current theme features )
- Java Review - 并发编程_锁的分类
- Windows10搭建ftp服务
- 射灯安装方法图解_江苏天筑不锈钢雕塑厂家格栅射灯安装方法,格栅射灯安装注意事项...
- Matlab功率谱估计
- Centos7安装nginx教程!超简单
- 什么是接口?如何定义接口?如何实现接口?
- Java编程:排序算法
- java 虚拟机 分析_Java 虚拟机中的运行时数据区分析
- 图解设计模式(23种)
- 短信接口的功能及适用范围
- 自作孽!知网终于被查了,涉嫌垄断,背后到底是何方神圣?
- 模模搭古城搭建学习笔记3:建筑篇
- 环信的使用以及注意事项!
- 鸿蒙开发实战系列之三:网络请求(原生+ Retrofit)
- Redis记录:Invalid argument during startup: Failed to open the .conf file
- Photoshop给图片替换蓝天白云背景
- 面向对象编程思想 以及类与对象
- android 实现刮刮乐刮奖效果
- 道翰天琼认知智能为您解密:Rust语言杀疯了!前有谷歌高薪争夺 Rust 人才,Facebook再官宣加入Rust基金会