2

Я только что установил archlinux x64, ранее я использовал 32-битный Debian. Старая операционная система все еще существует (почти) без изменений, так как я купил новые диски.

На Arch, а также на Debian я пытался запустить mysqld с их соответствующими командами. В обеих системах он просто зависает, пока, наконец, не сдастся и не сообщит об ошибке.

Несколько месяцев назад я переместил базу данных с ее исходного места на другой путь, потому что у меня не хватало места. Я настроил my.cnf соответственно:

datadir         = /mnt/media/mysql_db

/mnt/media - это один и тот же диск LVM для обеих систем. Поэтому я смонтировал его в новой системе, и он пожаловался на отсутствие некоторого mysql-bin.index , поэтому скопировал этот файл из /var/lib/mysql (предполагается, что он был создан при первом mysqld с неизмененной конфигурацией). После этого он пожаловался на другие файлы mysql-bin.* , Поэтому я скопировал их все. Это единственная модификация, которую я внес в исходную папку.

При попытке начать снова, файл журнала /mnt/media/mysql_db/hostname.err даже больше не трогался . Я проверил /var/log и любое другое место, о котором только мог подумать, но mysql не затронул ни один файл. Так что теперь команды запуска не срабатывают, но не сообщают мне, почему.

Поэтому я попытался загрузить мою старую систему, но сейчас то же самое. Я снова удалил эти файлы mysql-bin.* , Так как их все равно там не было, но он все равно не работает и не дает никакого вывода.

Любая идея, как ограничить мой поиск или найти решение?

1 ответ1

1

Я не могу проверить это в данный момент, но это может быть проблема с разрешением.

Убедитесь, что для datadir и всех файлов в нем установлены правильные права доступа и права доступа к файлам.

Пользователь mysql должен быть владельцем datadir а разрешения для datadir должны быть 700 (или drwx------). Пользователь mysql должен также владеть подкаталоги и файлы базы данных в пределах datadir Для каталогов должны быть установлены разрешения 700 (или drwx------), а для файлов базы данных - 660 (или -rw-rw----). Все это можно подтвердить с помощью ls -l .

Если какие-либо разрешения установлены неправильно (например, если вы скопировали файлы как root, root теперь владеет ими), исправьте их с помощью chown и chmod .


Чтобы изменить владельца файла / каталога на mysql, используйте следующее:

chown mysql:mysql /path/to/file

Чтобы изменить разрешения для файла / каталога, используйте следующее:

chmod 660 /path/to/file

заменив 660 на разрешение, которое вы хотите установить.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .