2018年4月30日 星期一

mysql restore


資料來源: https://github.com/17media/mysql-restore
以下為內容備份留存

前言

請優先善用storage的snapshot功能作backup and restore。
當你需要用上logical restore時:
  • master和slave機器都趴掉
  • 沒法從storage snapshot恢復過來
  • 其中一個use-case:整個datacenter趴掉,需要在別的datacenter重建mysql
這篇沒使用csv格式,因為所在的datacenter沒法這麼做

mysql.cnf

  • mysqlmysqldump會從這檔案讀取所需的username和password
  • 位置: ~/.my.cnf
  • 內容:
[client]
host=abc.com
user=root
password=abc123456
port=3306

backup script

  • 把純資料backup,不包schema,並且進行gzip
mysqldump --max_allowed_packet=512M --single-transaction --extended-insert --compress \
--no-create-info --no-create-db --skip-triggers \
--databases test1 | gzip -c > dump.sql.gz
  • 把database schema作backup
mysqldump --max_allowed_packet=512M --single-transaction --extended-insert --compress \
--no-data \
--databases test1 > schema.sql
  • autoinc的數值存放於schema部份而不是在data部份,所以每次logical backup一定要2者都跑
  • 次序一定是先跑data然後跑schema,否則autoinc數值會出錯
  • backup過程中不能跑alter table

restore script

  • 先重建schema:mysql < schema.sql
  • import data部份,mysql是用single thread來跑,100GB的資料需要超過6小時的,這樣子太慢
gzip -cd dump.gz | mysql --max_allowed_packet=512M --compress 

parallel data import

  • 原理
    • 先把本來的dump.sql.gz切成table_XXX.sqltable_YYY.sql……
    • 當準備好一個table_XXX.sql後,立即呼叫mysql < table_XXX.sql來做data import,因為同一時間能import多個table,所以時間大幅縮短了
    • 部份可以事後再補回的table可以先不做import,再進一步加快速度
  • compile program: go build
  • 執行import:
mysql-restore \
--path  \
--concurrency 
--ignore-tables 
  • 範例
./mysql-restore --path /backup/dump-20180429.sql.gz --ignore-tables "NotImportantTable,JustLogTable"

2018年4月13日 星期五

arduino 筆記


Arduino Ethernet


Arduino Ethernet 的話,需要 FTDI 的連接線,才能從電腦的 usb 連到 Arduino Ethernet 寫入程式。
接頭的樣式類似以下文章的說明:
https://gr33nonline.wordpress.com/2016/10/16/programming-the-arduino-ethernet-board/

以下幾個做為 web server 的例子:
http://wiznethk.pixnet.net/blog/post/344710378-arduino-ethernet%E5%85%A5%E9%96%80%E2%80%94%E2%80%94%E6%A7%8B%E5%BB%BA%E7%B0%A1%E6%98%93%E7%9A%84web-server%E6%95%99%E7%A8%8B
http://idledev.com/2015/04/http-get-parameters-with-arduino-part-1/



2018年4月8日 星期日

弱點掃描

自己留做記錄:

OpenVAS

若顯示
Status code: 503,
Status message: Service temporarily down
可以參考 https://itsol.biz/openvas-status-code-503-status-message-service-temporarily/ 這裡內容重新建置。


OWASP ZAP