суббота, 14 апреля 2012 г.

Wtf debian-sys-maint?



Переносили базы mysql в debian из другой опрерационной системы или повредили базу с названием "mysql", или имели счастье установить ее заново? ) Поздравляю, возможно у вас теперь появилась такая вот проблема:
debatest:~# /etc/init.d/mysql restart Stopping MySQL database server: mysqld. Starting MySQL database server: mysqld. Checking for corrupt, not cleanly closed and upgrade needing tables.. /usr/bin/mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)' debatest:~# /usr/bin/mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'
Как это исправить? И что это вообще за пользователь такой? Итак, открываем /etc/mysql/debian.cnf находим в нем строку password, запоминаем - это пароль пользователя debian-sys-maint, нужного для запуска хотя-бы проверки таблиц при старте сервера. Заходим в клиента mysql и выполняем два запроса:

GRANT RELOAD, SHUTDOWN, PROCESS, SHOW DATABASES, SUPER, LOCK TABLES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '-- тут пишем его пароль --';
GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '-- тут пишем его пароль --' WITH GRANT OPTION;

После этого ошибка исправляется и мы плывем дальше. )

Оригинал: http://www.liveinternet.ru/users/stasikos/post80304705/

Linux: генерация рандомной строки для пароля

 cat /dev/urandom | tr -dc '[:alnum:]' | fold -w ${1:-20} | head -n 1