场景介绍:
随着业务量的逐渐增加,公司的数据库压力也会逐渐增大,使用自己购买的esc创建的mysql的话,还得考虑相应的dba维护,也比较繁琐,说不定还做的并不完美,这时,RDS就派上用场了,事实上,一般稍大的公司都不会在自己的线上ecs上搭建mysql,而是使用RDS云数据库,毕竟这是由阿里云最顶尖的dba团队进行维护的,而且还有自动备份功能,既省去了线上ecs的io消耗,又省去了很多繁琐的维护操作,当然,具体情况还是看公司。小型初创公司也并没有必要去多花成本去使用RDS,因为没那个必要,自己的ECS上创建的mysql已经足够用了。
1、进入RDS实例后,设置阿里云RDS白名单(也就是允许什么ip地址访问你的RDS实例)
这里,我为了演示方便,直接设置成所有ip地址都可以访问了
2、创建账号
点击账号管理,进行新建账号,我这里直接开通了最高权限账号,如果不开通最高权限账号,也可以创建普通账号,好处是易于管理,分配任何对某个数据库的增删改查权限只需要也只能在控制台里操作即可,不需要命令grant。
注:新开通rds实例默认是没有开通高权限账号的,但是创建新账号也是在账号管理一栏,点进去都能看明白
重点注意的是如果创建的是普通账号,千万要记得在控制台对普通账号进行操作授权
3、使用Navicat连接RDS数据库,进行操作。
到这里,使用navicat连接RDS数据库就完成了
在项目中,我们只需要在连接数据库时,将原本的host换成RDS实例中的外网地址,然后密码写成对应的密码即可完成连接。
比如这样,这里使用的crossphp框架,其他框架大同小异
$mysql_link = array('host' => 'rm-j6cncbu18w2f477lk1o.mysql.rds.aliyuncs.com', 'port' => '3306', 'user' => 'xiaobudiu', 'pass' => 'xiaobudiu#kk!$!@#$%ss', 'charset' => 'utf8', );
因为管理RDS数据库的一般都是公司的技术管理,所以建议还是直接开通高权限,然后需要新建账号时可以grant
注:最高权限用户如何分配mysql权限链接:https://www.cnblogs.com/cyl048/p/7992376.html
注:Navicat 连接远程ecs服务器中的mysql https://blog.csdn.net/m_nanle_xiaobudiu/article/details/80223865