青草久久影院-青草久久伊人-青草久久久-青草久久精品亚洲综合专区-SM双性精跪趴灌憋尿调教H-SM脚奴调教丨踩踏贱奴

17站長(zhǎng)網(wǎng)

MySQL傳輸表空間總結(jié)

2023-3-16 14:23| 查看: 1814 |來(lái)源: 互聯(lián)網(wǎng)

在MySQL中如果要遷移一個(gè)表導(dǎo)另外一個(gè)服務(wù)器/環(huán)境中,常規(guī)的做法就是使用備份工具備份,比如mysqldump,然后拷貝備份到目標(biāo)服務(wù)器或者環(huán)境導(dǎo)入。如果某一個(gè)表數(shù) ...

在MySQL中如果要遷移一個(gè)表導(dǎo)另外一個(gè)服務(wù)器/環(huán)境中,常規(guī)的做法就是使用備份工具備份,比如mysqldump,然后拷貝備份到目標(biāo)服務(wù)器或者環(huán)境導(dǎo)入。如果某一個(gè)表數(shù)據(jù)量很大,導(dǎo)出dump文件很大的情況下,使用導(dǎo)出導(dǎo)入工具其實(shí)會(huì)花費(fèi)不少的時(shí)間.

怎么樣提高效率呢,可以有一種想法就是直接拷貝數(shù)據(jù)文件到目標(biāo)環(huán)境,當(dāng)然在早期版本中這么做是不可取的,因?yàn)闀?huì)有很多關(guān)聯(lián)數(shù)據(jù)在ibdata中,InnoDB的數(shù)據(jù)存在對(duì)應(yīng)的數(shù)據(jù)字典信息,是存放在共享表空間中,無(wú)法直接剝離出來(lái),而在5.6/5.7中,就推出了一個(gè)很不錯(cuò)的特性,就是遷移表空間,可以把這個(gè)配置信息剝離出來(lái),簡(jiǎn)單來(lái)說(shuō)就是把數(shù)據(jù)文件直接拷貝到目標(biāo)環(huán)境,在目標(biāo)端掛載即可。

這樣一個(gè)操作的一個(gè)基本前提是使用了獨(dú)立表空間,開(kāi)啟innodb_file_per_table.

>show variables like '%per_table%';

+-----------------------+-------+

| Variable_name         | Value |

+-----------------------+-------+

| innodb_file_per_table | ON    |

+-----------------------+-------+

1 row in set (0.00 sec)

 

跨版本傳輸表空間-源端操作

我們做一個(gè)有代表意義的測(cè)試,比如把某一個(gè)表從MySQL 5.6環(huán)境遷移到MySQL 5.7環(huán)境中。

 

 我們選擇一個(gè)表users作為測(cè)試所用,數(shù)據(jù)量在2萬(wàn)條左右。數(shù)據(jù)文件情況:

 

-rw-rw---- 1 mysql mysql      8602 Feb 13 23:10 users.frm

-rw-rw---- 1 mysql mysql  11534336 Mar 12 22:55 users.ibd數(shù)據(jù)情況:

 

> select count(*) from users;

+----------+

| count(*) |

+----------+

|    20001 |

+----------+

1 row in set (0.01 sec)我們開(kāi)始遷移數(shù)據(jù),首先要生成一個(gè)cfg文件,導(dǎo)出配置信息。

  

-rw-rw---- 1 mysql mysql       599 Mar 13 08:17 users.cfg

-rw-rw---- 1 mysql mysql      8602 Feb 13 23:10 users.frm

-rw-rw---- 1 mysql mysql  11534336 Mar 12 22:55 users.ibd在flush table之后,這個(gè)表users就被鎖定了,DML操作是阻塞的,也就意味著遷移的過(guò)程中,是無(wú)法直接寫(xiě)入數(shù)據(jù)的。

 

# strings users.cfg

mbionline.test.com    

test/users

userid

        username

DB_ROW_ID

DB_TRX_ID

DB_ROLL_PTR

PRIMARY

userid

DB_TRX_ID

DB_ROLL_PTR

        username

        username

        username

userid

idx_users

userid

username完成之后推出會(huì)話,設(shè)置unlock tables即可。

> alter table users import tablespace;

ERROR 1808 (HY000): Schema mismatch (Table flags don't match, server table has 0x5 and the meta-data file has 0x1)或者下面的錯(cuò)誤:

> alter table users import tablespace;

ERROR 1808 (HY000): Schema mismatch (Table has ROW_TYPE_DYNAMIC row format, .ibd file has ROW_TYPE_COMPACT row format.)通過(guò)錯(cuò)誤信息可以發(fā)現(xiàn)和表的一個(gè)屬性有關(guān)。我們先解決問(wèn)題,添加屬性row_format

CREATE TABLE `users` (

  `userid` int(11) unsigned NOT NULL,

  `username` varchar(64) DEFAULT NULL,

  PRIMARY KEY (`userid`),

  KEY `username` (`username`),

  KEY `idx_users` (`userid`,`username`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 row_format=compact;然后繼續(xù)嘗試Import tablespace操作。

回到剛剛碰到的問(wèn)題,為什么在5.6遷移至5.7會(huì)有報(bào)錯(cuò)。

> alter table users import tablespace;

ERROR 1808 (HY000): Schema mismatch (Table has ROW_TYPE_DYNAMIC row format, .ibd file has ROW_TYPE_COMPACT row format.)原因就是Innodb_file_format在5.6中是Antelope,在MySQL 5.7中是Barracuda,主要是在表壓縮和行的動(dòng)態(tài)格式上有所改變。更詳細(xì)的內(nèi)容可以參考:

https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-7.html

小結(jié)

其實(shí)這個(gè)特性在Oracle中已經(jīng)有耳熟能詳?shù)牡姆桨福琓TS,支持跨平臺(tái),轉(zhuǎn)換字節(jié)順序,甚至可以支持基于增量備份的遷移方案,MySQL中的遷移方式和Oracle傳統(tǒng)的TTS有些相似。當(dāng)然上面的操作還可以使用Percona的工具innobackupex 來(lái)完成,我們下一篇來(lái)進(jìn)行演示。

本文最后更新于 2023-3-16 14:23,某些文章具有時(shí)效性,若有錯(cuò)誤或已失效,請(qǐng)?jiān)诰W(wǎng)站留言或聯(lián)系站長(zhǎng):[email protected]
·END·
站長(zhǎng)網(wǎng)微信號(hào):w17tui,關(guān)注站長(zhǎng)、創(chuàng)業(yè)、關(guān)注互聯(lián)網(wǎng)人 - 互聯(lián)網(wǎng)創(chuàng)業(yè)者營(yíng)銷(xiāo)服務(wù)中心

免責(zé)聲明:本站部分文章和圖片均來(lái)自用戶(hù)投稿和網(wǎng)絡(luò)收集,旨在傳播知識(shí),文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請(qǐng)勿用于商業(yè)用途,如果損害了您的權(quán)利,請(qǐng)聯(lián)系我們及時(shí)修正或刪除。謝謝!

17站長(zhǎng)網(wǎng)微信二維碼

始終以前瞻性的眼光聚焦站長(zhǎng)、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領(lǐng)域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長(zhǎng)轉(zhuǎn)型升級(jí),為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質(zhì)的創(chuàng)業(yè)信息和品牌營(yíng)銷(xiāo)服務(wù),與站長(zhǎng)一起進(jìn)步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨(dú)!

掃一掃,關(guān)注站長(zhǎng)網(wǎng)微信

大家都在看

    熱門(mén)排行

      最近更新

        返回頂部
        主站蜘蛛池模板: 久久久久久久久a免费 | 亚洲精品一二三区-久久 | 高h辣h双处全是肉一对一 | 超碰免费视频公开97 | 久久资源365 | 免费特黄一区二区三区视频一 | 花蝴蝶高清影视视频在线播放 | 国产品无码一区二区三区在线 | 国产曰韩无码亚洲视频 | 日韩欧美中文字幕一区 | 午夜理论在线观看不卡大地影院 | 白丝美女被狂躁免费漫画 | 女人把腿张开叫男人桶免费视频 | 久久免费视频1 | 0855午夜福利伦理电影 | 国产在线精彩亚洲久久 | 亚洲国产综合久久久无码色伦 | 青青草国产自偷拍 | 国产高清视频免费最新在线 | 琪琪SEE色原网色原网站18 | 国产在线视频在线观看 | 一本道无码字幕在线看 | 日日色在线影院 | 美女扒开尿口让男生添动态图 | 国产成人免费不卡在线观看 | 欧美 日韩 亚洲 在线 | 日韩人妻无码精品久久中文字幕 | 国产学生无码中文视频一区 | 亚洲国产高清在线观看视频 | 免费鲁丝片一级在线观看 | 亚洲精品偷拍影视在线观看 | 先锋影音av资源站av | hd性欧美俱乐部中文 | 精品国产乱码久久久久久下载 | 男人和女人一起愁愁愁很痛 | 久久国产av偷拍在线 | 中文字幕在线不卡精品视频99 | 甜宠溺H宝贝嗯撞PLAY啊 | yellow在线观看免费观看大全 | 国产欧洲野花A级 | 国产成人免费视频 |