本教程以RDS mysql为例子,MSSQL也类似的操作过程。数据迁移和导入的数据再配合Navicat for Mysql操作。
去阿里云网站RDS选择一款适合业务使用需求的配置就够了。 官方提供有内存、存储空间、最大连接数三个参考数据,买之前看看业务大概的需求,比如要迁移的网站,每天访问量大概30W PV,最近一年左右的MYSQL最大连接数是113,数据库总大小有1.8G,根据以上参数选择了RDS MYSQL新二型。
阿里云代金券2000元领取地址:https://www.aliyun.com/minisite/goods
新老阿里云账户均可领取!可用于购买阿里云服务器ECS、云数据库RDS、虚拟主机、安骑士、DDoS高防IP等100多云计算产品。 代金券自领取之日起,有效期是30天,请及时使用,过30天后还可以重新领取。
目前阿里云RDS mysql是5.5、5.6、5.7、8.0版本。如下图所示:
设置RDS
购买到适合自己的套餐,付款开通之后,登陆阿里云管理控制台,就能看到我们的RDS实例了。
我们选择的是一个RDS实例,在这个实例里面,你可以创建很多个MYSQL数据库,同时也能创建很多个数据库账号,像我购买的新2型就支持最多50个数据库账号和200个数据库,这对于我来说就已经足够了,这些数据库共享上面购买的内存、存储空间和最大连接数。
接下来对RDS进行一些必要的设置
1、创建数据库和用户
在控制台的“数据库管理”中选择新建数据库,打开如下图的数据库新建页面,数据库名称看需要了,随意填入几个简单的字符都可以,字符集这里根据程序需要,RDS支持utf8、GBK、Latin1,我要迁移的程序是GBK编码,就选了gbk,数据库用户名和密码根据自己的需要填写就可以了,密码可以设置稍微复杂一点,账号类型选择“读写”。如下图所示。
2、切换连接模式
在阿里云服务器上连接rds就选择内网模式,如果是在其他服务器上连接RDS使用,就选择外网模式,在控制台的右上角有切换方式。
3、设置IP白名单
RDS可以设置允许访问的IP,这一点对安全非常有用。直接在这里填入你要连接RDS的服务器的IP即可,如果是外网模式,请填入外网IP,如果是内网模式,填入内网IP即可。当然,图方便的,也可以填入%,表示允许所有IP连接,非常不建议这么做。
设置好了如上这些,我们就可以开始使用RDS了。
迁移数据
阿里云官方提供了一套数据迁移工具,个人感觉有使用门槛,如果数据库不是特别庞大,就不要用了。我迁移数据的时候使用的是Navicat for Mysql,这个工具使用简单,方便,适合小白。
我的数据库有1.8G,所以就使用简单方法操作。先在源服务器上安装Navicat,然后在Navicat上建立到现有数据库的连接和到RDS的连接,在上面步骤中设置IP白名单时,记得把你现在安装Navicat的这机器的IP加入到白名单里面。
然后我们在现有的数据库上右键,选择“数据传输”。
在弹出的数据传输界面中,源数据库选择我们现在使用的数据库,把数据库对象中的“表”全部选中,如果有使用视图等东西,就一并选上,目标数据库选择在RDS上建立的数据库,简单设置后点击开始就传输数据了,接下来只要慢慢等着就行。
其他部署
经过上面的步骤,已经把数据库迁移到Navicat了,如果不需要迁移程序到阿里云服务器,那就只需要再修改程序数据库连接参数即可,比如我这里就需要修改/config/config_global.php、/config/config_ucenter.php、/uc_server/data/config.inc.php这三个文件里面的数据库连接地址、用户名、密码、数据库名,修改好后即可使用,是不是很容易呢。
后话
迁移数据库到RDS其实还是比较简单的,主要得益于RDS几乎完全兼容MYSQL原生的所有操作方法,并不会给我们的操作带来任何额外的成本。当然,这里有几个细节需要大家注意一下:
1、RDS并非100%完美兼容mysql和mssql,尤其是存储过程和视图等高级功能,RDS使用时可能会存在一些兼容问题,具体的可以在买之前咨询一下阿里云客服。
2、RDS对sql语句的规范性要求很高,使用时尽量规范你的语句,以免带来不必要的麻烦。
3、RDS虽然可以内外网连接,但是外网流量收费,同时出于延时考虑,建议搭配阿里云服务器使用,如果不在同一个机房,请谨慎考虑使用了,连接延时伤不起。
更多参阅
阿里云服务器:活动地址
购买可领取:阿里云代金券