加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

导入时出现MySQL / Amazon RDS错误

发布时间:2020-12-11 23:46:30 所属栏目:MySql教程 来源:网络整理
导读:我正在尝试将所有数据库从500Gb RDS实例转储到较小的实例(100Gb).我保存了很多用户权限,所以我需要转储mysql表. mysqldump -h hostname -u username -ppassword --all-databases dump.sql 现在当我尝试将数据上传到我的新实例时,我收到以下错误: mysql -h h

我正在尝试将所有数据库从500Gb RDS实例转储到较小的实例(100Gb).我保存了很多用户权限,所以我需要转储mysql表.

mysqldump -h hostname -u username -ppassword --all-databases > dump.sql

现在当我尝试将数据上传到我的新实例时,我收到以下错误:

mysql -h hostname -u username -ppassword < dump.sql`
ERROR 1044 (42000) at line 2245: Access denied for user 'staging'@'%' to database 'mysql'

我只是使用数据库快照来完成此任务,但我的实例尺寸较小.

作为一个完整性检查,我尝试将数据转储到原始实例,但得到了相同的错误.有人可以告诉我应该在这做什么吗?谢谢!

最佳答案 您可能需要单独执行数据库,或者至少从现有文件中删除mysql架构(可能使用grep查找USE数据库的行数;语句然后sed以删除麻烦的部分,或者参见下文),然后生成一个转储文件,该文件不会与MySQL模式中的表结构或专有RDS触发器一起使用.

我没有尝试将完整的mysql架构恢复到RDS实例上,但我当然可以看到RDS中的自定义和缺少SUPER权限会出现什么问题…但是看起来mysqldump上的这些选项应该可以帮到你至少关闭.

mysqldump --no-create-info      # don't try to drop and recreate the mysql schema tables
          --skip-triggers       # RDS has proprietary triggers in the mysql schema
          --insert-ignore       # write INSERT IGNORE statements to ignore duplicates
          --databases mysql     # only one database,"mysql"
          --skip-lock-tables    # don't generate statements to LOCK TABLES/UNLOCK TABLES during restore
          --single-transaction  # to avoid locking up the source instance during the dump

如果这仍然过于激进,那么您将需要仅转储特定表中需要保留其内容的行(“user”和其他授权表).

以下内容没有任何担保,但这是我的收藏中的一个.它是一个单行读取“old_dumpfile.sql”并写入“new_dumpfile.sql”…但是当它在同一行上看到带有`mysql`的USE或CREATE DATABASE语句并关闭它时切换输出再次下次这样的声明发生时没有`mysql`.如果您的转储文件中还包含DROP DATABASE语句,或者您可以使用–skip-add-drop-database生成新的转储文件,则需要对其进行修改.

通过这种方式运行现有的转储文件本质上应该只从该文件中删除mysql架构,允许您先手动还原它,然后让其余的数据库数据更顺畅地流动.

perl -pe 'if (/(^USEs|^CREATEsDATABASE.*s)`mysql`/) { $x = 1; } elsif (/^USEs`/ || /^CREATEsDATABASE/) { $x = 0; }; $_ = "" if $x;' old_dumpfile.sql > new_dumpfile.sql

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读