Мэдээллийг mysql руу хэрхэн экспортлох вэ. Бид MySQL мэдээллийн санг хаяж, өгөгдлийг консол руу экспортлодог. phpMyAdmin ашиглан MySQL мэдээллийн сан руу SQL файлуудыг импортлох

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

Хэрэв таны овоолгын хэмжээ зөвшөөрөгдөх хэмжээнээс их биш бол та үүнийг хэд хэдэн хэсэгт хувааж, хэд хэдэн дамжуулалтаар импортлох боломжтой. Жишээлбэл, хязгаар нь 2 МБ, таны мэдээллийн сан 5-10 МБ хэмжээтэй бол энэ нь үндэслэлтэй юм. 100 МБ-ын мэдээллийн санг 50 хэсэг болгон “хүсэх” ​​нь нэлээд хөдөлмөр, цаг хугацаа шаардсан үйл явц гэдэг нь ойлгомжтой.

Энэ асуудлыг шийдэх хэд хэдэн сонголт байдаг.

Вэб серверийн тохиргоог засварлаж байна

VDS/VPS дээр үүнтэй холбоотой ямар ч асуудал байхгүй, та зөвхөн тохиргоогоо засах хэрэгтэй. Тухайлбал, php.ini дээр серверт байршуулсан файлуудын зөвшөөрөгдөх дээд утгыг нэмэгдүүлэх, хамгийн их хэмжээ POST аргыг ашиглан шилжүүлсэн файлуудын хувьд:

Post_max_size = 2000M upload_max_filesize = 2000M

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

Гүйцэтгэх_дээд_хугацаа = 32000_оролтын_хамгийн_хугацаа = 32000

Ямар ч тохиолдолд та зөвшөөрөгдсөн RAM-ийн хэмжээг нэмэгдүүлэх боломжтой.

Санах ойн_хязгаар = 512M

Өөрчлөлт хийсний дараа вэб серверийг дахин эхлүүлэхээ мартуузай.

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

Sypex Dumper

Та ашиглаж болно гуравдагч талын програм хангамж. Анхаарал татахуйц хамгийн анхны програм бол Sypex Dumper юм.

Би үүнийг олон жилийн өмнө анх удаа ашиглаж, бүх боломж, давуу талыг нь үнэлж, "Заавал байх ёстой" гэсэн шошготойгоор тэмдэглэж чадна. Sypex Dumper - серверийн програм PHP дээр суулгах шаардлагагүй. Үүнийг жишээ нь sxd директор доторх сайтынхаа үндэс рүү хуулж аваад http://Your_Site/sxd/ вэб хөтөч дээр дуудах нь хангалттай. Юуны өмнө та мэдээллийн санг нөөцлөх лавлах хэсэгт байршуулах хэрэгтэй гэдгийг тэмдэглэх нь зүйтэй. Скриптийг эхлүүлсний дараа та мэдээллийн санд холбогдох зөвшөөрлийн самбарыг харах болно. Хэрэглэгчийн нэр, нууц үгээ оруулна уу. Хост болон порт нь зөвхөн тусгайлсан тохиолдолд сонголттой.

Зөвшөөрөл авсны дараа та мэдээллийн санг импортлох руу шууд очиж болно. Талбайд "Мэдээллийн сан"Таны холбогдсон мэдээллийн баазыг сонгох ба талбарт "Файл"та өмнө нь Нөөцлөлтийн лавлах руу байршуулсан хогоо харах болно.

Ихэнх тохиолдолд байхгүй нэмэлт тохиргоошаардлагагүй болсон бөгөөд та "Ажиллуулах" товчийг дарж импортыг аюулгүй эхлүүлж болно. Өгөгдлийн сангийн хэмжээ болон таны интернет холболтын хурд зэргээс шалтгаалан импортлоход хэсэг хугацаа шаардагдана. Импортлох үед та ямар хүснэгтүүдийг импортлож байгааг харж болно Энэ мөчмэдээллийн сан руу. Скрипт дууссаны дараа та гүйцэтгэлийн бүртгэлийг харах болно. Энэ нь иймэрхүү харагдаж байна:

Энэ бол үнэндээ - мэдээллийн баазыг импортолсон!

Консол

Бид консолоор дамжуулан импортлохыг авч үзэхгүй. Надгүйгээр консол ашигладаг хүмүүс ямар ч мэдээллийн санг импортлохыг мэддэг байх гэж бодож байна. А энгийн хэрэглэгчидТусгай сургалтгүйгээр тийшээ явахгүй байх нь дээр. Зарим командыг гүйцэтгэх нь серверийг бүрэн сүйрүүлэх зэрэг ноцтой үр дагаварт хүргэж болзошгүй юм.

Эцэст нь

Sydex Dumper бол цорын ганц бөгөөд зөв шийдэл гэж би хэлэхгүй байна. Хэрэглэгчээс тодорхой мэдлэгтэй байж, серверийн тохиргоонд зохих хандалтыг шаарддаг өөр илүү гоёмсог аргууд байдаг.

Гэхдээ хуваалцсан хостинг орчинд Sydex Dumper нь таны зайлшгүй туслах байх болно.

Миний телеграмд ​​бүртгүүлж, шинэ материал, тэр дундаа сайтад байхгүй материалыг хамгийн түрүүнд хүлээн аваарай.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Энэ нийтлэлд бид хоёр асуултыг авч үзэх болно - өгөгдлийн санг хэрхэн импортлох, 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);
  • IN хаягийн мөрхөтөч, 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 мегабайтын мэдээллийн сантай ажиллах.

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

Хамгийн эхний хийх зүйл бол гүйх явдал юм локал сервер, энэ тохиолдолд энэ нь Денвер юм. Denwer-ийг ажиллуулсны дараа та хөтчөө нээж, "http://localhost/tools/phpmyadmin" гэсэн хөтчийн мөрөнд оруулах хэрэгтэй бөгөөд үүний дараа таны өмнө цонх нээгдэнэ.(Зураг 1)өмнө нь үүсгэсэн мэдээллийн сан.

Зураг 1

Дараа нь бид экспортлох мэдээллийн санг сонгох хэрэгтэй, миний хувьд энэ нь Mybd нэртэй мэдээллийн сан юм. Та хөтчийн цонхны зүүн талд байгаа мэдээллийн бааз дээр дарж сонгож болно “Өгөгдлийн санг сонгоно уу” (Зураг 2).


Зураг 2

Хүссэн мэдээллийн санг сонгосны дараа мэдээллийн сангийн бүтэц бүхий цонх нээгдэнэ. Дээд цэсэнд нэг зүйл байна "Экспорт"Үүний тусламжтайгаар бид мэдээллийн санг компьютерт экспортлоод дараа нь хостинг руу импортлох болно. Тиймээс "Экспорт" руу очно уу (Зураг 3).


Зураг 3

Нээгдсэн цонхонд та хэд хэдэн хэмжилт хийх хэрэгтэй (Зураг 4), тухайлбал: "Экспорт" блок дээр та тухайн зүйл дээр дарж мэдээллийн сангийн бүх хүснэгтийг сонгох хэрэгтэй "Бүгдийг сонгох"мөн зүйлийн хажууд байгаа нүдийг шалгана уу SQL, энэ зүйл нь экспортлох файлын төрлийг хариуцна. Мөн та хажуугийн хайрцгийг шалгах хэрэгтэй "Файл болгон хадгалах", энэ нь мэдээллийн баазыг файлд хадгалсан эсэхийг баталгаажуулах болно. Өөр тохиргоог өөрчлөх шаардлагагүй, зүгээр л товчлуур дээр дарна уу "Яв".

Зураг 4

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

Мөн миний ашигладаг кодчиллыг өөрчлөхийн тулд та файлын кодчилолыг BOMгүйгээр UTF-8 болгон өөрчлөх хэрэгтэй. текст засварлагч Notepad++(Татаж авах). Энэ програмыг ашигласнаар та мэдээллийн сангийн файл болон цэсийг нээнэ "кодлох"сонгох “BOMгүйгээр UTF-8 руу хөрвүүлэх” (Зураг 5), дараа нь хадгалаад хаа.


Зураг 5

Өдрийн мэнд, хамт олон минь :)

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

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

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

Хэрэв танд phpMyAdmin-ээр дамжуулан мэдээллийн сан импортлох заавар хэрэгтэй бол та энэ тухай нийтлэлээс олж болно. Энэ нийтлэлд би үүнийг дахин тайлбарлахыг хүсэхгүй байна, ялангуяа өнөөдрийн материал нь зөвхөн MySQL мэдээллийн санг консолоор импортлоход зориулагдсан болно.

Гэхдээ бид арга, хэрэгслийг судалж эхлэхээсээ өмнө MySQL мэдээллийн баазыг импортлох гэж юу болох, энэ нь ямар байдаг, үүнийг хэрхэн хамгийн сайн хийх талаар хэдэн үг хэлье?

MySQL мэдээллийн санг импортлох: юу, яагаад?

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

MySQL мэдээллийн баазыг импортлох, экспортлохын зэрэгцээ мэдээллийн санд хоёр төрлийн мэдээлэл хадгалагддаг.

  1. өгөгдлийн сангийн бүтэц, түүний хүснэгтүүд, тэдгээрт хадгалагдсан өгөгдөл (ихэвчлэн мэдээллийн сангийн дамп гэж нэрлэдэг);
  2. Хүснэгтэд хадгалсан эсвэл ашиглан цуглуулсан өгөгдөл СОНГОХхүсэлтүүд.

Энэ нийтлэлд хоёр сонголтыг авч үзэх болно.

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

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

Тогтмол өгөгдөл сэргээхийн тулд ийм хүндрэлүүд шаардлагагүй болно. Мэдээлэл нь өгөгдлийн сангийн хүснэгттэй ижил бүтэцтэй байх тест файлтай байхад хангалттай: мэдээлэл бүхий баганын тоо нь хүснэгтийн бичлэгийн шинж чанаруудын тоотой тохирч байна.

Эдгээр зорилгоор ердийн txt файл, өгөгдөл нь тусгаарлагдсан эсвэл тусгай хүснэгт засварлагчаар үүсгэгдсэн файлууд тохиромжтой байх болно ( Microsoft Office Excel, OpenOffice гэх мэт) маш сайн өргөтгөлтэй: xls, csv, odt гэх мэт.

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

MySQL-д өгөгдөл нэмэх: Хэрэгсэл

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

Би тэдгээрийг хамгийн доод түвшнээс эхлээд хамгийн дээд түвшинд хүртэл жагсаах болно (бүх төрлийн бүрхүүл, нэмэлт хэрэгслийг ашиглах үүднээс):

  1. Серверийн консол ба MySQL тушаалын мөр;
  2. Хэлний хэрэгслийг ашиглан MySQL дээр өгөгдөл бичих боломжийг олгодог програмчлалын хэл дээр бичигдсэн скриптүүд;
  3. Өгөгдлийн сантай ажиллах визуал интерфэйсийг хангадаг бэлэн програмууд (ижил phpMyAdmin, MySQL WorkBench, MySQL менежер гэх мэт).

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

Ямар нэг байдлаар консол нь бүх зүйлийн тэргүүн эгнээнд байдаг бөгөөд үлдсэн хэрэгслүүд нь үнэндээ түүний эмуляторууд юм.

Тиймээс MySQL-д өгөгдөл импортлохдоо консол ашиглах нь програмчлалын хэлний тохиргооноос тогтоосон янз бүрийн хязгаарлалтыг давах боломжийг танд олгоно. Вэб серверболон програмууд өөрсдөө (дашрамд хэлэхэд үүнийг үргэлж өөрчлөх боломжгүй).

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

PhpMyAdmin-ээр дамжуулан MySQL өгөгдлийн санд их хэмжээний хогийн цэг байршуулахыг оролдсон хүн бүр миний юу яриад байгааг ойлгосон байх гэж бодож байна.

Ихэнхдээ эдгээр хязгаарлалтууд нь MySQL мэдээллийн баазыг импортлоход алдаа гарах шалтгаан болдог бөгөөд үүнийг консол ашиглах үед хэзээ ч харахгүй.

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

Би таныг MySQL мэдээллийн санг консолоор (түүний бүтэц болон бие даасан өгөгдөл) импортлоход түлхэц өгсөн гэж найдаж байна.

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

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

Тиймээс, консолоос MySQL дампыг байрлуулахын тулд хоёр арга бий:

  1. командыг ашиглан тушаалын мөр MySQL;
  2. серверийн консол дээр өөрөө.

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

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

Эдгээр үйлдлүүдийн хэрэгжилтийг дээр дурдсан нийтлэлд дэлгэрэнгүй тайлбарласан байгаа тул хэрэв танд тэдгээрийн тайлбар хэрэгтэй бол тэндээс аваарай. Би тэднийг хоёр дахь шатанд давтахыг хүсэхгүй байна.

Дээрх үйлдлийг хийснийхээ дараа MySQL Shell-д дараах тушаалыг оруулна уу:

Эх сурвалжийн зам ба хогийн файлын нэр;

Бидэнд үлдсэн бүх зүйл бол хогийн цэгт агуулагдаж буй үйл ажиллагааны явцын талаархи консол дээрх мессежүүдийг судлах явдал юм.

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

Mysql -u хэрэглэгчийн нэр -p мэдээллийн сангийн_нэр< путь_и_имя_файла_дампа

Тэгээд л болоо. Хамгийн гол нь файл маш том бол импортыг дуусгахыг хүлээх явдал юм. Хогийн ажил дууссаныг серверийн консол дахин ашиглах боломжтой үед шүүж болно.

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

Хэрэв хогийн файлыг архивт суулгасан бол татаж авахдаа нэгэн зэрэг задлах шаардлагатай болно.

Линукс дээр үүнийг дараах байдлаар хийж болно.

Gunzip > [archive_file_name.sql.gz] | mysql -u -p

IN Windows стандартКонсолд архивыг задлах хэрэгсэл байхгүй тул үүнийг нэмэлт суулгах шаардлагатай болно.

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

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

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

Консол дахь файлаас MySQL өгөгдлийн санд өгөгдлийг ачаалж байна

Бид консол дахь хогийн цэгээс MySQL мэдээллийн баазыг сэргээх талаар ярилцсан. Одоо та xls болон csv зэрэг файлуудаас өгөгдлийг MySQL мэдээллийн сан руу хэрхэн импортлох боломжтойг олж мэдэх цаг болжээ.

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

Дахин дарааллаар нь тоймыг эхлүүлье.

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

ӨГӨГДЛИЙН INFILE-г "зам_болон_дамп_файлын_нэр"-ийг "\n"-ээр дуусгавар болсон "\"" МӨРӨӨР ХАГАССАН "МӨГӨДЛИЙН_САЗЫН_ХҮССЭНЭ" БАГАНААР АЧААРАЙ;

Хэрэв MySQL серверийг энэ сонголтоор эхлүүлсэн бол үүнийг бүү мартаарай --secure-file-priv(энэ нь ихэвчлэн хэзээ тохиолддог MySQL ашиглан WAMP/MAMP угсралтад багтсан түгээлтүүд), дараа нь системийн хувьсагчийг харгалзан файлын нэрийг зааж өгөх ёстой. аюулгүй_файлын_priv.

MySQL Shell руу орохгүйгээр MySQL мэдээллийн санг серверийн консол руу импортлохын тулд бидэнд хэрэглүүр хэрэгтэй болно. mysqlimport, MySQL түгээлтэд багтсан бөгөөд түүний дараах дуудлага:

mysqlimport –u user_name –p өгөгдлийн сангийн_нэрийн нэр ба импортын_файлын зам

Энэ хэрэгсэлнь SQL командтай адил юм ӨГӨГДЛИЙН INFILE-г АЧААРАЙ, зөвхөн командын мөрөнд. Гэхдээ яагаад түүний дуудлагын параметрүүдийн дунд файлын өгөгдлийг ачаалах хүснэгт байхгүй байна вэ гэсэн асуулт гарч ирнэ.

Үнэн хэрэгтээ mysqlimport-д физик байдлаар байхгүй энэ параметр. Харин импортын файлын нэр дээр өгөгдөл ачаалагдах хүснэгтийн нэр байх ёстой.

Тэдгээр. Хэрэв та импортлохыг хүсвэл Excel хүснэгтүүд MySQL хүснэгт рүү хэрэглэгчид, дараа нь таны файл дуудагдах ёстой хэрэглэгчид.xls.

Импортолсон файлын өргөтгөл нь аль хэдийн дурьдсанчлан ямар ч байж болно.

Mysqlimport-ын тусламжтайгаар та олон файлыг татаж авах боломжтой xls файлуудэсвэл MySQL дээр csv. Өгөгдөл хүрэх газартаа хүрэхийн тулд өмнөх жишээн дээрх шиг файлууд болон өгөгдлийн сангийн хүснэгтүүдийн нэрүүд мөн таарч байх ёстой.

Хэрэв гэнэт импортлогдсон файлын баганууд нь өгөгдлийн сангийн хүснэгтийн баганатай ижил дараалалд ороогүй бол тэдгээрийн дарааллыг тодруулахын тулд та дараах хэлбэрээр -columns сонголтыг ашиглах хэрэгтэй.

Mysqlimport –u хэрэглэгчийн_нэр –p өгөгдлийн сангийн_нэр --багана1, багана2, ... импортын_файлын нэр_ба_зам

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

Хэрэв та тэдэнтэй танилцахыг хүсвэл тэдгээрийн бүрэн жагсаалтыг эндээс авах боломжтой - https://dev.mysql.com/doc/refman/5.7/en/mysqlimport.html

Мэдээллийг MySQL мэдээллийн санд овоолгоос ачаалах онцлогууд

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

Харамсалтай нь MySQL өгөгдлийн сангийн импортын командуудад ийм сонголт байдаггүй.

Цорын ганц зүйл бол том өгөгдлийн сангийн дамп ачаалах үед хурдыг нэмэгдүүлэхийн тулд та дараах функцийг ашиглаж болно.

1. Дамп файлыг нээнэ үү (илүү зохимжтой файлын менежерүүд, учир нь ердийн редакторууд том файлуудад дарагдаж болно).

2. Файлын эхэнд дараах мөрүүдийг бичнэ.

SET гадаад_түлхүүр шалгах = 0; SET UNIQUE_CHECKS = 0; SET AUTOCOMMIT = 0;

Анхаар! Тэд аль хэдийн тэнд байсан эсвэл тайлбар бичсэн байж магадгүй (хог хаягдал үүсгэдэг олон програмууд тэдгээрийг автоматаар нэмж болно)

3. Файлын төгсгөлд бид урвуу үйлдлүүдийг бичнэ.

Гадаад_түлхүүрийн_шалгалтыг SET = 1; SET UNIQUE_CHECKS = 1; SET AUTOCOMMIT = 1;

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

Үнэн хэрэгтээ хэрэв та MySQL мэдээллийн баазыг импортлох dump файлыг үзэж байсан бол ачаалагдсан хүснэгтүүдийн бүтцийг тохируулах ажиллагаа дараах байдалтай байгааг анзаарсан байх.

`үйлчлүүлэгчид` байгаа бол ХҮСНЭГТИЙГ УНАХ; CREATE TABLE `үйлчлүүлэгчид` (...);

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

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

Тиймээс гадаад түлхүүрүүд болон бусад түлхүүрүүд байгаа эсэхийг шалгахыг идэвхгүй болгох нь MySQL мэдээллийн баазыг импортлох үйл явцыг амжилттай дуусгах маш сайн баталгаа юм.

MySQL мэдээллийн сан болон бусад файл руу csv импортлох онцлог

-аас MySQL мэдээллийн санд өгөгдөл ачаалах үед текст файлуудТа мөн гадаад түлхүүрүүдийг идэвхгүй болгох хэрэгтэй байж магадгүй.

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

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

ГАДААД_ТҮЛХҮҮР_ШАЛГАЛТЫГ ТОХИРУУЛАХ=0;

Гэсэн хэдий ч би MySQL системийн хувьсагч гэж тэнд дурдаагүй ГАДААД_ТҮЛХҮҮР_ШАЛГАЛТгэсэн хоёр утгатай: глобал болон сессийн (одоогийн сессийн хувьд).

MySQL хувьсагчийн глобал утга нь MySQL серверийг дахин эхлүүлэх хүртэл бүх үйлдэлд хүчинтэй байна. Дараа нь хувьсагчдын утгууд дахин тохируулагдах бөгөөд тэдгээрт анхдагч утгууд өгөгдөнө.

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

Би яагаад үүнийг санахаар шийдсэн бэ?

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

Консол нь хүснэгтэд гадаад түлхүүр байгаатай холбоотой алдааны мэдэгдлийг харуулсан хэвээр байна.

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

SET SESSION variable_name = variable_value; SET @@session.variable_name = хувьсагч_утга; SET @@ хувьсагчийн_нэр = хувьсагч_утга;

Дээрх командуудад хувьсагч нь сесс гэж тодорхой тэмдэглэгдсэн байдаг.

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

Би FOREIGN_KEY_CHECKS-г глобал болгож тохируулж, импорт амжилттай боллоо.

Та үүнийг дараах аргуудын аль нэгээр хийж болно.

SET GLOBAL variable_name = variable_value; SET @@global.variable_name = хувьсагч_утга;

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

@@GLOBAL.foreign_key_checks, @@SESSION.foreign_key_checks;

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

Дараа уулзая! 🙂

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

5-аас дээш жил ажилласан туршлагатаймэргэжлийн вэбсайт боловсруулах. Хамтран ажиллах PHP, OpenCart,