mysql mysql-error-1064 mysql-8.0

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



mysql-error-1064 mysql-8.0 (4)

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;


Escuché el mismo problema en centOS y esto me funcionó (versión: 8.0.11)

mysql> OTORGAR TODOS LOS PRIVILEGIOS EN . A raíz''@''%''


Esto funciono para mi

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