您好,登錄后才能下訂單哦!
pt-archiver 是 pt-toolkit 中的一個工具,用于歸檔,傳送數據至下線數據庫,或者其他數據庫
Examples
Archive all rows from oltp_server to olap_server and to a file:
pt-archiver --source h=oltp_server,D=test,t=tbl --dest h=olap_server \
--file '/var/log/archive/%Y-%m-%d-%D.%t' \
--where "1=1" --limit 1000 --commit-each
Purge (delete) orphan rows from child table:
pt-archiver --source h=host,D=db,t=child --purge \
--where 'NOT EXISTS(SELECT * FROM parent WHERE col=child.col)'
示例:
root@python-develpment:~# pt-archiver --source h=192.168.134.186,P=3306,u=pt-archive,p=123456,D=pcik_log_dep,t=t_user_login --where='logintime<"2017-05-05"' --file='a.txt' --statistics --charset=utf8 --no-delete --progress=500 --limit=2000 --optimize=ture --txn-size=20000
--source 源數據庫,后面的參數用‘,’隔開
--where 過濾數據
-statistics 執行完成后顯示統計信息
Started at 2017-08-10T12:14:36, ended at 2017-08-10T12:14:39
Source: A=utf8,D=pcik_log_dep,P=3306,h=192.168.134.186,p=...,t=t_user_login,u=pt- archive
SELECT 50281
INSERT 0
DELETE 0
Action Count Time Pct
select 27 0.8560 24.15
print_file 50281 0.3907 11.02
commit 3 0.0014 0.04
other 0 2.2968 64.79
--file 歸檔到本地(文件格式和select into outfile 一樣,導入時使用load data infile 默認即可)
--no-delete 默認是會刪除源數據庫數據的,加上此參數后將不刪除源數據庫數據,
--progress 每完成多少行數據就會給出提示
TIME ELAPSED COUNT
2017-08-10T12:14:36 0 0
2017-08-10T12:14:36 0 500
2017-08-10T12:14:36 0 1000
2017-08-10T12:14:36 0 1500
2017-08-10T12:14:36 0 2000
--limit 指定select 每次查詢的數量(改變此值可優化速度)
--txn-size=20000 當 --file時 不能用 --commit-each ,可設置此值加快速度
歸檔并傳送至其他服務器
pt-archiver --source h=192.168.134.186,P=3306,u=pt-archive,p=123456,D=pcik_log_dep,t=t_user_login --where='logintime<"2017-05-05"' --file='a.txt' --statistics --charset=utf8 --no-delete --progress=500 --limit=20000 --optimize=ture --txn-size=20000 --dest h=192.168.134.186,P=3308,u=root,p=123456 --bulk-insert
--bulk-insert 加快dest 服務器插入數據速度
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。