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;