Для мене рішенням було перезаписати / виправити каталог даних у / etc / my / cnf.
Я створив MySQL 5.5.27 з джерела із вказівками, наданими у файлі readme:
# Preconfiguration setup
shell> groupadd mysql
shell> useradd -r -g mysql mysql
# Beginning of source-build specific instructions
shell> tar zxvf mysql-VERSION.tar.gz
shell> cd mysql-VERSION
shell> cmake .
shell> make
shell> make install
# End of source-build specific instructions
# Postinstallation setup
shell> cd /usr/local/mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data
# Next command is optional
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server
mysqld_safe припинив себе без пояснень. запуск /etc/init.d/mysql.server startпризвів до помилки:
"Сервер вийшов без оновлення PID-файлу"
Я помітив щось дивне в інструкції з установки. Він змінив право власності на mysql для каталогу "data", але не на "var"; це незвично, тому що роками мені доводилося переконуватись у тому, що каталог var був написаний mysql. Тож я вручну бігавchown -R mysql /usr/local/mysql/var а потім спробував запустити його знову. Ще не везе. Але що ще гірше, у файлі var dir немає файлу .err - це було в dir-режимі "data"! тому скрипти / mysql_install_db встановлюють табір у / usr / local / mysql / var, але решта програми, схоже, хочуть виконати свою роботу в / usr / local / mysql / data!
Тож я щойно відредагував /etc/my.cnf і під розділом [mysqld] я додав директиву, щоб явно вказати каталог даних mysql на var (як я зазвичай очікую, що це буде як-небудь), і після цього mysqld запускається просто штрафу. Директива для додавання виглядає приблизно так:
datadir = / usr / local / mysql / var
Працювали для мене. Сподіваюся, це допоможе вам.