場景介紹:
隨著業務量的逐漸增加,公司的數據庫壓力也會逐漸增大,使用自己購買的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