Cómo otorgar todos los privilegios al usuario root en MySQL 8.0




mysql-error-1064 mysql-8.0 (3)

Intentó

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

Consiguiendo

ERROR 1064 (42000): Tiene un error en su sintaxis SQL; consulte el manual que corresponde a la versión de su servidor MySQL para conocer la sintaxis correcta para usar cerca de 'IDENTIFICADO POR' raíz 'CON OPCIÓN DE SUBVENCIÓN' en la línea 1.

Nota: lo mismo funciona cuando se prueba en MySQL 5.7

Tambien intentado

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

Consiguiendo

ERROR 1410 (42000): No se le permite crear un usuario con GRANT

MySQL (8.0.11.0) nombre de usuario / contraseña es root / root.


1) Esto funcionó para mí. Primero, crea un nuevo usuario. Ejemplo: como 'foo' con pw 'bar.enter código aquí

> mysql> CREATE USER 'foo'@'localhost' IDENTIFIED WITH mysql_native_password BY 'bar';

2) Reemplace el código de abajo con un nombre de usuario con 'foo'.

> mysql> GRANT ALL PRIVILEGES ON database_name.* TO'foo'@'localhost';

Nota: database_name es la base de datos en la que desea tener privilegios,. significa todo sobre todo

3) Entrar como usuario foo

mysql> mysql -u foo -p

Contraseña: bar

4) Asegúrese de que su conexión inicial de Sequelize esté configurada para foo con pw bar.


Comenzando con MySQL 8 ya no puede (implícitamente) crear un usuario usando el comando GRANT . Use CREATE USER en su lugar, seguido de la declaración GRANT :

mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'root';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

Esto funciono para mi

mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'password';

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;




mysql-8.0