国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL 常見數據拆分辦法

2024-07-24 13:10:04
字體:
來源:轉載
供稿:網友

在生產環境中,由于業務的增長或者業務的拆分,DBA經常需要拆庫操作。那么我們常見的拆庫手段有哪些呢?

我這里提供幾種解決辦法:

1. 使用mysqldump 把表邏輯倒出,然后再source 到其它地方
2. 使用xtrabackup 把表、或者庫邏輯備份出,然后再recovery出一個實例
3. 使用MySQL自帶的表空間轉移(Transport)[這個需要MySQL 5.6.6 以上版本支持]

I: 先來看一下MySQL 的 Transport 表空間的特性吧

比如我們要把  tab_test1 從 db_A 移動到 db_B ,那么我們需要做這么一系列動作:

Step 1: use db_A; show create table tab_test1;(首先,拿到需要的表結構)
Step 2: use db_B; create table tab_test1; alter tale tab_test1 discard tablespace;(discard tablespace 就是把ibd文件刪掉,只留下.frm文件)(其次,到目標庫刪除掉idb文件)
Step 4: use db_A; flush table test122 for export;(把相關表的內存數據寫入到數據庫)
Step 5: 拷貝 tab_test1.ibd 文件到 db_B/   目錄下;(操作系統層執行拷貝ibd文件操作)
Step 6: use db_A; unlock tables; (源庫上解鎖表)
Step 7: use db_B; alter table tab_test1 import tablespace;(目標庫執行表空間導入)

執行完上邊幾個步驟,我們就完成了 在庫之間遷移 某些個表的操作了。


II: 再來看一下 xtrabackup 導出部分表,以達到遷移目的

 Step 1: 我們需要使用xtrabackup 備份部分表

nohup perl /home/ddb/tmp/xtrabackup/bin/innobackupex-1.5.1 --ibbackup=/home/tmp/xtrabackup/bin/xtrabackup_55 --user=root --password=123 --defaults-file=/home/my.cnf  --slave-info  --tables-file=/mnt/back_tables.txt /mnt/backup_1 
 
Step 2:  應用日志,進行恢復操作

nohup perl /home/tmp/percona-xtrabackup-2.1.9-Linux-x86_64/bin/innobackupex-1.5.1 --ibbackup=/home/tmp/percona-xtrabackup-2.1.9-Linux-x86_64/bin/xtrabackup_55 --export --apply-log --defaults-file=/home/node-1-1/backup-my.cnf /home/node-1-1/ > /tmp/r.log 2>&1 &
 
Step 3: 重新起實例,配置復制關系,只復制部分表

    my.cnf 文件配置: Replicate_Wild_Do_Table/Replicate_Wild_Ignore_Table
 
執行完上邊幾個步驟,我們就完成了表的遷移操作,并且新起了個實例,達到了分庫的目的。
 

III:最后我們就看一下 mysqldump 的姿勢吧

    額, 這個就不多啰嗦了吧, mysqldump 做的事情就是 一些邏輯的導出, 倒出來的數據我們是可以用人肉可見的。    這個需要注意的一點就是  --single-transcation 選項
 
關于以上幾種辦法,我們在實際工作中需要 考慮 服務器的資源、內存容量等, 需要結合實際情況來使用 合適的辦法進行拆庫操作。


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 崇文区| 治县。| 合江县| 宁远县| 汾西县| 巴南区| 九江县| 观塘区| 赤城县| 莲花县| 柘荣县| 措美县| 漠河县| 大丰市| 洞头县| 望奎县| 苏尼特左旗| 榕江县| 囊谦县| 大邑县| 南靖县| 安龙县| 伊川县| 吕梁市| 长泰县| 静海县| 宁德市| 德州市| 日土县| 友谊县| 岳西县| 文安县| 星子县| 文登市| 湘潭市| 陈巴尔虎旗| 贡觉县| 黎川县| 兰坪| 乐都县| 中卫市|