Несколько дней назад я установил mysql-server на машину, а затем обнаружил, что он помещает файл данных в раздел, в котором почти нет места. Итак (потому что в БД не было ничего, о чем я заботился), я выключил его, связав символьную связь /var/lib/mysql
в пустой каталог в другом разделе и попытался запустить его резервное копирование.
Коротко; MySQL сейчас не запускается. Кажется, выскочка думает, что работает (то есть если start mysql
не зависает), но нет процесса mysqld. Я пробовал переустановить (apt-get purge mysql-server; apt-get insatll mysql-server
), но он, кажется, что-то держит (во-первых, он не просит меня установить пароль root, как в первый раз), и он все равно не запускается.
Как мне выполнить чистую переустановку, которая полностью игнорирует все, что было сделано при последней установке?
О, и есть ли способ настроить файлы конфигурации до того, как apt-get запустит mysqld?
Я собираюсь сказать, что вы используете Ubuntu и у вас установлен AppArmor. Меня укусило именно это в конце прошлой недели, когда я переходил с машины под управлением 8.04 на новый хост под управлением 10.04.
Я решил отключить AppArmor, но в качестве теста попробуйте что-нибудь вроде: /etc/init.d/apparmor stop
затем попробуйте снова запустить MySQL.
Вы также можете изменить конфигурацию каталогов, которыми AppArmor ограничивает MySQL, отредактировав /etc/apparmor.d/usr.sbin.mysqld
.
Вы можете принудительно удалить все файлы, включая файлы конфигурации, с помощью команды:
$ sudo apt-get purge --force-yes mysql-server
Затем установите как обычно.
$ sudo apt-get install mysql-server