no se puede crear la base de datos debido acceso denegado

10

Acabo de iniciar sesión en Ubuntu 12.04 como usuario normal (vivek) y abrí el terminal para crear una base de datos, escribí:

create database Hello;

y el error que tuve es:

ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'vivek'

Si inicio sesión como usuario root, incluso MySQL no se abre y tiene el mensaje de error:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Qué hacer ahora.

viveksinghggits
fuente
1
¿Qué comando usaste para conectarte a MySQL?
Parto
Acabo de escribir mysql para conectarme a MySQL
viveksinghggits

Respuestas:

12

Para iniciar sesión en MySQL como usuario root, puede usar:

mysql -u root -p

y luego ingrese su contraseña de MySQL.


Para iniciar sesión como otro usuario, primero deberá crear ese usuario y otorgarle privilegios.

Cree el usuario utilizando: cambie newuserel nombre de usuario que desee y passwordla contraseña que elija.

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

Lamentablemente, en este momento newuserno tiene permisos para hacer nada con las bases de datos.
Por lo tanto, la primera etapa es otorgar al usuario los privilegios para hacer "cosas".
Para otorgar todos los privilegios (seleccionar, crear, eliminar, actualizar, descartar, etc.) en todas las bases de datos y tablas, ejecute:

GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';

Para otorgar un privilegio específico en una base de datos y tabla en particular, simplemente ejecute:

GRANT [type of privilege] ON [database name].[table name] TO '[username]'@'localhost';

Si alguna vez necesita negar o revocar un cierto privilegio, simplemente ejecute:

REVOKE [type of permission] ON [database name].[table name] FROM '[username]'@'localhost';

Fuente: https://www.digitalocean.com/community/articles/how-to-create-a-new-user-and-grant-permissions-in-mysql

Parto
fuente
Gracias amigo ... Me ayudó
viveksinghggits
1

abra el mysql en modo guardar

sudo mysqld_safe --skip-grant-tables

===============================

iniciar sesión en mysql como usuario root

mysql -u root

===============================

conceder todos los privilegios para que a / c

GRANT ALL PRIVILEGES ON `%`.* TO 'root'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Creo que esto también funcionará ...

Sudip Das
fuente