Amazon RDS MySQL数据库还原时 log_bin_trust_function_creators 错误解决办法
使用了Amazon AWS EC2免费云空间,数据库实例采用Amazon RDS。原来在Windows Server上有一个存在大量数据的MySQL数据库。现在需要在Amazon RDS上还原这个MySQL数据库,勾掉Views(因为它会要求SUPER权限,而Master User无此权限,毕竟是托管的RDS),只留下Tables,如下图(使用Navicat):
图1:勾掉Views,因为RDS上的Masteruser无Super权限,无法还原Views对象
但在还原时,仍然出现如下的错误信息:
You do not have the SUPER privilege and binary logging is enabled (you *might* want to to use the less safe log_bin_trust_function_creators variable)
经查询,是log_bin_trust_function_creators值为off导致,因为Table中有Trigger,如果不创建Trigger,不会出现这样的错误信息,但Trigger必须创建,在网络查询解决方案,是如下的办法:
使用设置命令:
set global log_bin_trust_function_creators=1;
但由于没有Super权限而无法完成。
永久解决方案如下:
linux系统, 在/etc/my.cnf 文件中,[mysqld]部分加上:
windows系统,在my.ini文件中,[mysqld]部分加上:
log_bin_trust_function_creators=1
就可以还原上备份数据库表中的Trigger。
实际情况是,对于Amazon RDS,是傻瓜型的配置,不允许用户配置my.cnf(也根本找不到这个文件),所以,配置办法是对其中的Parameter进行配置,从而对MySQL实例进行操作。在Parameter Group中,添加一个(注:默认的Parameter Group是无法修改的),命名后进行修改,将log_bin_trust_function_creators值设置为1;
Amazon RDS对参数配置的方法有三种,具体可参考http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html:
控制台方式(AWS Management Console);
命令行方式(CLI);
API方式;
这里使用控制台方式解决:
1、在RDS控制台,右边导航栏有“Parameter Groups”链接,点击“Create DB Parameters Group”,创建“Parameters Group”
2、选择版本、名称和描述
3、创建好以后,即可对里面的参数进行编辑(强调:MySQL默认的Parameter Group是无法编辑参数),这里是将log_bin_trust_function_creators值由default改为1,保存退出;
4、新创建一个RDS实例,在“Configure Advanced Settings”中,Parameter Group选项的下拉列表中,选择刚刚创建并修改好的组,如下图:
图2:在新建的RDS Instance中,不使用默认的Parameter Group,而使用自己创建并编辑的组
4-1、或者,在已经创建的RDS实际中,选中一个实例,在界面顶部的“Instance Actions”下拉菜单中,点击“Modify”,对Parameter Group进行修改,如下图:
图3:对已经存在的Parameter Group进行修改(图片中未修改前的状态,为MySQL 5.6默认的Parameter Group)
5、坐等RDS实例创建完成(或修改完成)。
再进行数据库的Restore,包含Triggers的Table可以成功还原。
说明:对于Views,在Amazon RDS上由于没有SUPER权限无法自动还原。可以在Tables还原后,手工创建View并将源DB中的View定义复制过来。如果哪位网友有对Amazon RDS操作更好的办法,请回复说明。谢谢。
Amazon RDS MySQL数据库还原时 log_bin_trust_function_creators 错误解决办法的更多相关文章
- mysql中连接失败2003错误解决办法
在使用mysql数据库,新建连接时,会报2003-Can't connect to server on 'localhost'(10038)错误,原因主要是MYSQL服务没有启动起来,但是进入:计算机 ...
- mysql 服务意外停止1067错误解决办法小结
今天在配置服务器时安装mysql5.5总是无法安装,查看日志错误提示为1067错误,下面来看我的解决办法 事件类型: 错误 事件来源: Service Control Manager 事件种类: 无 ...
- MySQL出现GROUP BY clause错误解决办法
#1)当mysql数据库出现如下错误:#which is not functionally dependent on columns in GROUP BY clause; this is incom ...
- MySQL数据库无法远程连接的解决办法
远程登陆数据库的时候出现了下面出错信息: ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xxx.xxx', 经过今天下午的 ...
- (整)deepin下mysql的安装与部分错误解决办法
deepin(深度)是国产Linux系统,程序员肯定要了解Linux系统啦,但是在程序安装上可能会有些不习惯,现在让我们来看看mysql在deepin上的安装过程. 1.傻瓜式命令行安装 这也是Lin ...
- linux下修改mysql数据库编码后无法启动解决办法
linux下老版本的Mysql修改数据库编码的方法是 修改my.cnf vi /etc/my.cnf 在[client]下添加 default-character-set=utf8 在[mysqld] ...
- mysql数据库的锁表与解决办法(原博客url:http://www.cnblogs.com/wanghuaijun/p/5949934.html)
MySQL锁概述 相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制.比如,MyISAM和MEMORY存储引擎采用的是表级锁(table-level loc ...
- SQL还原备份数据库读取失败 38错误解决办法
连接上数据库后新建查询执行以下命令: RESTORE DATABASE 还原后的数据库名 FROM DISK = 'D:\yjdb\pms_yj_20110722.bak(备份文件)' WITH RE ...
- 微软云Linux服务器 Mysql、tomcat远程连接错误解决办法
在微软云linux服务器成功配置好mysql.tomcat,通过外部链接却发现一直错误.Mysql 一直提示错误代码2003, tomcat连接一直提示EOF. 反复检查配置都无问题,最后得知是微软云 ...
随机推荐
- 记录Qt的一个诡异Bug
公司的一款项目,在迭代开发阶段,突然发现运行速度越来越慢,界面切换卡顿时间在2秒以上.经过和某个不卡版本的对比,惊奇的发现程序二进制都一模一样,就几个图片资源和脚本不一样.经过差不多一天的排查,发现是 ...
- mysql存储过程 --游标的使用 取每行记录 (多字段)
delimiter $ create PROCEDURE phoneDeal() BEGIN DECLARE id varchar(64); -- id DECLARE phone1 varchar( ...
- DNS弹窗广告遭遇
事情是这样的,不久前,我跟往常一样打开某新闻网页的时候,发现右下角有弹窗广告,并且在原页面任意位置点击,都会打开一个广告页面,然后原页面才能正常点击,手法太低劣了,不像是网站挂的广告,然后打开其它网页 ...
- [04]APUE:文件与目录
[a] stat / lstat / fstat #include <sys/stat.h> int stat(const char *restrict pathname, struct ...
- VS 快捷键(待完善)
本人使用的是VS2010版本的 感觉还算稳定. 快捷键: 1. Ctrl+E,U 用于对选中的代码行快速对齐: 2. Ctrl+R,E 用于对象属性的重构,比如对get,set属性的快速设置. 方法: ...
- MYSQL使用mysqldump导出某个表的部分数据
命令格式如下: mysqldump -u用户名 -p密码 数据库名 表名 --where="筛选条件" > 导出文件路径 例子: 从meteo数据库的sdata表中导出sen ...
- 关于SharePoint 2010中不能使用AjaxControlToolkit的解决办法
因为项目中有一个需求需要使用calendar控件,而且样式要和Reporting Service中的尽量一致,搜索了很久发现还是微软的AjaxControlToolkit提供的CalendarExte ...
- linux下的触控板手势xSwipe and tag
这个最初是采用的touchegg.开始没有效果,后来网上发现是因为需要禁用系统的2指3指操作参考 http://askubuntu.com/questions/266057/cant-get-touc ...
- vue 2 滚动条加载更多数据实现
解析: 判断滚动条到底部,需要用到DOM的三个属性值,即scrollTop.clientHeight.scrollHeight. scrollTop为滚动条在Y轴上的滚动距离. clientHeigh ...
- 数据存储--沙盒sandBox
默认情况下,每个沙盒必含有3个文件夹:Documents, Library 和 tmp 一.沙盒(sandbox)出于安全的目的,应用程序只能将自己的数据和偏好设置写入到几个特定的位置上.当应用程序被 ...