Схвалено кращими українськими програмістами


анних (datadir). У ньому він очікує знайти журнальні файли, файли pid (ID процесів) і власне бази даних.

Місцезнаходження каталогу даних жорстко встановлюється при компіляції дистрибутива. Однак якщо mysqld очікує знайти каталог даних де-небудь в іншому місці, а не там, де він дійсно розташований в вашій системі, то демон mysqld не працюватиме правильно. Якщо є проблеми з неправильними шляхами, то, викликаючи mysqld з опцією --help. ви можете знайти інформацію про те, що дозволяють опції mysqld і які установки шляхів прийняті за замовчуванням. Можна перевизначити установки за замовчуванням зазначенням правильних імен шляхів як аргументів mysqld в командному рядку (ці опції також можна використовувати з safe_mysqld).

Звичайно потрібно вказувати mysqld тільки каталог, в якому встановлюється MySQL. Це можна зробити за допомогою опції --basedir. Можна також використовувати --help для перевірки ефекту від зміни опцій шляхів (врахуйте, що --help повинна бути останньою опцією в команді mysqld). наприклад:

Після визначення необхідних установок шляхів запускайте сервер без опції --help.

Який би метод ви не використовували для запуску сервера, якщо його невдалий запуск завершується коректно, то перевірте журнальний файл, щоб дізнатися, чому запуск відбувається невдало. Журнальні файли знаходяться в каталозі даних (зазвичай `/ usr / local / mysql / data 'для бінарного дистрибутива,` / usr / local / var' для дистрибутива вихідного коду і `\ mysql \ data \ mysql.err 'під Windows). В каталозі даних слід шукати файли з іменами у вигляді `host_name.err 'і` host_name.log'. де host_name - ім'я вашого серверного хоста. Потім перевірте останні кілька рядків цих файлів:

У журнальному файлі потрібно шукати щось схоже на наступне:

Це означає, що ви не запустили mysqld з --bdb-no-recover і база даних Berkeley DB знайшла щось помилкове в своїх журнальних файлах при спробі відновити ваші бази даних. Щоб мати можливість продовжити, необхідно перемістити старий журнальний файл Berkeley DB з каталогу баз даних в деяке інше місце, де пізніше можна буде вивчити його. Журнальні файли мають імена `log.0000000001 'і т.д .; номер зростає при кожному запуску.

Якщо ви запускаєте mysqld працює з підтримкою таблиць BDB і mysqld при старті виводить дамп оперативної пам'яті (coredump), то причиною цього це можуть бути будь-які проблеми з журналом відновлення BDB. В цьому випадку можна спробувати запуск mysqld з --bdb-no-recover. Якщо це допомагає, то слід видалити всі файли `log. * 'З каталогу даних і спробувати запустити mysqld знову.

Якщо видається наведена нижче помилка, то це означає, що деяка інша програма (або інший сервер mysqld) вже використовує цей TCP / IP порт або сокет, на яких mysqld намагається слухати:

Щоб переконатися, що іншого працюючого сервера mysqld немає, використовуйте ps. Якщо інший працює сервер не знайдений, то можна спробувати виконати команду telnet your-host-name tcp-ip-port-number і натиснути пару раз клавішу `` Enter ''. Якщо ви не отримуєте повідомлення про помилку на кшталт такого telnet: Unable to connect to remote host: Connection refused. значить, що порт TCP / IP порт, який mysqld намагається використовувати, вже зайнятий іншою програмою. section 2.4.1 Проблеми при запуску mysql_install_db і розділ See section 4.1.4 Запуск декількох серверів MySQL на одному комп'ютері.

Якщо mysqld в даний час працює, то можна знайти які він використовував установки шляхів за допомогою наступної команди:

Якщо safe_mysqld запускає сервер, але ви не можете підключитися до нього, то слід переконатися, що в `/ etc / hosts 'є запис, яка виглядає приблизно так:

Ця проблема виникає тільки в системах, які не мають робочої бібліотеки потоків, і для яких MySQL слід конфігурувати для використання потоків MIT-pthreads.

Якщо ви не можете запустити mysqld. то можна спробувати створити файлі трасування, щоб виявити цю проблему. See section E.1.2 Створення файлів трасувань.

При використанні таблиць InnoDB слід вказувати опції запуску, специфічні для InnoDB. See section 7.5.2 Параметри запуску InnoDB.

При використанні таблиць BDB (Berkeley DB) необхідно добре знати різні специфічні для BDB опції запуску. See section 7.6.3 Параметри запуску BDB.

MySQL.RU. Схвалено кращими українськими програмістами