Мэдээллийг mysql руу хэрхэн экспортлох вэ. PHPMyAdmin дахь мэдээллийн баазыг экспортлох, импортлох

24.03.2023

Энэ журамНэг мэдээллийн сангаас (A) нөгөөд (B) өгөгдөл дамжуулахыг хэлнэ. Дүрмээр бол B мэдээллийн сан нь хостинг дээр (эсвэл Денверт), мэдээллийн сан нь хэрэглэгчийн компьютер дээр байрладаг бөгөөд sql өргөтгөлтэй файл юм. Өгөгдлийн сан A нь өөр нэртэй - Dump.

Мэдээллийн санг хэрхэн импортлох вэ?

SSH ашиглан MySQL мэдээллийн санг импортлох

Энэ аргыг маш ховор ашигладаг, гэхдээ бид үүнийг тайлбарлах болно. Нэгдүгээрт, таны вэбсайтын файлуудыг хадгалдаг хостинг үйлчилгээ үзүүлэгчийн сервер рүү импортлох мэдээллийн санг бөглөнө үү. Дараа нь мэдээллийн санг импортлохын тулд дараах тушаалыг ашиглана уу.

mysql -uUSERNAME -pUSERPASSWORD DBNAME< DUMPFILENAME.sql

mysql --user=USERNAME --password=USERPASSWORD DBNAME< DUMPFILENAME.sql

Том үсгээр бичсэн үгсийн оронд бид дараахь зүйлийг орлоно.
USERNAME - өгөгдлийн сангийн хэрэглэгчийн нэр, жишээ нь uhosting_databaseuser;

USERPASSWORD - мэдээллийн сангийн хэрэглэгчийн нууц үг, жишээ нь Rjkweuik12;

DBNAME - импорт хийх мэдээллийн сангийн нэр, жишээ нь uhosting_databasename

DUMPFILENAME - өгөгдөл импортлох дамп файлын нэр. Энд бид мөн хостинг үйлчилгээ үзүүлэгчийн серверт байршуулсан мэдээллийн санд хүрэх замыг зааж өгөх хэрэгтэй.

Өдрийн мэнд найзуудаа, өнөөдөр бид хэрхэн яаж хийхийг сурах болно ... Энэ яагаад хэрэгтэй вэ гэж та асууж магадгүй юм. Юуны өмнө мэдээллийн сангийн экспортОнцгой байдлын үед та чухал мэдээллээ алдахгүйн тулд үе үе хийх ёстой. Экспорт нь мэдээллийн сангийн талаарх бүх мэдээлэл хадгалагдах жижиг файл байх болно. Учир нь мэдээллийн сангийн экспортТа PHPMyAdmin руу ороод сонирхож буй мэдээллийн сан дээрээ дарах хэрэгтэй. Үүний дараа та бүх хүснэгтүүдийг харах бөгөөд тэдгээрт орохгүйгээр экспорт гэж нэрлэгддэг цэсийн товчийг дарна уу. Дараах хуудас таны өмнө гарч ирнэ.


Би танд сонгохыг зөвлөж байна хурдан аргаэкспортлох, мөн форматаар зааж өгнө SQL. Үүний дараа та "OK" дээр дарж болно. Таны өмнө файлыг хадгалахыг хүсэх цонх гарч ирнэ.


Та файлыг хэрэгтэй газартаа хадгалдаг, гол зүйл бол хаана хадгалснаа санах явдал юм, учир нь энэ нь бидний хувьд маш чухал юм.
Ердийн экспортын аргын хувьд. Хэрэгтэй бол бас хэрэглэж болно, зөндөө байгаа нэмэлт тохиргоо, та үүнийг экспортлохдоо зааж өгч болно. Жишээлбэл, мэдээллийн сангаас шаардлагатай хүснэгтүүдийг сонгох, кодчиллыг зааж өгөх гэх мэт. Хэрэв та сонирхож байгаа бол энэ тохиргоо, Та үүнийг үзэх боломжтой. Гэхдээ бид энэ тохиргоонд илүү гүнзгий орохгүй.
Файлыг компьютер дээрээ хадгалсны дараа би танаас мэдээллийн санг устгахыг хүсэх болно. Үүнийг яаж хийхийг би танд тайлбарлахгүй, учир нь бид үүнийг аль хэдийн туулсан. Устгахаас бүү ай, бид тантай хамт бүх зүйлийг байранд нь буцааж өгөх болно.
Завгүй байх цаг болжээ мэдээллийн сангийн импорт. Импортын цэс рүү очно уу.


Бид таны компьютерийн тоймыг сонгоод файл руугаа орох замыг зааж өгнө. Тэгээд OK дарна уу. Таны харж байгаагаар алдаа таны өмнө гарч ирэв. Санаа зоволтгүй, гол зүйл бол бид мэдээллийн баазыг өөрөө импортлоогүй, зөвхөн түүний бүх хүснэгтийг оруулсан явдал юм. Тиймээс, эхлээд мэдээллийн сан үүсгэж, түүн рүү орж, дээрх бүх зүйлийг хийсний дараа импорт хийх товчийг дарна уу. "OK" товчийг дарснаар бүх зүйл бүтэх бөгөөд хэрэв та бүгдийг зөв хийсэн бол алдаа гарахгүй.


Таны харж байгаагаар манай хүснэгт байрандаа дахин гарч ирэн, доторх бүх өгөгдөл хадгалагдсан байна. Одоо та ямар сайхан боломж байгааг ойлгож байна PHPMyAdmin дахь мэдээллийн баазыг экспортлох, импортлох. Эцсийн эцэст, хэрэв та олон жилийн туршид хийсэн бүх ажлаа нэг өдрийн дотор алдвал энэ файлын ачаар бүх зүйлийг буцааж авах боломжтой. Үүгээр би чамтай баяртай гэж хэлье, удахгүй уулзъя.

зэрэг чухал асуудлуудыг энэ хичээлд хамруулна мэдээллийн сангийн экспортТэгээд мэдээллийн сангийн импорт MySQL. Та яагаад мэдээллийн санг экспортлох гэж асууж магадгүй юм. Дүрмээр бол энэ нь мэдээллийн санг нөөцлөх зорилгоор хийгддэг бөгөөд ингэснээр тэдний хэлснээр ямар ч тохиолдолд үргэлж бэлэн байдаг. Эцсийн эцэст, өгөгдөл алдагдахад хүргэдэг осол аваар гэх мэт давагдашгүй хүчин зүйлийн нөхцөл байдлаас хэн ч дархлаагүй. Өөр нэг жишээ бол таны сайтад хор хөнөөл учруулахыг хүссэн хакеруудын халдлага байж болно. Ер нь ийм жишээ олон байж болно.

Өгөгдлийн сангийн импортыг одоогийн хостинг руугаа "дахин байршуулах" шаардлагатай үед эсвэл өөр хостинг руу шилжих үед ашигладаг. Үүнийг ихэвчлэн вэбмастерууд практик дээр хийдэг.

Өөрсдөө мэдээллийн сангийн экспортТэгээд мэдээллийн сангийн импорт- даалгаварууд нь энгийн. Амьдралынхаа туршид хэрэгжүүлэх алгоритмыг санаж байхын тулд эдгээр үйлдлүүдийг нэг удаа хийх нь зүйтэй. Энэ бүхэн хэрхэн хийгдсэнийг жишээн дээр харцгаая.

Өгөгдлийн санг экспортлохын тулд та хостинг админ самбар руу орж, мэдээллийн сангийн хэсэг болох MySQL мэдээллийн сан руу очих хэрэгтэй.

Экспортлохыг хүсч буй мэдээллийн санг сонгоно уу (phpMyAdmin руу очно уу). IN энэ жишээндмэдээллийн санг "cl209038" гэж нэрлэдэг.

1) Эхний тохиолдолд "Хурдан" -ыг сонгоод, форматыг SQL гэж үлдээгээд "OK" товчийг дарна уу. Үүний үр дүнд мэдээллийн сангийн хуулбар манай компьютерт татагдах болно.

2) Хоёр дахь тохиолдолд "Хэвийн" гэснийг сонгоно уу. Өгөгдлийн сангийн экспортын тохиргоо бүхий хуудас гарч ирнэ. Доор үзүүлсэн шиг бүх хүснэгтийг сонгоод кодчилол болон шахалтын түвшинг сонгоно уу. Үлдсэн хэсэг нь дүрмээр бол өөрчлөх шаардлагагүй. "OK" товчийг дарснаар мэдээллийн сан манай компьютерт экспортлогдох болно.

Энэ бол таны харж байгаагаар, мэдээллийн сангийн экспорт MySQL бол тийм ч хэцүү ажил биш.

Өгөгдлийн санг импортлохын тулд та хостинг админ самбар руу орж, MySQL мэдээллийн сантай хэсэг рүү очих хэрэгтэй. Энд хоёр сонголт байна - та шинэ мэдээллийн сан үүсгэх эсвэл одоо байгаа мэдээллийн сан руу экспортлох хэрэгтэй.

Жишээлбэл, хэрэв бид сайтыг өөр хостинг руу шилжүүлэх гэж байгаа бол мэдээллийн сан үүсгэх шаардлагатай болно. Хэрэв бид ижил байршуулалттай хэвээр байгаа бөгөөд мэдээллийн баазыг аль хэдийн үүсгэсэн бол та зүгээр л энэ мэдээллийн санг сонгоод өгөгдлийг "дахин байршуулах" боломжтой. Мэдээжийн хэрэг та үүнийг устгаад, дараа нь шинээр (хоосон) үүсгэж, түүнд байршуулж болно.

1) Мэдээллийн сан аль хэдийн байна. Бид мэдээллийн баазын хуулбарыг импортлох мэдээллийн санг сонгоно. Өгөгдлийн сангийн импортын цэс гарч ирнэ.

Импортлохыг хүсч буй мэдээллийн сангийн хуулбар файлыг сонгоно уу. Шаардлагатай бол та мэдээллийн сангийн кодчилол, форматыг өөрчилж болно. Дараа нь "OK" товчийг дарна уу. Импорт хийсний дараа систем нь бүх зүйл зөв хийгдсэн эсэх эсвэл процессын явцад ямар нэгэн алдаа гарсан эсэхийг бидэнд мэдэгдэх болно. Хэрэв алдаа гарвал та хостинг дээрх өгөгдлийн санг устгаж, хоосон мэдээллийн сан үүсгэж, мэдээллийн санг дахин импортлохыг оролдож болно.

2) Шинэ мэдээллийн сан үүсгэх. Хостингийн админ самбар руу очоод MySQL мэдээллийн баазтай хэсгийг сонгоно уу. Бид MySQL мэдээллийн баазын менежментэд ордог.

Хүссэн мэдээллийн сангийн нэр, нууц үгийг зааж өгнө үү. "Create" товчийг дарна уу. Үүний үр дүнд шинэ (хоосон) мэдээллийн сан бий болох бөгөөд манай мэдээллийн сангийн өмнө нь хадгалсан хуулбарыг импортлох шаардлагатай болно.

Энэ бол MySQL мэдээллийн санг экспортлох, импортлох талаар танд хэлэхийг хүссэн зүйл юм. Хэрэв танд эдгээр асуултын талаар хүндрэлтэй байгаа бол энэ хичээлийн талаар сэтгэгдэл бичээрэй.

Сайн байцгаана уу, найзуудаа! 🙂

Өнөөдөр би консол дээр MySQL-тэй ажиллах тухай яриагаа үргэлжлүүлж, MySQL мэдээллийн санг экспортлох журамд анхаарлаа хандуулахаар шийдлээ.

Энэ нийтлэлд би хогийн цэгийг хэрхэн яаж хийх талаар ярих болно MySQL мэдээллийн сан, түүнчлэн MySQL-ээс өгөгдөл байршуулах Excel файлболон csv формат.

Бид нэг буюу хэд хэдэн өгөгдлийн сангийн овоолгыг үүсгэх, бие даасан хүснэгтээс өгөгдлийг экспортлох, дурын үр дүнгээс мэдээлэл авах янз бүрийн сонголтыг авч үзэх болно. СОНГОХхүсэлтүүд.

Мөн серверийн консол болон MySQL командын мөрөнд байгаа MySQL мэдээллийн баазаас өгөгдлийг хэрхэн гаргах талаар ярилцах болно.

Энэ нийтлэлд би өгөгдлийг хэрхэн экспортлох талаар ярихгүй phpMyAdmin ашигланболон бусад харааны хэрэгсэл.

Нэгдүгээрт, Интернетэд энэ сэдвээр хангалттай материал байгаа тул. Түүгээр ч барахгүй энэ нь өндөр чанартай материал бөгөөд би үүнийг хуулж буулгахыг хүсэхгүй байна.

Хоёрдугаарт, би MySQL өгөгдлийн сангаас SQL файл руу мэдээлэл гаргах үйл явцыг миний нэгэн нийтлэлд товчхон авч үзсэн.

Тэгэхээр та мэргэжлийн хөгжүүлэгч биш л бол системийн админ, хэнд консолтой ажиллах тухай мэдээлэл хэрэгтэй байж магадгүй бөгөөд та зөвхөн мэдээллийн баазыг phpMyAdmin руу хэрхэн экспортлох заавар авахаар ирсэн бол дээрх холбоос дээрх мэдээллийг уншихаар өөрийгөө хязгаарлаж болно.

Чамайг намайг зөвөөр ойлгоосой гэж хүсч байна: Би чамайг ямар нэгэн байдлаар гомдоохыг хүсэхгүй байна, гэхдээ зөвхөн цаг заваа бизнестээ хамгийн их ашиг тустай өнгөрөөж, хайж байсан зүйлээ авахыг хүсч байна.

Энэ нь танилцуулах хэсгийг дуусгаж, бид MySQL мэдээллийн сангийн овоолгыг үүсгэх консол командуудын тойм руу шилжиж байгаа бөгөөд би үүнийг хадгалагдаж буй өгөгдлийн хэмжээгээр эрэмбэлэхээр шийдсэн: мэдээллийн санг бүхэлд нь экспортлохоос эхлээд тусдаа хүснэгтүүд болон үр дүнгүүд хүртэл. дур зоргоороо асуулга.

Консолоор дамжуулан MySQL мэдээллийн сангийн дамп үүсгэх

Би хамгийн эхэнд бяцхан тодруулга хиймээр байна.

Өгөгдлийн сангийн хаягдалнь SQL командын багц бүхий файл бөгөөд үүнийг эхлүүлснээр өгөгдлийн сан, хүснэгт үүсгэхээс гадна мэдээллээр дүүргэх боломжтой. Энэ хогийн цэг нь MySQL мэдээллийн баазыг өөр сервер эсвэл одоо байгаа серверт хуулахын тулд татаж авах хүсэлтэй хүмүүст хэрэгтэй.

Түүнчлэн хэрэв хэн ч мэдэхгүй бол MySQL мэдээллийн сангийн нөөцлөлт нь үндсэндээ тодорхой хугацаанд хийгдсэн овоолго бөгөөд шаардлагатай бол мэдээллийн сангийн бүтэц, өгөгдлийг сэргээх боломжийг олгодог.

Өгөгдлийг экспортлох- Энэ нь зөвхөн текст эсвэл график засварлагчтай ажиллахын тулд хүснэгтээс мэдээллийг текст хэлбэрээр гаргаж авах явдал юм.

Тиймээс эдгээр үйлдлийн командууд нь арай өөр байх болно.

Өгөгдлийн сангийн дамп үүсгэхийн тулд MySQL-д суурилуулсан хэрэгсэл байдаг mysqldump, энэ нь серверийн консол эсвэл бусад бүрхүүл дэх MySQL тушаалын мөрөөс гадуур ашиглагдах ёстой.

Тиймээс, хамгийн энгийн бөгөөд хамгийн түгээмэл сонголт болох MySQL консол дахь тодорхой мэдээллийн сангаас өгөгдлийг өөр сервер рүү шилжүүлэх эсвэл дотоод хуулбарлахын тулд та дараах тушаалыг ажиллуулах хэрэгтэй.

Mysqldump -u хэрэглэгчийн нэр -p өгөгдлийн сангийн_нэр > зам_болон_dump_файлын_нэр

Энэхүү хэрэгсэл нь MySQL мэдээллийн санг зөвхөн SQL команд бүхий файл хэлбэрээр үүсгэх боломжтой тул та файлдаа ямар өргөтгөл сонгохоос үл хамааран түүний агуулга ямар ч тохиолдолд ижил байх болно. Файлыг үүсгэхийн тулд MySQL-ээс мэдээлэл экспортлохын өмнө түүний байрлах лавлахын бичих зөвшөөрлийг шалгахаа бүү мартаарай.

Хэрэв та гэнэт сервер дээрх бүх өгөгдлийн сангуудыг хаях шаардлагатай бол дараах тушаалын сонголтыг ашиглана уу.

Mysqldump -u хэрэглэгчийн нэр -p --all-databases > path_and_dump_file_name

Цөөн хэдэн тодорхой мэдээллийн санг хаяхын тулд та дараах параметрүүдийг ашиглан mysqldump руу залгах хэрэгтэй.

Mysqldump -u хэрэглэгчийн нэр -p --өгөгдлийн сангийн өгөгдлийн сангийн_нэр1, өгөгдлийн сангийн_нэр2, ... > зам_болон_dumpfile_name

Үүний үр дүнд та бүрд нь агуулагдсан хүснэгтүүдийн бүтцийг (талбарууд, тэдгээрийн төрөл, индексүүд, түлхүүрүүд гэх мэт) үүсгэх, мөн тэдгээрийг мэдээллээр дүүргэх үйлдлүүдийг агуулсан MySQL мэдээллийн баазыг хүлээн авах болно.

Энэ сонголт нь зөвхөн мэдээллийн санг бүхэлд нь сэргээх, хуулбарлахад тохиромжтой.

Зарим MySQL хүснэгтүүдийн нөөцлөлтийг хэрхэн хийх, тэдгээрийн өгөгдлийг унших боломжтой хэлбэрээр хэрхэн авах талаар бид цаашид ярих болно.

MySQL хүснэгтийг хаях, өгөгдлийг экспортлох

Тодорхой MySQL өгөгдлийн сангийн хүснэгтүүдийг үүсгэхийн тулд бидэнд ижил хэрэгсэл хэрэгтэй болно mysqldump, дараах параметрүүдээр дуудагдана.

Mysqldump -u хэрэглэгчийн нэр -p өгөгдлийн сангийн_нэр хүснэгт_нэр1, хүснэгтийн_нэр2, ... > зам_болон_dumpfile_name

Mysqldump руу залгахдаа шаардлагатай хүснэгтүүдийг параметрийн утга болгон зааж өгч болно --хүснэгтүүд, параметрийг ашигласан үед --мэдээллийн санүл тоомсорлох болно:

Mysqldump -u хэрэглэгчийн нэр -p --өгөгдлийн сангийн өгөгдлийн сангийн_нэр1, өгөгдлийн сангийн_нэр2 --хүснэгтийн хүснэгтийн_нэр1, хүснэгтийн_нэр2, ... > зам_болон_dumpfile_name

Дээрх жишээ нь дараах алдааг харуулах болно.

Mysqldump: Алдаа гарлаа: 1049: Өгөгдлийн санг сонгохдоо "өгөгдлийн сангийн_нэр1" үл мэдэгдэх мэдээллийн сан

Таны харж байгаагаар жагсаалтаас зөвхөн хамгийн сүүлийн үеийн мэдээллийн санг ашиглах болно. Зарчмын хувьд энэ зан үйл нь нэлээд логик юм, учир нь Заасан хүснэгтүүд бүх мэдээллийн санд харагдахгүй байж болно.

За, бид MySQL мэдээллийн сангийн хүснэгтүүдийг хүлээн авлаа. Үүнийг сэргээх эсвэл бүтцийн хамт хуулбарлахад ашиглаж болно.

Гэхдээ хэрэв та тэдгээрт хадгалагдсан мэдээллийг уншиж болохуйц хэлбэрээр авах шаардлагатай бол менежер рүү илгээж, ердийн текст эсвэл хүснэгт засварлагчаар үзэх боломжтой бол яах вэ? MySQL-д үүнд зориулсан хэрэгслүүд бас бий.

Хэрэгслийг дуудах сонголт нь төлөвлөгөөгөө биелүүлэхэд тусална mysqlтодорхой параметр бүхий консолоос:

Mysql -u хэрэглэгчийн нэр -p өгөгдлийн сангийн_нэр -e "СОНГОХ * хүснэгтийн_нэрээс"

Энэ команд нь бидэнд шаардлагатай мэдээллийн санд хүсэлтийг гүйцэтгэх, үр дүнг консолд оруулахгүйгээр харуулах боломжийг олгоно тушаалын мөр MySQL.

Өгөгдлийг консол руу гаргахгүй, харин файл руу бичихийн тулд та тушаалыг дараах байдлаар нэмэх хэрэгтэй.

Mysql -u хэрэглэгчийн нэр -p -e "Хүснэгтийн нэрээс СОНГОХ *" > зам ба файлын нэр

Эдгээр бүтээн байгуулалтын ачаар бид хүснэгтийн бүх талбарт хадгалагдсан өгөгдлийг олж авахаас гадна тодорхой хэсгүүдэд хадгалах боломжтой. Үүнийг хийхийн тулд орлуулагч тэмдэгтүүдийг (*) таслалаар тусгаарлаж шаардлагатай тэмдэгтүүдээр солино уу.

Үүний үр дүнд гаралт нь толгойн хэлбэрээр талбаруудын нэрс, тэдгээрийн талаархи бүх бичлэгийн мэдээллийг агуулсан ердийн текст файл байх болно. Үүнийг ердийн байдлаар нээх боломжтой текст засварлагч, та үүнийг үүсгэхдээ ямар нарийвчлалтай байгаагаас үл хамааран.

Хэрэв та MySQL өгөгдлийн сангаас xls эсвэл csv форматаар өгөгдлийг экспортлохыг хүсч байгаа бол үр дүнд нь гарсан файлыг хүснэгт засварлагчдад зөв харуулахыг хүсвэл бид үүнийг хэрхэн хийхийг хэсэг хугацааны дараа танд хэлэх болно :)

Асуулга ашиглан MySQL өгөгдлийн сангаас нөөцлөлт үүсгэх, өгөгдөл гаргах

Бид MySQL мэдээллийн санг хэрхэн хаях талаар ярилцсан - нэг эсвэл хэд хэдэн, түүнчлэн бие даасан хүснэгтүүд. Гэхдээ заримдаа практик дээр нэг хүснэгтээр хязгаарлагдахгүй өгөгдлийн багцыг экспортлох шаардлагатай тохиолдол гардаг. Эсвэл та хүснэгтээс зөвхөн зарим өгөгдлийг сонгох хэрэгтэй.

Корпорацийн төсөл боловсруулагчид менежерүүд нь бүх төрлийн статистик мэдээллийг өгөхийг хүсэх үед ийм асуудалтай тулгардаг. Эсвэл хүснэгтийн тодорхой хэсгийг хурдан сэргээхийн тулд нөөцлөх шаардлагатай үед.

Нөөцлөхийн тулд бидэнд ижил хэрэгсэл хэрэгтэй болно mysqldump, үүнийг дараах байдлаар дуудах шаардлагатай болно:

Mysqldump -u хэрэглэгчийн_нэр -p өгөгдлийн сангийн_нэр хүснэгтийн_нэр --"хайх"> зам_болон_dump_файлын_нэр

Үүний үр дүнд бид бүх бүтэцтэй хүснэгтийг үүсгэх SQL команд бүхий файлыг хүлээн авах бөгөөд үүнийг үүсгэсний дараа хайлтын асуулга ашиглан сонгосон мэдээллээр дүүргэх болно.

Хэрэв бид зөвхөн нэг буюу хэд хэдэн хүснэгтэд хадгалагдсан өгөгдлийг авах шаардлагатай бол хүснэгтийн бүх өгөгдлийг татаж авахдаа өмнөх тохиолдолд ашигласан командыг зөвхөн зарим тодруулгатайгаар өөрчлөх шаардлагатай болно.

Mysql -u user_name -p -e "СОНГОХ * хүснэгтийн_нэрээс ХААНА хайх" > зам ба файлын нэр

Таны ойлгож байгаагаар, удирдамжийг ашиглан хүсэлтэд заасан янз бүрийн тодруулгаас гадна ХААНА, та бусад SQL бүтцийг ашиглаж болно: НЭГДЭХ, НЭГДСЭНгэх мэт.

Та ямар ч төрлийн статистик цуглуулах боломжтой :)

Дараах командыг ашиглан MySQL командын мөрөнд ажиллах үед ижил үйлдлийг хийж болно.

* Өгөгдлийн сангийн_хүснэгтээс "зам ба файлын_нэр"-ийг OUTFILE руу хайна уу;

Энэ команд нь дээж авах үр дүнтэй файл үүсгэхэд зориулагдсан болно. Үүнээс гадна үр дүнг зөвхөн файл руу экспортлохоос гадна хувьсагчид бичих боломжтой бөгөөд гаралтын өгөгдлийг янз бүрийн аргаар форматлах боломжтой.

Хэрэв дээрх нь таны хэрэг бол бүрэн жагсаалтТа энэ командыг дуудах параметр болон сонголтыг эндээс олж болно - https://dev.mysql.com/doc/refman/5.7/en/select-into.html

Mysqldump руу хийсэн товч аяллаа дуусгахын тулд би MySQL мэдээллийн бааз болон хүснэгтүүдийн оновчтой хаягдал үүсгэх параметрийн жагсаалт бүхий командыг дуудах хувилбарыг өгөхийг хүсч байна, мэдээллийн сан болон бие даасан хүснэгтүүдийг сэргээхээс бага хугацаа шаардагдах болно. тогтмол дуудлага:

mysqldump -u user_name -h host_or_IP_MySQL_server -p --no-autocommit --opt database_name > path_and_dump_file_name;

Туршилтын үүднээс би ашигласан энэ сонголт 143 MB хэмжээтэй MySQL мэдээллийн санг буулгахын тулд. Тусгай параметргүйгээр mysqldump руу залгаснаар мэдээллийн санг сэргээхэд 1 минут 3 секундын дараа дараагийн сэргээлт 59 секунд зарцуулагдсан.

Энэ бол өчүүхэн зүйл гэдэгтэй би санал нэг байна. Гэхдээ энэ нь зөвхөн тохиолдолд л болно өгөгдсөн хэмжээөгөгдөл. Хэрэв та ашигладаг бол энэ техник 1ГБ-аас их хэмжээтэй хогийн цэг үүсгэх үед ялгаа нь илүү их байх болно.

Хэрэв та ийм нөхцөл байдалтай тулгарвал эхлээд MySQL мэдээллийн санг архивлахаа бүү мартаарай. Хамгийн сайн нь tar.gz. Дараа нь сэргээхэд бүр бага хугацаа шаардагдана.

MySQL-ээс Excel болон csv файл руу өгөгдлийг экспортлох

Би MySQL-ээс эдгээр хоёр формат руу мэдээлэл гаргах мэдээллийг нэг блокт нэгтгэсэн нь дэмий хоосон биш байсан, учир нь... Тэдгээр нь маш төстэй бөгөөд тэдгээрийг ойролцоогоор ижил аргаар ашигладаг (мэдээлэл хүснэгт хэлбэрээр зохион байгуулахад) бөгөөд экспортод зориулсан ижил тушаалуудыг дуудах болно.

Таны мэдэж байгаагаар эдгээр форматуудын цорын ганц мэдэгдэхүйц ялгаа нь xls болон xlsx өргөтгөлүүдэд файл үүсгэсэн байдаг Microsoft програм Office Excel, энэ нь зөвхөн Windows дээр ажилладаг бол csv файлууд илүү түгээмэл бөгөөд тэдгээртэй ажиллах боломжтой олон засварлагч.

Энэ нь xls өөр хаана ч байна гэсэн үг биш юм Microsoft Office Excel нээгдэхгүй. Үүнтэй ижил OpenOffice нь эсрэгээр нь баталж байна.

Гэхдээ энэ нь боломжтой байхын тулд энэ дэмжлэг нь байх ёстой програм хангамжийн бүтээгдэхүүн. csv файлуудыг Notepad гэх мэт энгийн текст засварлагч дээр ч унших боломжтой боловч энэ маягтыг бүрэн унших боломжгүй.

Зөвхөн үр дүнг xls эсвэл csv руу экспортлох боломжтой гэдгээс эхэлье SQL асуулга, бид өмнө нь ажиллаж сурсан, учир нь нэг үйлдэлд мэдээллийн санг бүхэлд нь нэг файлд гаргах боломжгүй болно.

Нэгдүгээрт, энэ нь оновчтой биш, учир нь ... Хэрэв мэдээллийн санд их хэмжээний мэдээлэл хадгалагдсан бол ийм файл нээгдэх магадлал багатай. Хоёрдугаарт, файл доторх мэдээллийг хүснэгт, талбарт хэрхэн хуваах нь тодорхойгүй байна.

Үгүй ээ, мэдээжийн хэрэг үүнийг хийх боломжтой, гэхдээ үүнийг нэг тушаалаар хийх магадлал багатай бөгөөд ерөнхийдөө хэн ч үүнийг консол дээр хийх магадлал багатай юм. Эдгээр зорилгоор танд тусгай програм хангамж эсвэл ядаж скрипт хэрэгтэй болно гэж би бодож байна.

Хэрэв та бүхэл бүтэн MySQL өгөгдлийн сангаас мэдээллийг консол дээрх нэг эсвэл хэд хэдэн xls файл руу нэг дор хэрхэн экспортлохоо мэдэж байгаа бол энэ тухай тайлбар дээр бичнэ үү. Энэ тухай унших нь олон хүнд хэрэг болно гэж бодож байна.

Тиймээс, хэрэв бид MySQL-ээс xls болон csv руу өгөгдлийг хэрхэн экспортлох талаар ярьж байгаа бол үүнийг серверийн консол дээр шууд хэрэглүүрээр дамжуулан хийж болно. mysqlэсвэл өмнөх нийтлэлдээ танд танилцуулсан ажил.

Дарааллаар нь эхэлцгээе.

Та дараах тушаалуудыг ашиглан серверийн консол дээр MySQL мэдээллийн сангаас өгөгдлийг csv болон xls формат руу шууд экспортлох боломжтой.

Асаалттай Линукссистемүүд:

Mysql -u хэрэглэгчийн нэр -d database_name -p -e "СОНГОХ * Өгөгдлийн сангийн_хүснэгтээс;" | sed "s/"/\"/;s/\t/\",\"/g;s/^/\"/;s/$/\"/;s/\n//g" > зам ба файлын_нэр. csv

Зарчмын хувьд хэрэв зайлшгүй шаардлагатай бол та энэ командыг ашиглан MySQL өгөгдлийг Excel файл руу экспортлох боломжтой. Гэхдээ үнэнийг хэлэхэд би үүнийг практик дээр шийдэж амжаагүй бөгөөд эцэст нь юу гарахыг мэдэхгүй байна, учир нь ... Би одоо Windows дээр ажиллаж байна. Хэрэв та энэ командыг Линукс дээр ашигладаг бол ажлынхаа үр дүнгийн талаар сэтгэгдэл дээр бичнэ үү. Мэдээлэл нь хүн бүрт сонирхолтой байх болно гэж бодож байна.

Асаалттай Windows:

Харамсалтай нь дээрх тушаалыг ашиглан MySQL хүснэгтээс өгөгдлийг csv руу экспортлох нь энэ тохиолдолд ажиллахгүй. Windows нь Линуксээс ялгаатай нь суулгацгүй консол командЛинукс дээр суулгасан thread-тэй ажиллахад зориулагдсан.

Мэдээжийн хэрэг та үүнийг суулгаж болно, гэхдээ энэ нь хэтэрхий төвөгтэй юм. Эсвэл та ашиглаж болно CygWin— Windows системд зориулсан Линукс консол эмулятор.

Хэрэв та аль хэдийн суулгасан бол сайн байна. Үгүй бол сонгосон аргыг ашиглан MySQL мэдээллийн сангаас өгөгдлийг экспортлох нь бидэнд хэтэрхий их асуудал авчрах болно.

Гэхдээ xls файл руу мэдээлэл задлах нь 5 копейк шиг хялбар юм :) Үүнийг дараах байдлаар эхлүүлэхэд маш хялбар байдаг, үүнийг би өөрөө туршиж үзсэн:

Mysql -u хэрэглэгчийн нэр -d database_name -p -e "СОНГОХ * Өгөгдлийн сангийн_хүснэгтээс;" > зам ба файлын_нэр.xls

Нээгдсэн энэ файл Microsoft Office Excel дээр ямар ч асуудалгүй. Цорын ганц зүйл бол үүнийг нээх үед нээгдэж буй файлын бодит формат нь заасан өргөтгөлөөс ялгаатай болохыг анхааруулсан мессеж дэлгэц дээр гарч ирсэн.

Гэхдээ үйлдлийг баталгаажуулах үед баримт бичиг нь ямар ч хүндрэлгүйгээр нээгдсэн - бүх мэдээллийг хүснэгтэд хадгалсан хэлбэрээр нүднүүдэд хуваасан.

Би мэдэхгүй байна, хэрэв та Microsoft Office Excel дээр ямар нэгэн тодорхой үйлдэл хийвэл ирээдүйд би тийм ч гүн ухаагүй асуудал гарч ирнэ. Өгөгдлийг хэвийн байдлаар үзэхэд би ер бусын зүйл олж харсангүй.

Хэрэв та MySQL-ээс экспортолсон xls файлыг энэ программ эсвэл бусад программ дээр ашиглах явцад ямар нэгэн асуудал тулгарвал коммент хэсэгт мэдэгдэнэ үү.

Дээр дурдсан аргыг ашигласнаар та MySQL мэдээллийн сангийн агуулгыг зарчмын хувьд csv файл руу экспортлох боломжтой. Гэхдээ дараа нь хүснэгтийн өөр өөр талбаруудын өгөгдлийг бөөнөөр нь зааглагчгүйгээр бичих бөгөөд энэ нь сайн харагдахгүй байж магадгүй юм. янз бүрийн хөтөлбөрүүдихэвчлэн csv файлуудтай ажилладаг хүснэгтүүдтэй ажиллахад зориулагдсан.

Дашрамд хэлэхэд OpenOffice хамаагүй :) Энэ нь MySQL мэдээллийн сангийн агуулгыг xls руу экспортлох замаар олж авсан мэдээллийг автоматаар хязгаарласан. Түүнийг яаж хийдгийг нь мэдэхгүй ч би үүнийг ашиглахыг зөвлөж байна :)

За, ижил Microsoft Office Excel нь хүснэгтийн нэг бичлэгт тохирох бүх мэдээллийг харуулж, ямар ч зааглагчгүйгээр нэг нүдэнд бичсэн. Бусад хүснэгт засварлагчид ч мөн адил хийх байх гэж бодож байна.

Тиймээс MySQL мэдээллийн санг csv файл руу экспортлохдоо мэдээллийг салгах замаар хийх хэрэгтэй тусгай дүрүүд, редакторуудын үзэж байгаагаар.

Дараа нь би аажмаар MySQL-ийн өгөгдлийг csv болон xls руу экспортлох хоёр дахь арга болох MySQL командын мөрийг ашиглахад ойртлоо.

Ийм байдлаар MySQL өгөгдлийг csv файл руу экспортлохын тулд бидэнд дараах тушаал хэрэгтэй.

* Өгөгдлийн сангийн_хүснэгтээс "path_and_file_name.csv" ОУТФИЛД "," ТӨГСГӨЛСӨН """ МӨРӨӨ "\n"-ээр дуусгавар болсон талбаруудыг СОНГОХ;

Гүйцэтгэлийн үр дүнд та дуудлага хийхдээ заасан замд csv файлыг хүлээн авах бөгөөд энэ нь орчин үеийн ихэнх тохиолдолд зөв нээгдэх болно. хүснэгт засварлагч. Ямар ч тохиолдолд би гүйхийг сануулж байна энэ тушаал MySQL мэдээллийн санд холбогдсоны дараа л шаардлагатай.

Энэ команд нь MySQL өгөгдлийг Microsoft Office Excel дээр зөв харуулахын тулд xls файл руу экспортлоход тохиромжтой. Зөвхөн энэ тохиолдолд бидэнд тусгаарлагч хэрэггүй, учир нь Тэд мэдээллийг эс болгон хуваахад саад болно:

СОНГОХ * Өгөгдлийн сангийн_хүснэгтээс OUTFILE INTO "path_and_file_name.xls";

Гэсэн хэдий ч практик дээр бүх зүйл миний тайлбарласан шиг энгийн байдаггүй. Тушаалыг ажиллуулж байх үед та консол дээр дараах алдаатай тулгарах бөгөөд энэ нь экспортыг дуусгахад саад болж магадгүй юм.

АЛДАА 1290 (HY000): MySQL сервер нь --secure-file-priv сонголттой ажиллаж байгаа тул энэ мэдэгдлийг гүйцэтгэх боломжгүй байна.

Энэ нь таны MySQL серверийг сонголтоор эхлүүлсэнтэй холбоотой юм --secure-file-priv. Би хувьдаа консол дээр ажиллахын тулд WAMP OpenServer багцад багтсан MySQL түгээлтийг ашигладаг бөгөөд энэ нь эргээд MySQL серверийг ийм байдлаар ажиллуулж байгаатай холбоотой тул энэ асуудалтай тулгарсан.

Асуудлыг шийдэх хоёр арга бий:

  • MySQL сервер эхлүүлэх параметрүүдийг өөрчлөх
  • Эцсийн MySQL экспортын файлын замыг өөрчил

Эхний арга надад хэтэрхий төвөгтэй санагдсан, учир нь... Би бүх нөхцөл байдлын талаар бичээгүй OpenServer тохиргоог судлах хэрэгтэй болно 🙂 Тиймээс би хоёр дахь замыг сонгохоор шийдсэн. Хэрэв танд үүнтэй төстэй асуудал тулгарвал миний дараа давтана уу.

Эхлээд та MySQL командын мөрөнд очоод дараах командуудын аль нэгийг ажиллуулах хэрэгтэй.

"Secure_file_priv" ШИГ ХУВЬСАГЧИЙГ ХАРУУЛАХ; СОНГОХ @@GLOBAL.secure_file_priv;

Хоёуланг нь гүйцэтгэсний үр дүн нь MySQL глобал хувьсагчийн утга болно аюулгүй_файлын_priv, энэ нь MySQL өгөгдлийг экспортлох, импортлох үйлдлүүдийг хийх боломжтой лавлах замыг агуулсан (цаашид өгөгдөл импортлох тухай нийтлэлийн холбоос).

Тэдгээр. тушаалуудыг ашиглах үед ӨГӨГДӨЛ АЧАХТэгээд СОНГОХ... OUTFILEЭкспорт болон импортын файлуудыг зөвхөн энэ директор дотор байрлуулж болно.

Миний хувьд энэ хувьсагчийг ерөнхийд нь тохируулсан NULL, учир нь Би аль хэдийн хэлсэнчлэн консол дээр ажиллахын тулд OpenServer-д багтсан түгээлтийн MySQL хэрэгслийг ашигладаг. Энэ үнэ цэнэзаасан командуудыг ашиглан MySQL өгөгдөл экспортлох, импортлох үйлдлүүд бүрэн хаагдсан болохыг харуулсан.

Хожим нь энэ нь хайрцагласан WAMP болон MAMP серверүүдийг ашиглахад түгээмэл тохиолддог нөхцөл байдал юм.

Харамсалтай нь, миний хувьд MySQL глобал хувьсагчдын утгыг өөрчлөх ердийн аргуудыг ашиглах боломжгүй байсан.

SET хувьсагчийн нэр = утга;

Үүний үр дүнд би консол дээр зөвхөн дараах алдааг харсан:

Алдаа 1238 (HY000) 1-р мөрөнд: "Secure_file_priv" хувьсагч нь зөвхөн унших хувьсагч юм.

Үүний үр дүнд хувьсагчийн утгыг өөрчлөх аюулгүй_файлын_privЭкспорт, импортын үйлдлүүдийг нээхийн тулд би MySQL түгээлтийн үндсэн директорт байрлах mysql.ini MySQL тохиргооны файл руу орох шаардлагатай болсон эсвэл хэрэв MySQL нь таны WAMP/LAMP/-д багтсан бол өөр аргаар хандах боломжтой. MAMP сервер бүтээх.

Дашрамд хэлэхэд, хэрэв та файл солилцох дамар лавлах замыг өөрчлөхийг хүсвэл мөн адил хийх хэрэгтэй болно.

Миний хувьд энэ хувьсагч тохиргоонд аль хэдийн байсан, зөвхөн тайлбар хэлбэрээр:

Secure-file-priv = "%dprogdir%\\userdata\\temp"

Хэрэв танд байхгүй бол энэ хэсэгт эхнээс нь бичээрэй (наад зах нь миний хувьд тэнд байрладаг байсан).

Би үүнийг тайлбаргүй, бичсэн хэлбэрээр нь ашиглахаар шийдсэн. Тэдгээр. MySQL-ээс өгөгдлийг экспортлож, буцааж импортлох үед миний файлууд одоо директорт хадгалагдах болно c:\openserver\userdata\temp\.

Тохиргоог өөрчилсний дараа (дашрамд хэлэхэд аль нэг нь) серверээ эсвэл тохиргоог нь зассан тусдаа үйлчилгээг дахин эхлүүлэхээ бүү мартаарай, хэрэв боломжтой бол өөрчлөлтүүд хүчин төгөлдөр болно!

Баталгаажуулахын тулд MySQL серверийг дахин эхлүүлсний дараа хувьсагчийг дахин харуулна уу аюулгүй_файлын_privмөн түүний утгыг санах ойд хуулна.

Одоо бид командыг эхэнд нь дуудах хэрэгтэй, зөвхөн MySQL өгөгдлийн сангаас мэдээлэл хадгалагдах файлын нэрээс өмнө бидний өөрчилж буй хувьсагчид хадгалагдсан замыг дараах хэлбэрээр бичнэ үү.

* Өгөгдлийн сангийн_хүснэгтээс OUTFILE ДООР "secure_file_priv_value\file_name.csv"-ээс СОНГОХ;

Үүний дараа MySQL-ээс өгөгдөл экспортлох нь миний хувьд ажилласан.

Чухал цэг! Хэрэв та Windows дээр MySQL-тэй ажилладаг бол файлын замыг зааж өгөхдөө "\"-г "/" болгож өөрчлөхөө бүү мартаарай, эс тэгвээс алдаа гарах болно. --secure-file-privхарагдсан хэвээр байх болно.

Энэ нь MySQL өгөгдлийн сан болон түүний хүснэгтүүд, мөн MySQL хүснэгтээс гарсан өгөгдлийг янз бүрийн формат руу хэрхэн буулгах тухай өгүүллийг дуусгаж байна. Сэтгэгдлүүдээ коммент хэсэгт бичиж, практикт ихэвчлэн ашигладаг скриптийн сонголтоо хүн бүртэй хуваалцаарай.

Хэрэв танд нийтлэл таалагдсан бол нийтлэлийг дахин нийтлэх замаар зохиогчид талархаж болно олон нийтийн сүлжэээсвэл доорх маягтыг ашиглан санхүүгийн хувьд үндсэн хостинг төлөх боломжтой.

Бүгдэд нь амжилт хүсье, дахин уулзъя! 🙂

P.S.: Хэрэв танд вэбсайт хэрэгтэй бол эсвэл одоо байгаа вэбсайтдаа өөрчлөлт оруулах шаардлагатай байгаа ч үүнд цаг зав, хүсэл байхгүй бол би үйлчилгээгээ санал болгож чадна.

5-аас дээш жил ажилласан туршлагатай мэргэжлийн хөгжилсайтууд. Хамтран ажиллах PHP

Энэ нийтлэлд бид хоёр асуултыг авч үзэх болно - өгөгдлийн санг хэрхэн импортлох, php.ini дахь тохиргоог өөрчлөх замаар том мэдээллийн санг импортлох асуудлыг хэрхэн шийдвэрлэх вэ.

Мэдээллийн нөөцлөлт нь гэнэт ямар нэг шалтгааны улмаас сайтын үйл ажиллагаа доголдсон тохиолдолд вэбсайтаа сэргээх боломжтой байх баталгаа юм. Вэбсайтыг нөөцөөс хэрхэн сэргээх вэ? Хэд хэдэн арга байдаг бөгөөд бид MySQL мэдээллийн санг phpMyAdmin руу хэрхэн импортлохыг авч үзэх болно. Өгөгдлийн сангийн импортын процессыг эхлүүлэхийн өмнө та файл импортлох гэж буй мэдээллийн сангаас бүх хүснэгтийг устгах хэрэгтэй.

Хүснэгтүүдийг устгахын тулд нэвтэрнэ үү нүүр хуудас phpMyAdmin-ийг сонгоод дараах зүйлийг хийнэ үү:


2 - Бүгдийг тэмдэглэх дээр дарна уу;
3 - Унждаг цэснээс Устгах гэснийг сонгоод OK дарна уу.

Одоо та mysql мэдээллийн санг импортлож эхлэх боломжтой. Үүнийг хийхийн тулд дараах алхмуудыг дагана уу.

1 - хүссэн мэдээллийн санг сонгох;
2 - Импорт хийх табыг нээнэ үү дээд цэс;
3 - Browse-ээр дамжуулан олоорой нөөц хуулбармэдээллийн баазтай хамт OK дарна уу.

Хэрэв та бүх зүйлийг зөв хийсэн бол импорт амжилттай болсон тухай мессеж phpMyAdmin цонхонд гарч ирнэ.

Том хэмжээний mysql мэдээллийн санг импортлох

Вэбмастерууд том mysql мэдээллийн санг импортлох асуудалтай байнга тулгардаг. Асуудал нь PHPMyAdmin-д өгөгдлийн сангийн дампыг татаж авах нь байршуулсан файлын хэмжээгээр хязгаарлагддаг бөгөөд энэ нь анхдагчаар 2 МБ (2,048 КБ)-аас хэтрэхгүй байх ёстой. Том өгөгдлийн сангийн овоолгыг татаж авахыг оролдох үед "Татаж авах файлын хэмжээ хэтэрхий том байна..." гэх мэт алдаа гарч ирнэ.

Том өгөгдлийн сангийн дампыг импортлох нэг аргыг авч үзье. Импортын файлын хэмжээ хязгаарыг PHP тохиргоогоор тодорхойлно. PHP тохиргооны тохиргоог php.ini файлд зааж өгсөн болно. Энэ нь том мэдээллийн санг импортлохын тулд бид php.ini тохиргооны файлд байршуулсан файлуудын дээд хэмжээг өөрчлөх шаардлагатай гэсэн үг юм.

Php.ini файл хаана байрладаг вэ? Та php.ini файл руу орох замыг дараах байдлаар тооцоолж болно.

  • info.php файл үүсгээд дотор нь дараах кодыг байрлуулна;
  • Үүсгэсэн файлыг сайтын үндсэн хавтсанд (www, public_html) байршуулах;
  • Хөтөчийнхөө хаягийн мөрөнд http://your_site/info.php хаягийг оруулна уу;
  • Нээгдсэн цонхноос "Ачаалагдсан тохиргооны файл" -ыг олоод файл руу очих замыг зааж өгнө;

Том хэмжээний mysql мэдээллийн санг импортлохын тулд та PHPMyAdmin дээрх php.ini удирдамжийг өөрчлөх хэрэгтэй.

Php.ini файл олдсон, одоо үүнийг засах, эс тэгвээс файлын хэд хэдэн удирдамжийг доор үзүүлсэн шиг өөрчлөх л үлдлээ.

Скриптийг бүрэн ачаалах хамгийн их хугацаа (сек):
хамгийн их_гүйцэтгэх_хугацаа = 60
Скриптэд бүх өгөгдлийг хүлээн авах хамгийн дээд хугацаа (секунд):
хамгийн их_оролтын_хугацаа = 90
Скриптэд ашиглахыг зөвшөөрсөн санах ойн дээд хэмжээ:
санах ойн хязгаар = 128 сая
Байршуулсан файлуудын зөвшөөрөгдөх дээд хэмжээ:
upload_max_filesize = 200 сая
PHP-ийн хүлээн авах шилжүүлсэн өгөгдлийн дээд хэмжээ:
шуудангийн_хамгийн_хэмжээ = 180 сая

php.ini дээрх дээрх зааврыг өөрчилснөөр бид дамжуулан импортлох боломжтой болсон PHPMyAdmin мэдээллийн санөгөгдлийн хэмжээ 180 М хүртэл.

Өгөгдлийн сангийн дамп импортлохын тулд та бас ашиглаж болно үнэгүй хувилбар Sypex Dumper програмууд. Хогийн савыг оновчтой болгосон хамгийн дээд хурдажиллахаас гадна 800 мегабайтын мэдээллийн сантай ажиллах.