使用了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 错误解决办法的更多相关文章

  1. mysql中连接失败2003错误解决办法

    在使用mysql数据库,新建连接时,会报2003-Can't connect to server on 'localhost'(10038)错误,原因主要是MYSQL服务没有启动起来,但是进入:计算机 ...

  2. mysql 服务意外停止1067错误解决办法小结

    今天在配置服务器时安装mysql5.5总是无法安装,查看日志错误提示为1067错误,下面来看我的解决办法 事件类型: 错误 事件来源: Service Control Manager 事件种类: 无  ...

  3. MySQL出现GROUP BY clause错误解决办法

    #1)当mysql数据库出现如下错误:#which is not functionally dependent on columns in GROUP BY clause; this is incom ...

  4. MySQL数据库无法远程连接的解决办法

    远程登陆数据库的时候出现了下面出错信息: ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xxx.xxx', 经过今天下午的 ...

  5. (整)deepin下mysql的安装与部分错误解决办法

    deepin(深度)是国产Linux系统,程序员肯定要了解Linux系统啦,但是在程序安装上可能会有些不习惯,现在让我们来看看mysql在deepin上的安装过程. 1.傻瓜式命令行安装 这也是Lin ...

  6. linux下修改mysql数据库编码后无法启动解决办法

    linux下老版本的Mysql修改数据库编码的方法是 修改my.cnf vi /etc/my.cnf 在[client]下添加 default-character-set=utf8 在[mysqld] ...

  7. mysql数据库的锁表与解决办法(原博客url:http://www.cnblogs.com/wanghuaijun/p/5949934.html)

    MySQL锁概述 相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制.比如,MyISAM和MEMORY存储引擎采用的是表级锁(table-level loc ...

  8. SQL还原备份数据库读取失败 38错误解决办法

    连接上数据库后新建查询执行以下命令: RESTORE DATABASE 还原后的数据库名 FROM DISK = 'D:\yjdb\pms_yj_20110722.bak(备份文件)' WITH RE ...

  9. 微软云Linux服务器 Mysql、tomcat远程连接错误解决办法

    在微软云linux服务器成功配置好mysql.tomcat,通过外部链接却发现一直错误.Mysql 一直提示错误代码2003, tomcat连接一直提示EOF. 反复检查配置都无问题,最后得知是微软云 ...

随机推荐

  1. js从服务器下载文件

    通常,将文件绝对路径url作为超链接<a>的链接地址href的值,点击<a>后,浏览器将会尝试请求文件资源,如果浏览器能够辨认文件类型,则将会以预设的打开方式直接打开下载的文件 ...

  2. MVC4.0 扩展辅助方法

    新年第一天上班,写个博客开头吧! 在MVC中,辅助类是很常见的,比如说,Html.TextBox().Html.DropDownListFor()等,这些都是微软帮我们封装好的,可以直接调用的,它们解 ...

  3. 在 Boolan 网开讲《网络编程实战》课程

    <网络编程实战>是一门以讲解实例为主的课程,每一节都讲一两个网络编程的例子程序,课程偏重 Linux 服务端 TCP 网络编程. 本课程要求听课人员已经读过<Unix 网络编程> ...

  4. 3. Builder(建造者)

    意图: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 适用性: 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时. 当构造过程必须允许被构造的对象有不同 ...

  5. arch linux 安装 之 ---GPT--引导篇

    新入一二手X240 ,直接格式化,装archLinux. 一.引导程序安装--------------- 1.首先搞清楚什么是UEFI Under UEFI下的引导顺序 System switched ...

  6. AngularJS四大特性

    Google AnguarJS是一个JS框架,适用于以数据的CRUD操作为主的SPA应用. 四大特性: (1)MVC模型 Model:模型,即数据=>JS中的变量 View:视图,即数据的呈现= ...

  7. 如何去掉div滚动条

    1.去掉横向滚动条 style="overflow-x:hidden" 2.去掉纵向滚动条 style="overflow-y:hidden" 3.同时去掉横向 ...

  8. 00024500-0000-0000-C000-000000000046错误,在sys.web配置节添加一个用户给web站点。

    <identity impersonate ="true" userName="administrator" password="123456& ...

  9. 1236 - Pairs Forming LCM -- LightOj1236 (LCM)

    http://lightoj.com/volume_showproblem.php?problem=1236 题目大意: 给你一个数n,让你求1到n之间的数(a,b && a<= ...

  10. 解决SQL server 2014 修改表中的字段,无法保存的问题。

    修改PROJECT表中的字段,保存时,弹出上面的窗体,无法保存. 解决方法为:[工具]->[选项]->[设计器]中,去掉“阻止保存要求重新创建表的更改”前的勾选.