Натиснете ENTER, за да видите резултатите или ESC за изход.

Блог на SuperHosting.BG

Голяма MySQL базa данни – ами сега!?

Голяма MySQL база данниАко ви попитаме с какъв инструмент администрирате своите бази данни – може би в над 90% от случаите, отговорът ще е phpMyAdmin. А когато с него не можете да извършите определена функционалност? В тази статия от съветите на support – a на нашата хостинг компания СуперХостинг.БГ, ще ви подскажем още няколко лесно реализуеми хитринки, с които ще можете да импортирате/експортирате големи по размер бази данни. Тези операции отнемат повече време и не могат да бъдат изпълнени през phpMyAdmin, затова нашия колега Кирил (или както му казваме в екипа – Кирето) се постара да представи други варианти по максимално достъпен и полезен начин. Вижте как и очакваме да ни питате за всичко, което ви интересува по темата, а защо не и да споделите примери от вашата практика! 🙂

Импорт/експорт чрез SSH (Secure Shell)

1. Импорт на MySQL база данни

За да импортирате SQL файл в дадена MySQL база данни, първо трябва да го разположите в директория в хостинг акаунта. След това самият импорт се осъществява чрез следната команда:

mysql -h127.0.0.1 -uDB_USERNAME -p DATABASE < /home/cPanel_USERNAME/db.sql

Легенда:

  • DB_USERNAME – името на потребителя за базата данни (можете да използвате и основния MySQL потребител);
  • DATABASE – името на базата данни;
  • /home/cPanel_USERNAME/ – пътят до директорията, в която е качен SQL файла;
  • db.sql – името на SQL файла.

На следващата стъпка ще излезе съобщение да въведете паролата за потребителя към базата или за основния MySQL потребител, ако използвате него.

2. Експорт на MySQL база данни

Експортът се осъществява посредством следната команда:

mysqldump -h127.0.0.1 -uDB_USERNAME -p DATABASE > /home/cPanel_USERNAME/db.sql

След изпълнението на mysqldump, експортираният SQL файл е разположен в /home директорията на хостинг акаунта, ако разбира се не сте посочили друга директория.,

Информация за този начин на импорт и експорт, можете да намерите и в нашата помощна страница на следния адрес: Импорт / експорт на база данни чрез SSH

Импорт/експорт чрез Cron Job

Ако не разполагате с SSH достъп или за хостинг плана, който ползвате, не се предлага такъв (СуперСтарт), бихте могли да настроите изпълнението на импорт/експорт като Cron Job, който да изпълните еднократно. Задаването на Cron Job става от cPanel -> "Автоматизирани задачи (Cron jobs)". Препоръчваме Ви да го настройте на 5, 10 или 15 минути, в зависимост от размера на базата данни. Зададеният Cron Job трябва да изглежда по един от следните начини, в зависимост от това дали извършвате импорт или експорт:

Cron Job команда за импорт на голяма MySQL база данни
Cron Job команда за импорт на голяма MySQL база данни
Cron Job команда за експорт на голяма MySQL база данни
Cron Job команда за експорт на голяма MySQL база данни

Тук отново е необходимо да заместите MySQL потребителя, паролата, базата данни, SQL файла и пътя до него с вашите.

Повече информация, как да създадете Cron Job, отново ще намерите в нашата помощна страница на следния адрес: Cron Jobs – за какво и как се ползва?

Съвет от Кирето:

След успешното приключване на импорта или експорта, не забравяйте да изтриете Cron Job- а. В противен случай те ще се изпълняват периодично и циклично. 🙂

Кой от посочените методи използвате вие? А какво друго можете да добавите по темата?

Кирил Гошев (Киро)

Тийм Лидер, Техническа Поддръжка

Кирил е част от СуперЕкипа от времето, когато членовете му са се броели на пръсти. За това време се е сблъсквал с всякакви технически казуси и ги е разрешавал докрай, независимо колко време ще отнеме това. Той е създател на част от нашите плъгини в cPanel, като например PHP Manager by SuperHosting. СуперСилата на Киро е, че винаги може да даде ценни напътствия не само на клиентите, но и на тепърва навлизащите в дълбоките дебри на техническата поддръжка колеги.

Препоръчани статии

Оставете коментар

13 Коментара към "Голяма MySQL базa данни – ами сега!?"

Уведоми ме при
avatar

Иван
Гост
3 години 1 месец .

На скоро ми се наложи да премествам сайт с голяма база данни и ако тези съвети ги бях видял по-рано щяха да ми бъдат много полезни. Аз доста се поизмъчих с различни компресии и импортване на таблиците по отделно.

Силвена Ралинова
Editor
3 години 1 месец .

Здравейте,

Надяваме се, че съветите ще са ви полезни и в бъдеще при импортиране/експортиране на големи по размер бази данни ! 🙂

Мартин Георгиев
Гост
Мартин Георгиев
4 години 4 месеца .

MySQLDumper също върши страхотна работа, последно го пробвах с едни 7 милиона записа (към 550 МБ размер на dump файла) и нямаше проблеми.
А за това с cron-а направо ме е срам че не съм се сетил 🙂

Мартин Георгиев
Гост
Мартин Георгиев
4 години 4 месеца .

Забравих да спомена че за по-големички бази е желателно да се пипнат настройките на mysqldumper-а преди да се пусне import/export-а. Резултата при мен беше че вместо за няколко часа нещата станаха за 20-на минути.
Въпросните настройки са като се отиде на Configuration->General
Memory limit да му се цъкне autodetect
GZip compression да е not activated
Optimize Tables before Backup също да е not activated

и това е.

Иван Чивчибашиев
Гост
4 години 5 месеца .

http://www.ozerov.de/bigdump/ Този скрипт също върши страхотна работа.

Кристиян Кацаров
Гост
4 години 5 месеца .

Малко са хората които биха споделили такива важни съвети 🙂

Михаил Николов
Гост
4 години 5 месеца .

Това с cronjob ми хареса. 🙂 И ме навежда на мисълта дали пък това не е добър вариант да си правя еждеседмичен, да речем, бекъп на базата? :/

СуперХостинг.БГ
SH
4 години 5 месеца .

Здравейте Михаил,

Можете, разбира се, да правите backup на вашата база данни, като честотата на архивите зависи и от това, колко активно се променя базата. Препоръчваме да сваляте на локалния си компютър експортнатия файл, за да не запълвате излишно място в хостинг акаунта си.

wpDiscuz

Cloud услуги (SuperCloudVPS)