Não é possível renomear usuário root do MySQL

1

Como parte do fortalecimento da segurança, eu queria remover / renomear o usuário root do mysql. Ao tentar obter um error mysql.procs_priv doesn't exist. Qual é o significado de 'mysql.procs_priv'? É obrigatório ter essa tabela no mysql db? Existe algum efeito colateral se eu usar a consulta UPDATE para alterar o nome de usuário (parece que o usuário é uma tabela como qualquer outra tabela no banco de dados)?

mysql> RENAME USER root TO newroot;
ERROR 1146 (42S02): Table 'mysql.procs_priv' doesn't exist
mysql> show tables;
+-----------------+
| Tables_in_mysql |
+-----------------+
| columns_priv    | 
| db              | 
| func            | 
| host            | 
| tables_priv     | 
| user            | 
+-----------------+
6 rows in set (0.00 sec)

mysql> 
    
por Renjith 24.03.2015 / 14:13

1 resposta

2

Para renomear o mysql root user para newroot , siga os seguintes passos. Eu testei aqui!

  1. Faça login como root primeiro usando mysql -u root -p
  2. grant all privileges on *.* to 'tempuser'@'localhost' IDENTIFIED BY 'somepass';
  3. flush privileges;
  4. quit
  5. Faça login novamente como tempuser da seguinte forma: mysql -u tempuser -psomepass
  6. update mysql.user set user='newroot' where user = 'root';
  7. quit
  8. Faça login novamente como mysql -u newroot -p e use a senha original de root s.
por 24.03.2015 / 14:39

Tags