Uma característica de funcionamento do MySQL no Debian é o usuário ‘debian-sys-maint’ que gerencia o funcionamento e administração do serviço. Migrando de um servidor rodando “Slackware” eu acabei eliminando este usuário. Tive como consequência uma série de falhas nos scripts administrativos do MySQL. Esta nota serve para ajudar na restauração deste usuário para que estes scripts voltem a funcionar.
Primeira tarefa é olhar qual a senha que o Debian gerou na instalação do MySQL.
jupiter:~# cat /etc/mysql/debian.cnf # Automatically generated for Debian scripts. DO NOT TOUCH! [client] host = localhost user = debian-sys-maint password = kdlkjiuqEIjd881kDi socket = /var/run/mysqld/mysqld.sock [mysql_upgrade] user = debian-sys-maint password = kdlkjiuqEIjd881kDi socket = /var/run/mysqld/mysqld.sockbasedir = /usr jupiter:~#
Agora é só criar o usuário no MySQL com esta senha :
jupiter:~# mysql -uroot -p'secretpass' Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 18 Server version: 5.0.32-Debian_7etch5-log Debian etch distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> use mysql\g Query OK, 0 rows affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'kdlkjiuqEIjd881kDi' WITH GRANT OPTION\g Query OK, 0 rows affected (0.00 sec) mysql> flush privileges\g Query OK, 0 rows affected (0.00 sec) mysql> quit Bye jupiter:~#
Detalhe importante: no comando “GRANT” eu não utilizei o “IDENTIFIED BY PASSWORD” como é o usual na criação de usuários comuns, isto porque a senha no arquivo debian.cnf já está encriptada.