开发者社区> 问答> 正文

阿里云RDS迁移过程

用阿里云的ECS一年时间,随着网站访问量的上升,不断出现“OOM"问题,就是服务器CPU一冲就是百分百,然后网站就打不开了。以前的解决方法就是耗费几分钟重启服务器。
中间也提交了不少工单去协助解决这个问题,httpd的进程访问也修改了几次,最后的结果还是不行。
后来我升级了ECS的内存,持续了几天,又不断出现OOM问题。索性今天买了一个RDS,想把MYSQL独立出来,试试能否解决OOM问题。
第一步:购买RDS,在这里有个问题需要提前说明: 【ECS上的自建数据库】功能,仅支持将杭州、青岛的ECS迁入至杭州、青岛的RDS;其他情形请使用【有公网IP的自建数据库】功能
上面这句 粗体的说明文件请看清楚,根据自己购买的ECS节点选择RDS节点,在迁入数据库的时候会比较方便。
第二步,打开RDS控制台,具体的教程请看这里: 数据迁移至RDS-MySQL之利用RDS管理控制台


按照上述教程一步一步操作基本不会出现什么问题,我只是说一下我在实际操作过程中碰到的几个细节点。
【A】、在xshell里面登录mysql的时候,一直登录不成功,不知道为什么。我的mysql是用phpmyadmin管理的,一直到我重新修改了root密码,才成功登录。
【B】、要迁移数据库,首先要在RDS里面新建同名数据库,再开始迁移才可以。
【C】、在迁移命令的第一步,新建一个权限用户,建议不要用原始的数据库用户,最好新建一个,并且按教程给它权限。当然除了给教程里说的权限外,还要给账号其它权限,也是在后面迁移检查的时候会有提示,可以顺便一起执行(下面这个命令执行即可)
GRANT SELECT, SUPER, REPLICATION SLAVE, REPLICATION CLIENT, SHOW VIEW ON ON *.* TO ' username'@'%';    (把 斜体部分改为你新建的用户名即可)
Flush Privileges;
再执行:service mysqld restart; 重启mysql,命令即可生效。
【D】、在上述“数据迁移至RDS-MySQL之利用RDS管理控制台”教程里的第三步找到my.cnf文件时,需要用到vim命令去编辑,然后保存退出,用":wq!"命令。my.cnf文件的路径是在根目录的/etc文件夹下面。


在my.cnf文件里实际的命令是:binlog_format,而不是如图所示的 log_format,估计是阿里云教程早期版本的也没更新。
【E】、在上述“数据迁移至RDS-MySQL之利用RDS管理控制台”教程里的第四步检查ROW权限的命令,在我这里无论如何也执行不成功,但是不影响迁移,只要保证前面三步的命令执行成功即可。
【F】、在按步骤迁移成功之后,去RDS控制中心左侧的“帐号管理“处新建一个数据库用户即可。建议:和你原来数据库用户名和密码保持一致,这样就可以只修改数据库连接地址就可以了。
【G】、最后再去web程序的数据库连接处,把localhost修改为RDS的数据库连接地址即可,如下图右侧红框处所示,不建议用RDS的IP地址,因为有可能会变化。


按照上述步骤,RDS的迁移就算是完成了。对我这种Linux小白来说,可能一些命令的执行不是特别熟悉,不过利用好百度和阿里云教程,是可以轻松解决问题的。
至于改为RDS后,能否解决OOM的问题,还要拭目以待了。
That' all.


原文地址: http://www.zhugetu.com/records-about-the-migration-process-of-applications-for-rds.html

展开
收起
诸葛兔 2014-12-11 16:04:59 25376 0
4 条回答
写回答
取消 提交回答
  • 推荐回答:

    C,再执行:service mysqld restart; 重启mysql,命令即可生效 本地添加这个账号 ,可以不用重启mysql就可以生效了。

    这篇文章很赞啊。


    你本地的mysql内存配置的是多大,这个不能超过vm的内存;

    还有一种可能就是mysql使用的是myisam存储引擎,这个存储引擎会消耗大量的os内存,可以转换为innodb引擎。

    官方帮助文档地址:阿里云帮助中心

    更多参考: 阿里云官方(新用户需官网注册查看)

    2021-04-26 22:29:33
    赞同 展开评论 打赏
  • 后来结果怎么Yang,怎么没有了
    2015-07-07 23:10:49
    赞同 展开评论 打赏
  • RDS DBA
    Re阿里云RDS迁移过程
    C,再执行:service mysqld restart; 重启mysql,命令即可生效
    本地添加这个账号 ,可以不用重启mysql就可以生效了。

    这篇文章很赞啊。

    -------------------------

    Re阿里云RDS迁移过程
    你本地的mysql内存配置的是多大,这个不能超过vm的内存;

    还有一种可能就是mysql使用的是myisam存储引擎,这个存储引擎会消耗大量的os内存,可以转换为innodb引擎。
    2014-12-11 16:29:43
    赞同 展开评论 打赏
  • Re阿里云RDS迁移过程
    为什么编辑器这么难用啊。。。
    2014-12-11 16:11:35
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
TcpRT:阿里云RDS智能诊断系统云上大规模部署自动化服务的客户实践经验 立即下载
TcpRT:面向大规模海量云数据库的服务质量实时采集与诊断系 立即下载
袋鼠云基于阿里云RDS的数据库架构实践 立即下载

相关镜像