ERROR 1044 (42000): Acceso denegado para el usuario '@'localhost' a la base de datos 'db'

Quiero empezar a escribir consultas en MySQL.

El programa show grants muestra:

+--------------------------------------+
| Grants for @localhost                |
+--------------------------------------+
| GRANT USAGE ON *.* TO ''@'localhost' |
+--------------------------------------+

No tengo ningún user-id pero cuando quiero hacer un usuario no tengo privillegios, además no sé cómo hacer privilegios cuando ni siquiera tengo un usuario.

mysql> CREATE USER 'parsa'@'localhost' IDENTIFIED BY 'parsa';
ERROR 1227 (42000): Access denied; you need (at least one of) the CREATE USER pr
ivilege(s) for this operation

He intentado iniciar sesión como root:

mysql> mysql -u root -p;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'mysql
 -u root -p' at line 1
mysql> mysql -u root -p root;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'mysql
 -u root -p root' at line 1
Solución

No, debes ejecutar mysql -u root -p en bash, no en la línea de comandos de MySQL. Si estás en mysql, puedes salir escribiendo exit.

Comentarios (7)

Es posible que tenga que configurar una cuenta raíz para su base de datos MySQL:

En la terminal escriba:

mysqladmin -u root password 'root password goes here'

Y luego para invocar el cliente MySQL:

mysql -h localhost -u root -p
Comentarios (2)

Tal vez quieras probar el comando de inicio de sesión completo:

mysql -h host -u root -p 

donde host sería 127.0.0.1.

Haga esto sólo para asegurarse de que la cooperación existe.

El uso de mysql -u root -p me permite hacer un montón de búsquedas en la base de datos, pero rechaza cualquier creación de base de datos debido a una configuración de ruta.

Comentarios (0)