Від автора: а що це ви під ногами шукаєте? Базу даних? Повірте, швидше за все, вона нікуди не поділася, і лежить «целехонькая» на вашому ПК або сервер! Там вже дивилися? Напевно, ви просто не знаєте, де зберігаються дані MySQL. Про це ми сьогодні і розповімо.
Імпорт-експорт даних MySQL
Найчастіше знайти загублені бази даних для імпорту або копіювання. На щастя, для цього не обов’язково знати місце їх дислокації» на дисковому просторі. Програмні інтерфейси для роботи з СУБД MySQL мають вбудовані засоби перенесення і створення копій БД і таблиць.
В наших широтах» найбільш затребуваною залишається оболонка phpMyAdmin, призначена для адміністрування системи управління БД MySQL. На прикладі цього веб-застосунку ми і розглянемо вбудовані засоби, які дозволять нам залишитися в невіданні, де знаходиться MySQL.
В phpMyAdmin створення копій баз даних відбувається через вкладку «Експорт». Для дублювання БД або таблиці зліва в списку виберете потрібний для копіювання елемент. Після цього перейдіть в розділ «Експорт». У вікні параметрів у підрозділі «Спосіб експорту» повинно бути встановлено значення «Звичайний». Потім у списку виберіть базу даних (таблицю). Після чого натискаєте в самому низу вікна «Ок».
В результаті програма створить копію й збереже її на стороні клієнта. Вся робота з веб-застосунком відбувається через браузер, тому створений дублікат БД потрібно шукати в папці завантажень.
Місце зберігання оригіналів баз
Знання вбудованого функціоналу phpMyAdmin допоможе швидко створити копії потрібних даних. Але якщо на комп’ютері не встановлена жодна з програмних оболонок для адміністрування СУБД. А вам потрібно перенести БД на інший сервер. Або змінити зберігається в таблицях інформацію. При цьому виконувати запити доведеться через консоль, де обов’язково прописується шлях до БД. Як бачите знати, де зберігається база даних MySQL, важливо і потрібно.
Ось ще один приклад з життя початківця адміна». Припустимо, спочатку ви користувалися Denwer. Але в один «непогожий день ви випадково видалили частину файлів локального сервера. В результаті чого він більше не запускається, і ви починаєте «рити» залишилися папки в надії врятувати хоча б бази даних. Але в цьому випадку також «зручніше» знати, де копати. Ось приклад шляху, де у веб-сервері зберігаються БД: F:\Webserver\usr\local\mysql-5.5\data, де F – диск, на якому був встановлений Denwer.
Для відкриття скопійованих файлів БД потрібно phpMyAdmin. Якщо ви встановили сервер СУБД без оболонки, тоді за замовчуванням місце, де зберігаються бази даних MySQL, знаходиться тут: C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data
Файл my.ini
Всі описані методи пов’язані з здійсненням пошуку (в залежності від варіанту використання СУБД) тієї чи іншої папки, в якій програми (або сервер) зберігають створені бази. Але невже користувач ніяк не може вплинути на це, і самостійно вказати місце на дисковому просторі MySQL, де зберігаються всі БД.
Такий варіант налаштування був передбачений творцями цієї системи управління. Всі основні параметри задаються у файлі my.ini. Він розташований у тій же директорії, куди встановлена система СУБД.
Даний тип файлів відноситься до конфігураційним, і відкривається з допомогою звичайного «Блокнота». Щоб задати «своє» місце для всіх створених БД, відкрийте файл my.ini. Потім знайдіть розділ [mysqld], і в параметрі datadir пропишіть шлях до потрібної папки. Після збереження внесених змін (Файл> Зберегти) всі існуючі бази будуть перенесені у вказане вами місце файлової системи комп’ютера або сервера.
Засоби SQL
Всі описані вище варіанти дізнатися в MySQL, де лежить БД, є другорядними. Тому що СУБД не розуміє людської мови і писемності. Для спілкування з нею існує спеціальний мову SQL. Абревіатура перекладається як мова структурованих запитів (structured query language). Тобто з допомогою операторів і команд цієї мови можна впливати на структуру міститься в джерелі інформації: робити вибірки, оновлювати дані, вставляти або видаляти.
Але не будемо занадто забиратися в «дрімучий ліс» професійних знань, нас цікавить єдина команда SHOW. Точніше, один з її варіантів SHOW VARIABLES. Ця команда SQL використовується в адмініструванні для отримання службової інформації про конкретному сервері або базі.
SHOW VARIABLES виводить список змінних і їх значень з INFORMATION_SCHEMA, яка являє собою «службову» БД, в якій міститься інформація про всіх базах, підключених до сервера. Приклад запиту: SHOW VARIABLES;
Але з усього цього списку нас цікавить лише одна змінна, за допомогою якої можна «дізнатися» у сервера MySQL, де зберігається база. Це змінна basedir, значення якої записано шлях до основної директорії. Приклад запиту: SHOW VARIABLES LIKE ‘basedir’;
А зараз припиняйте даремно «ритися» в файловій системі свого ПК. Тепер ви точно знаєте, як правильно «запитати» у СУБД MySQL, де зберігаються бази. Сподіваємося, нам вдалося навчити вас цьому!