пытаюсь настроить здесь новый сервер, но продолжайте получать это в журнале ошибок:
mysqld_safe Starting mysqld daemon with databases from /data/mysql/myisam
[Warning] Can't create test file /data/mysql/myisam/hostname.lower-test
[Warning] Can't create test file /data/mysql/myisam/hostname.lower-test
[Note] Flashcache bypass: disabled
[Note] Flashcache setup error is : setmntent failed
/usr/sbin/mysqld: File '/var/mysql/bin/bin-log.index' not found (Errcode: 13)
[ERROR] Aborting
[Note] /usr/sbin/mysqld: Shutdown complete
mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
все под /data/mysql
(это папки ibdata и myisam) принадлежит моему mysql: mysql и имеет соответствующие разрешения
то же самое касается папок с журналами bin и relay под /var/mysql
Apparmor удален с сервера
Любые идеи?
PS
похоже, что что-то еще, кроме apparmor, влияет на разрешения на доступ к файлам mysql
после того, как я изменил каталог данных на более стандартный - / var / lib / mysql и ошибка «Невозможно создать тестовый файл» исчезла, но «'/var/mysql/bin/bin-log.index' не найден (код ошибки: 13) "все еще там
PPS
поэтому я установил apparmor обратно и добавил все папки в профиль mysqld, и ошибки, упомянутые выше, теперь исчезли (или mysql даже не доходит до этого момента)
то, что у меня сейчас есть, это: / usr / sbin / mysqld: ошибка при загрузке разделяемых библиотек: libpthread.so.0: невозможно открыть файл общих объектов: нет такого файла или каталога
биться головой о стену.
Этот вопрос немного устарел, но в случае, если другие люди сталкиваются с этой страницей (как я), вот что заставило меня работать:
В моем случае ответ был очевиден.
Решение: отредактируйте файл /etc/apparmor.d/usr.sbin.mysqld
Добавьте следующие строки:
/path/to/new/data/ r,
/path/to/new/data/** rwk,
/path/to/new/logs/ r,
/path/to/new/logs/ rw,
Затем перезапустите apparmor:
sudo /etc/init.d/apparmor restart
AppArmor предотвращает доступ mysql к новым расположениям этих файлов. Вот почему все разрешения выглядят правильно. Верно, что «что-то» мешает mysql получить доступ к новым местоположениям. Это "что-то" есть "apparmor" :-)
Apparmor кажется стандартным для Ubuntu 11.10, и именно здесь у меня возникла эта проблема. По-видимому, в 10.04 Apparmor по умолчанию не установлен.
Надеюсь, это кому-то поможет, я слишком много часов рвал волосы из-за этого!
Это новая установка?
bin-log.index
является индексным файлом для имен двоичных файлов журнала. В качестве временного обходного пути вы можете прокомментировать log-bin=
линия в my.cnf
и попробуй еще раз.
Если это не помогает, попробуйте запустить MySQL с mysqld_safe --user=root &
, войдите в MySQL и выполните следующие команды:
mysql> FLUSH LOGS;
mysql> RESET MASTER;
И снова запустите MySQL:
sudo killall mysqld_safe
sudo /etc/init.d/mysqld start
Если это новая установка, вам нужно запустить mysql_install_db
скрипт для создания необходимых таблиц / файлов.