Article Directory
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 'файл_аты' формасындагы 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 。文本 密码******
--all-database параметри MySQL 3.23.12 жана андан кийинки версияларында кошулган.
Бул ыкма маалымат базасын резервдик көчүрүү стратегиясын ишке ашыруу үчүн колдонулушу мүмкүн.
Маалымат таблицаларын жана маалымат базаларын башка хостторго көчүрүү
Эгер башка 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/ ) бөлүштү "Linux MySQL маалымат базасынан маалымат файлдарын кантип экспорттоо керек?Сизге жардам берүү үчүн csv билдирүү буйругун экспорттоо.
Бул макаланын шилтемесин бөлүшүүгө кош келиңиз:https://www.chenweiliang.com/cwl-501.html
