發表文章

目前顯示的是 12月, 2019的文章

Reserved Instance 介紹

Reserved Instance 介紹 Aws Reserved Instance 介紹 因為公司收到AWS建議可以使用RI方案,但在官方文件上面寫得有點不清楚,所以在此寫下研究過後,瞭解到的部分。 [toc] 簡單說明 簡單來說,Reserverd Instance 就是一個你向AWS保證購買一段時間的Instance使用,所以AWS會給你較便宜的折扣去收錢。 Term 一個Term 代表購買的一次週期 目前只有1年、3年 這是官方賣的,但其實可以用AWS的market來買賣較短期的term的RI,有的話會在RI的購買search那邊顯示出來 3年會比1年便宜 AWS market上面賣的RI,也是別人向AWS購買後,發現不需要了,所以把剩下的賣出來,看有沒有人需要。這種的通常週期會比較短,但整個算起來價格還是比AWS預設的on-demand還要便宜。 付費方式 有 全部預付 、 部分預付 、 不預付 部分預付剩下的部分 和 不預付 ,會用RI的小時費用去算。 全部預付最便宜,部分預付次之, 不預付最貴,但還是比OnDemand還要便宜 。(因為你還是需要繼續付費到Term結束) Region Region: 可以在同個Region下,對 同系列(如t2) 且 同租用(如都是共享的) 且 同平台(如linux/Unix) 的instances 由小到大的正規化因素去分配。 簡單列幾個 執行個體大小 正規化因素 nano 0.25 micro 0.5 small 1 medium 2 large 4 xlarge 8 EX: 在Region Tokyo 買了一個t2.Medium的Linux RI,然後在Region Tokyo 裡面有執行一台t2.nano、一台t2.micro、一台t2.medium的instance,且他們都是Linux系統。 接下來AWS會自動去把t2.nano、t2.micro的所有使用都改成套用t2.Medium的折扣去收費。而t2.medium會有部分(1.25/2)會是套用t2.Medium的折扣,其他部分就依然使用OnDemand的價格。 Avai

不小心drop掉資料庫怎麼辦

不小心drop掉資料庫怎麼半.md 不小心刪掉了mysql資料庫怎麼辦 前情提要 不小心把資料庫給drop掉了、把table刪掉了。 我的情況是把database整個drop掉、沒有開bin_log紀錄。 因為資料庫版本是5.6,預設 innodb_file_per_table=off ,因此資料在被drop掉後,紀錄仍然會在ibdata1裡面。 當下處置和準備 1. 趕緊將資料庫服務整個關掉,要記得把所有mysql的process砍掉。 sudo service stop mysqld P.S.最好再用 ps aux |grep "mysql" 檢查一下 2. 把mysql資料夾內的 ibdata1 檔案抓出來。 3. 準備一下原本create 要恢復的 table的sql 我因為是使用django,所以能夠用migrate重現原本的table 因此,只要在使用 show create table tableName; 就可以拿到create的sql了 P.S. 如果沒有辦法重現的話,twinDB的恢復工具,裡面有sys_parser工具,可以用ibdata1的資料來產生 4. clone 恢復工具 git clone git@github.com:twindb/undrop-for-innodb.git 5. 產生恢復工具(需要gcc、bison、flex、make) 在clone下來的資料夾內編工具 make P.S. 假如需要sys_parser工具的話,需要再額外去編這個工具(需要對應的mysql dev package,可以用 yum provides "*/mysql_config" ,來show出可以下載的dev package) 編譯指令 gcc ` mysql_config --cflags ` ` mysql_config --libs ` -o sys_parser sys_parser.c mysql_config 是mysql的設定檔(通常就叫做mysql_config)。 開始修復 接下來的動作,都是在clone下來的工具的資料夾下操作 手動查的流程 1. 使用s