用phpMyAdmin管理AWS的RDS | 火星博客
当前位置: 首页 > 淘宝 > 正文

用phpMyAdmin管理AWS的RDS




标题听起来很绕口,不过相信对新手会很有用,介绍AWS数据库服务器的文章不多见,因些找了很多国外的介绍才完成的。

AWS的EC2应该很多小伙伴都在用了,确实很方便、稳定,不过由于分配的资源不多,所以性能受了些影响,突然想起来AWS除了提供免费一年的EC2之外,还有一个RDS(关系型数据库服务),说白了就是一个单独的VPS用来跑MYSQL(当然也提供其他几种类型的数据库,包括微软的)。有这么好的免费资源,可以把EC2上的网站数据库转移到单独的RDS上来,减轻EC2的负担,那不是很好?说干就干,接下来把整个过程跟大家分享一下。

一、第一步当然是你得有一个AWS的账号,并且一起建立一个RDS实例,点击图中的蓝色按钮即可开始引导。

image

选择我们需要的数据库种类,当然我们选择最常用的MYSQL。

接下来的页面会比较唬人,如果选了YES会开始收费,主要是问我们要不要更高的处理器和更多的硬盘这里我们选No,之后点Next。

image

本页主要是选择一些基本的数据库服务器的资源,有点类似于EC2的系统、处理器、内存等,不得不赞美一下亚马逊的大方,这RDS其实也就是一台独立的服务器,而且提供的跟EC2规格是一样的,楼主EC2选的是t2.micro(1处理器,1G内存),这里选择的实例级别是db.t1.micro(1处理器,0.6G内存),主要是因为楼主需要的MYSQL版本是5.5,如果你想用5.6版本的话就可以选择db.t2.micro(1处理器,1G内存)。这里选择版本一定要根据EC2上安装的php-mysql版本一致,不然会出错。下面的Multi-AZ Deployment选No,选Yes是要钱的。再下面是选择存储器类别和容量的,我们就默认的SSD,再填写20G(免费的最大容量)就可以了。

image

本页下半段主要是填写数据库的主账号和密码的,第一行是填一个识别号,会成为你MYSQL服务器地址的一部分,请随意,下面是用户名和两次密码,接下来就可以下一步了。

image

这一页上半段是设置安全相关的,第一行和第二行默认,第三行是允许公开访问(因为考虑可能会使用Navicat或是mysql-front来远程访问,所以开放公开访问),可用区域建议跟我们EC2的一样,这样两个VPS在一个机房速度会比较快,再下面VPC Security Groups是用来控制访问IP和端口的,在RDS的控制面板中无法修改,需要自己在EC2中设置一个security group专门给RDS使用,只要开放3306给全部IP就可以了。

image

中间这一段提示设置一个空数据库,设置不设置都可以,这个数据库是可以自己使用的,所以不妨设置一个。第二行是端口号,默认3306即可,其他三行默认。

image

终于快大功告成,最后一部分是设置自动备份的,需要提醒大家的是这个备份说明会持续半小时,不过据网友反应通常会进行4个小时,这4个小时服务器是停掉的,还是考虑考虑能不能接受。如果能接受,我建议选择UTC的17点开始,这时是中国的凌晨1点,影响较小。下面是自动升级维护,通常也需要半个小时,这个不是周期性的,影响较小,默认即可。

image

OK了,现在点蓝色按钮去看看我们的实例吧,这个MYSQL服务器配置时间稍长,估计会五分钟左右,等配置完成后我们可以在实例详单中看到Endpoint,是一个url地址,后面跟着3306,这个就是将来我们远程的MYSQL数据库地址,为了使用方便,我自己CNAME了一个二级域名到这个网址,假设是rds.mydomain.com,以后就可以用自己的短域名来管理数据库VPS了。

image

二、使用程序进行远程管理,当然你可以使用navicat或是mysql-front来管理,不过这两个软件都是收费的,当然也有破解的,不支持使用破解软件,我使用phpmyadmin,有个电脑就可以上网登录,使用更加方便,phpmyadmin程序我也放在EC2上,单独设置一个二级域名存放phpmyadmin内容,假设这个网址是mysql.mydomain.com,现在就相当于EC2上的php程序读取RDS上的数据库。

关于域名和lamp-server的设置和安装就不详细说明了,如果有需要可以参考之前的《AWS-EC2建立wordpress及问题处理》。

三、接下来是最重要的安装和配置phpmyadmin的配置文件了,这个文件如果不配置会有很多功能不能使用,虽然可以登录,但会提示高级功能不能使用,并且建立新用户的时候可能会出现失败。

我们上传好phpmyadmin文件后,进入phpmyadmin的根目录,里面有一个config.sample.inc.php文件,很多网上教程说需要把这里的信息配置好改名为config.inc.php,不过其实这个文件和libraries文件夹的config.default.php文件有很多内容是重复的,只是config.inc.php优先级低,会优先使用config.default.php的内容,经过我多次尝试,只改后者会比较好。我们需要一条一条核对以下内容,一个下划线都不能少,否则白填,其他没有列出的选项可以保持默认。

/* 设置phpmyadmin的绝对地址,这里把刚才的phpmyadmin域名放上去,注意要带http,不用怕双斜杠后面显示被注释,系统可以正常识别 */

$cfg[‘PmaAbsoluteUri’] = ‘http://mysql.mydomain.com’;

/* 设置cookie短语码,随意设置,没什么用,可以用123456 */

$cfg[‘blowfish_secret’] = ”;

/* 设置控制账号的用户名,这个控制账号是用来存取phpmyadmin数据库的,官方建议取作pma,现在数据库中还不存在这个账号,需要我们登录后创建。 */

$cfg[‘Servers’][$i][‘controluser’] = ‘pma’;

/* 设置控制账号的密码 */

$cfg[‘Servers’][$i][‘controlpass’] = ‘换成你的密码’;

/* 更改登录phpmyadmin的验证方式,可以选空密码,config,和cookie,最安全的是cookie,前两个不用密码 */

$cfg[‘Servers’][$i][‘auth_type’] = ‘cookie’;

/* 设置主账号用户名,这个属于管理员账号 */

$cfg[‘Servers’][$i][‘user’] = ‘换成RDS设置的用户名’;

/* 设置主账号密码 */

$cfg[‘Servers’][$i][‘password’] = ‘换成自己的密码’;

/* 这个是设置一个phpmyadmin自己需要的数据库,目前服务器上也没有,需要我们登录后使用phpmyadmin自带的一个数据库文件导入建立,文件位于phpmyadmin根目录下sample目录中,文件名是create_tables.sql */

$cfg[‘Servers’][$i][‘pmadb’] = ‘phpmyadmin’;

/* 以下是phpmyadmin数据库中的表,需要在这里对每个变量使用的表进行对应,注意有的地方是双下划线,有的地方是单下划线 */

$cfg[‘Servers’][$i][‘bookmarktable’] = ‘pma__bookmark’;
$cfg[‘Servers’][$i][‘relation’] = ‘pma__relation’;
$cfg[‘Servers’][$i][‘table_info’] = ‘pma__table_info’;
$cfg[‘Servers’][$i][‘table_coords’] = ‘pma__table_coords’;
$cfg[‘Servers’][$i][‘pdf_pages’] = ‘pma__pdf_pages’;
$cfg[‘Servers’][$i][‘column_info’] = ‘pma__column_info’;
$cfg[‘Servers’][$i][‘history’] = ‘pma__history’;
$cfg[‘Servers’][$i][‘table_uiprefs’] = ‘pma__table_uiprefs’;
$cfg[‘Servers’][$i][‘tracking’] = ‘pma__tracking’;
$cfg[‘Servers’][$i][‘userconfig’] = ‘pma__userconfig’;
$cfg[‘Servers’][$i][‘recent’] = ‘pma__recent’;
$cfg[‘Servers’][$i][‘favorite’] = ‘pma__favorite’;
$cfg[‘Servers’][$i][‘users’] = ‘pma__users’;
$cfg[‘Servers’][$i][‘usergroups’] = ‘pma__usergroups’;
$cfg[‘Servers’][$i][‘navigationhiding’] = ‘pma__navigationhiding’;
$cfg[‘Servers’][$i][‘savedsearches’] = ‘pma__savedsearches’;
$cfg[‘Servers’][$i][‘central_columns’] = ‘pma__central_columns’;

至此,配置文件搞定,将整个phpmyadmin文件夹中所有内容上传到mysql.mydomain.com的根目录中即可访问了。

四、开始建立pma用户、phpmyadmin数据库,并建立二者的权限关系。

在数据库总界面上点击导入,上传create_tables.sql文件,执行导入后成功会有提示,并且左侧数据库列表中会增加一个phpmyadmin数据库,不建立本数据库会出现提示:

image

The phpMyAdmin configuration storage is not completely configured, some extended features have been deactivated. Find out why.
Or alternately go to ‘Operations’ tab of any database to set it up there.

点击数据库总界面上的用户,再点击添加新用户,用户名为pma,密码随自己心意,如图:

image

如果不建立pma用户,会出现的错误提示:

使用配置文件中定义的控制用户连接失败。

创建二者权限,再次点击主界面用户,找到pma用户,编辑权限,点击上面的数据库按钮,在选择框中选择phpmyadmin并执行,权限全部选择,如图:

image

第五步,恩,没有了,不过小提示一下,这时如果不退出重新登录一下可能下面还会有出错提醒,只要重新登录一下就好了,至此就可以尽情使用phpmyadmin进行数据库导入导出备份了,然后只需要在EC2的网站中把本地数据库地址localhost更改为RDS数据库地址rds.mydomain.com就可以了,一切如常,基本感觉不到变化呢,哈哈哈,我的EC2终于不会每天固定时间CPU爆炸了。

本文固定链接: https://www.eoowo.com/?p=1014 | 火星博客

该日志由 Rainer 于2020年07月09日发表在 淘宝 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 用phpMyAdmin管理AWS的RDS | 火星博客

用phpMyAdmin管理AWS的RDS:等您坐沙发呢!

发表评论

快捷键:Ctrl+Enter