Нийтлэлийн лавлах
Linux MySQL мэдээллийн санМэдээллийн файлуудыг хэрхэн экспортлох вэ?csv мэдэгдлийн командыг экспортлох
MySQLөгөгдөл экспортлох
MySQL дээр та ашиглаж болноСОНГОХ … OUTFILEзөвхөн өгөгдлийг текст файл руу экспортлох мэдэгдэл.
SELECT ... INTO OUTFILE мэдэгдлийг ашиглан өгөгдлийг экспортлох
Дараах жишээнд бид өгөгдлийн хүснэгтийг /tmp/tutorials.txt файл руу экспортлох болно:
mysql > SELECT * FROM chenweiliang_tbl - > INTO OUTFILE '/tmp/tutorials.txt' ;
Та тушаалын сонголтоор өгөгдлийн гаралтын заасан форматыг тохируулж болно. Дараах жишээ нь CSV форматыг экспортлоход зориулагдсан болно:
mysql > SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.csv' - > FIELDS TERMINATED BY ',' ENCLOSED BY ''' - > LINES TERMINATED BY '\ r \ n' ;
Дараах жишээнд файлыг таслалаар тусгаарласан утгуудаар үүсгэсэн.Энэ форматыг олон програм ашиглаж болно.
SELECT a ,b ,a + b INTO OUTFILE '/tmp/result.text'FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '''行 终止'\ n'FROM test_table ;
SELECT ... INTO OUTFILE мэдэгдэл нь дараах шинж чанаруудтай:
- LOAD DATA INFILE нь SELECT ... INTO OUTFILE, SELECT синтаксийн урвуу үйлдэл юм.Өгөгдлийн сангаас файл руу өгөгдөл бичихийн тулд SELECT ... INTO OUTFILE командыг, харин өгөгдлийн сан руу буцаан уншихын тулд LOAD DATA INFILE командыг ашиглана.
- СОНГОХ ... OUTFILE INTO 'file_name' маягтын SELECT нь сонгосон мөрүүдийг файлд бичиж болно.Файл нь серверийн хост дээр үүсгэгдсэн тул та энэ синтаксийг ашиглахын тулд FILE зөвшөөрөлтэй байх ёстой.
- Гаралт нь одоо байгаа файл байж болохгүй.Файлын өгөгдлийг өөрчлөхөөс урьдчилан сэргийлэх.
- Та файлуудыг сэргээхийн тулд серверт нэвтрэх бүртгэлтэй байх шаардлагатай юу?Үгүй бол SELECT ... INTO OUTFILE ямар ч нөлөө үзүүлэхгүй.
- UNIX-д файл нь унших боломжтой байхаар бүтээгдсэн бөгөөд зөвшөөрлийг MySQL сервер эзэмшдэг.Энэ нь та файлыг уншиж болох ч устгах боломжгүй гэсэн үг юм.
Хүснэгтийг түүхий өгөгдөл болгон экспортлох
Энэ нь үндсэндээ мэдээллийн санг эхнээс нь дахин үүсгэхэд шаардлагатай CREATE TABLE INSERT гэх мэт командуудыг агуулсан SQL скриптийг гаргадаг.
Mysqldump ашиглан өгөгдлийг экспортлохын тулд та экспортын файлд заасан лавлахыг зааж өгөхийн тулд –tab сонголтыг ашиглах хэрэгтэй бөгөөд зорилтот нь бичих боломжтой байх ёстой.
Дараах жишээ нь chenweiliang_tbl өгөгдлийн хүснэгтийг /tmp сан руу экспортолж байна:
$ mysqldump - u root - p - no - create - info - tab = / tmp chenweiliang chenweiliang_tbl 密码******
SQL форматаар өгөгдлийг экспортлох
Өгөгдлийг SQL форматаар заасан файл руу дараах байдлаар экспортлоорой.
$ mysqldump - u root - p chenweiliang chenweiliang_tbl > dump 。文本 密码******
Дээрх тушаалаар үүсгэсэн файлын агуулга дараах байдалтай байна.
- MySQL 转储8.23 - - 主机:localhost 数据库:chenweiliang ----------------------------------- ---------------------- - 服务器版本 3.23 。58 - - 表结构为表`chenweiliang_tbl` - CREATE TABLE chenweiliang_tbl ( chenweiliang_id INT (11 )NOT NULL的auto_increment , chenweiliang_title VARCHAR (100 )NOT NULL 默认'' , chenweiliang_author VARCHAR (40 )NOT NULL 默认'' , submission_date日期默认NULL , PRIMARY KEY (chenweiliang_id ), UNIQUE KEY AUTHOR_INDEX (chenweiliang_author ))TYPE = MyISAM ; - - 转储数据的表`chenweiliang_tbl` - INSERT INTO chenweiliang_tbl VALUES (1 ,'Learn PHP' ,'John Poul' ,'2007-05-24' ); INSERT INTO chenweiliang_tbl VALUES (2 ,'学习MySQL' ,'Abdul S' ,'2007-05-24' ); INSERT INTO chenweiliang_tbl VALUES (3 ,'JAVA Tutorial' ,'Sanjay' ,'2007-05-06' );
Хэрэв та бүх мэдээллийн сангийн өгөгдлийг экспортлох шаардлагатай бол дараах тушаалыг ашиглаж болно.
$ mysqldump - u root - p chenweiliang > database_dump 。文本 密码******
Хэрэв та бүх мэдээллийн санг нөөцлөх шаардлагатай бол дараах тушаалыг ашиглаж болно.
$ mysqldump - u root - p - all - databases > database_dump 。文本 密码******
MySQL 3.23.12 болон түүнээс хойшхи хувилбаруудад --all-databases сонголтыг нэмсэн.
Энэ аргыг мэдээллийн санг нөөцлөх стратегийг хэрэгжүүлэхэд ашиглаж болно.
Өгөгдлийн хүснэгт болон мэдээллийн санг бусад хост руу хуулах
Хэрэв та өөр MySQL сервер рүү өгөгдлийг хуулах шаардлагатай бол mysqldump командын дотор өгөгдлийн сангийн нэр болон хүснэгтийг зааж өгч болно.
dump.txt файл руу өгөгдлийг нөөцлөхийн тулд эх хост дээр дараах тушаалыг гүйцэтгэнэ.
$ mysqldump - u root - p database_name table_name > dump 。文本 密码*****
Хэрэв та мэдээллийн баазыг бүрэн нөөцөлж авбал хүснэгтийн тодорхой нэрийг ашиглах шаардлагагүй болно.
Хэрэв та нөөц өгөгдлийн санг MySQL сервер рүү импортлох шаардлагатай бол дараах тушаалыг ашиглан өгөгдлийн санг үүсгэсэн эсэхийг баталгаажуулах хэрэгтэй.
$ mysql - u root - p database_name < dump 。文本 密码*****
你也可以使用以下命令将导出的数据直接导入到远程的服务器上,但请确保两台服务器是相通的,是可以相互访问的:</ p > $ mysqldump的- ü根- p DATABASE_NAME \ | mysql - h other - host 。com database_name
Дээрх тушаал нь экспортлогдсон өгөгдлийг заасан алсын хост руу импортлохын тулд хоолой ашигладаг.
Hope Chen Weiliang блог ( https://www.chenweiliang.com/ ) share "Linux MySQL мэдээллийн сангаас өгөгдлийн файлуудыг хэрхэн экспортлох вэ?Танд туслахын тулд csv мэдэгдлийн командыг экспортлох.
Энэ нийтлэлийн холбоосыг хуваалцахад тавтай морилно уу:https://www.chenweiliang.com/cwl-501.html
Илүү олон далд заль мэхийг нээхийн тулд манай Telegram сувагт нэгдэнэ үү!
Хэрэв танд таалагдвал лайк дарж, хуваалцаарай! Таны шэйр, лайк бол бидний байнгын урам зориг юм!