Eu estou tentando instalar o MySQL automaticamente usando os seguintes comandos:
echo 'mysql-server-5.5 mysql-server/root_password password some_password' | /usr/bin/debconf-set-selections
echo 'mysql-server-5.5 mysql-server/root_password_again password some_password' | /usr/bin/debconf-set-selections
export DEBIAN_FRONTEND=noninteractive
/usr/bin/apt-get install mysql-server-5.5 -y
No entanto, durante a instalação, recebo este erro:
Setting up mysql-server-5.5 (5.5.53-0+deb8u1) ...
161206 14:10:54 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
161206 14:10:54 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
161206 14:10:54 [Note] /usr/sbin/mysqld (mysqld 5.5.53-0+deb8u1) starting as process 12755 ...
Configuring mysql-server-5.5
----------------------------
Unable to set password for the MySQL "root" user
An error occurred while setting the password for the MySQL administrative
user. This may have happened because the account already has a password, or
because of a communication problem with the MySQL server.
You should check the account's password after the package installation.
Please read the /usr/share/doc/mysql-server-5.5/README.Debian file for more information.
Job for mysql.service failed. See 'systemctl status mysql.service' and 'journalctl -xn' for details.
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing package mysql-server-5.5 (--configure):
subprocess installed post-installation script returned error exit status 1
Isto está em um servidor novo, então eu não tenho certeza do porque isso está ocorrendo, como este post mostraria uma falha na instalação anterior com falhas.
Se eu fizer o login com --skip-grant-tables
e FLUSH PRIVILEGES
, crie um novo usuário, reinicie o mysql, o usuário trabalha para o login. Então a coisa mais estranha (eu acho) ocorre. Efetuando login com o novo usuário, usando o banco de dados mysql e selecionando todos os usuários, obtém uma linha sem nenhum usuário root e um usuário (que acabei de criar).
Esse script deve ser autodesployed, portanto, não posso simplesmente criar manualmente o usuário em todos os servidores.