mysql實(shí)現(xiàn)從導(dǎo)出數(shù)據(jù)的sql文件中只導(dǎo)入指定的一個(gè)表
場(chǎng)景
昨天系統(tǒng)自動(dòng)備份了某一個(gè)數(shù)據(jù)庫(kù)的全部表數(shù)據(jù),名dbAll.sql.gz。文件較大(如40G)
今天因發(fā)現(xiàn)某一個(gè)表tableA的一條數(shù)據(jù)存在問題,需核對(duì)兩條記錄的變化。需從dbAll中找回tableA的數(shù)據(jù),以便比較該記錄。
操作方案
1.將dbAll.sql.gz導(dǎo)入待比較的數(shù)據(jù)庫(kù)(臨時(shí)數(shù)據(jù)庫(kù))中,然后比較tableA。不推介,因?yàn)閿?shù)據(jù)量太大,很耗時(shí)
2.解壓dbAll.sql.gz后,通過Java代碼讀取dbAll.sql中的關(guān)于tableA的CREATE語(yǔ)句及INSERT語(yǔ)句等到文件tableA.sql,然后通過tableA.sql導(dǎo)入臨時(shí)數(shù)據(jù)庫(kù)即可進(jìn)行比較。
3.參見(沒試過):mysqldump 導(dǎo)出的是全庫(kù) alldb.sql 導(dǎo)入的時(shí)候可不可以只導(dǎo)其中的一個(gè)表
法1:
perl extract_sql.pl -t mytable -r mydumpfile > mytable.sql
法2:
cat test1db.sql | sed -n ‘/Table structure for table .test1./,/Table structure for table .test2./p'>/tmp/xxx.sql
法3:
awk ‘/Table structure for table .test1./,/Table structure for table .test2./{print}' src_bake_db.sql.gz > targetdb.sql
法3說明:將src_bake_db.sql.gz壓縮文件中的test1、test2表的數(shù)據(jù)導(dǎo)出到targetdb.sql中
補(bǔ)充知識(shí):mysql命令行導(dǎo)出整個(gè)庫(kù)里面所有表的前一百條數(shù)據(jù)
如下所示:
mysqldump -uysp -pYspxxx db_name --where="1=1 limit 100" >/mnt/share/paxxx.com/backup.sql
直接在命令行運(yùn)行就可以了,不需要登陸mysql客戶端。
mysqldump -h 服務(wù)器名 -u 賬號(hào)名-p 數(shù)據(jù)庫(kù)名 --where="true limit 100"> /tmp/supports_launch.sql
phpmyadmin導(dǎo)出php腳本:
http://local.phpmyadmin.com/export.php
以上這篇mysql實(shí)現(xiàn)從導(dǎo)出數(shù)據(jù)的sql文件中只導(dǎo)入指定的一個(gè)表就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL生成千萬(wàn)測(cè)試數(shù)據(jù)以及遇到的問題
前兩天發(fā)現(xiàn)同事要做一個(gè)對(duì)大表進(jìn)行范圍查詢的功能,所以需要生成千萬(wàn)數(shù)據(jù)進(jìn)行性能測(cè)試,下面這篇文章主要給大家介紹了關(guān)于MySQL生成千萬(wàn)測(cè)試數(shù)據(jù)以及遇到的問題的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08MySQL中報(bào)錯(cuò):Can’t find file: ‘./mysql/plugin.frm’的解決方法
這篇文章主要給大家介紹了關(guān)于在MySQL中報(bào)錯(cuò):Can't find file: './mysql/plugin.frm'的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11淺談MySQL8和MySQL5.7在自增計(jì)數(shù)上的區(qū)別
MySQL數(shù)據(jù)庫(kù)是一款非常流行的開源數(shù)據(jù)庫(kù),其版本升級(jí)迅速,在使用過程中也發(fā)現(xiàn)了不同版本之間存在著一些區(qū)別,本文主要介紹了MySQL8和MySQL5.7在自增計(jì)數(shù)上的區(qū)別,感興趣的可以了解一下2023-10-10mysql如何將時(shí)間格式化為yyyy-MM-dd或yyyy-MM-dd?HH:mm:ss
這篇文章主要介紹了mysql如何將時(shí)間格式化為yyyy-MM-dd或yyyy-MM-dd?HH:mm:ss問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07