Acceso denegado para el usuario ‘root’ @ ‘localhost’ (usando la contraseña: YES) – Sin privilegios?

Estoy recibiendo continuamente este error.

Estoy usando mySQL Workbench y de lo que estoy descubriendo es que los privilegios de esquema de root son nulos. No hay privilegios en absoluto.

Estoy teniendo problemas en todas las plataformas para las que se usa mi servidor y esto ha sido un problema repentino.

root@127.0.0.1 aparentemente tiene acceso limitado, pero estoy conectado como tal, pero solo asigna a localhost de todos modos – localhost no tiene privilegios.

He hecho algunas cosas como FLUSH HOSTS, FLUSH PRIVILEGES, ect pero no he tenido éxito en eso o en Internet.

¿Cómo puedo recuperar Root su acceso? Encuentro esto frustrante porque cuando miro alrededor, la gente espera que tengas “acceso”, pero no tengo acceso, así que no puedo entrar en la línea de comando ni nada, y OTORGARME algo.

Cuando ejecuto SHOW GRANTS FOR root esto es lo que obtengo a cambio: Código de error: 1141. No hay ninguna concesión definida para el usuario ‘root’ en el host ‘%’

Gracias a cualquiera que pueda ayudar

Use las instrucciones para restablecer la contraseña de root , pero en lugar de restablecer la contraseña de root, vamos a INSERTAR forzosamente un registro en la tabla mysql.user

En el archivo de inicio, use esto en su lugar

 INSERT INTO mysql.user (Host, User, Password) VALUES ('%', 'root', password('YOURPASSWORD')); GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION; 

No me gustó mi privilegio de usuario, así que lo SUDO. (en bash << sudo establecer usuario y contraseña) (esto da nombre de usuario de root y establece la contraseña a nada) (En Mac)

 sudo mysql -uroot -p 

Pruebe los siguientes comandos

 ~$ sudo /etc/init.d/mysql stop ~$ sudo mysqld_safe --skip-grant-tables & ~$ mysql -u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 to server version: 4.1.15-Debian_1-log Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> mysql> use mysql; mysql> update user set password=PASSWORD("root") where User='root'; mysql> flush privileges; mysql> quit ~$ sudo /etc/init.d/mysql stop Stopping MySQL database server: mysqld STOPPING server from pid file /var/run/mysqld/mysqld.pid mysqld_safe[6186]: ended [1]+ Done mysqld_safe --skip-grant-tables ~$ sudo /etc/init.d/mysql start ~$ mysql -u root -p * MySQL Community Server 5.6.35 is started ~$ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.6.35 MySQL Community Server (GPL) Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> 

para las personas que enfrentan el siguiente error en la versión mysql 5.7+ –

 Access denied for user 'root'@'localhost' (using password: YES) 
  1. Abrir nueva terminal

  2. sudo /etc/init.d/mysql stop … MySQL Community Server 5.7.8-rc se detiene

  3. sudo mysqld_safe --skip-grant-tables & esto saltará todos los privilegios del nivel de concesión e iniciará el mysql en modo a prueba de errores A veces el proceso quedó atrapado solo por

grep: error de escritura: tubería rota 180102 11:32:28 mysqld_safe Inicio de sesión en ‘/var/log/mysql/error.log’.

Simplemente presione Ctrl + Z o Ctrl + C para interrumpir y salir del proceso

  1. mysql -u root

Bienvenido al monitor MySQL. Los comandos terminan con; o \ g. Su id. De conexión de MySQL es 2 Versión del servidor: 5.7.8-rc MySQL Community Server (GPL)

Copyright (c) 2000, 2015, Oracle y / o sus afiliados. Todos los derechos reservados.

Oracle es una marca registrada de Oracle Corporation y / o sus afiliados. Otros nombres pueden ser marcas registradas de sus respectivos dueños.

Escriba ‘ayuda’ o ‘\ h’ por ayuda. Escriba ‘\ c’ para borrar la statement de entrada actual.

  1. mysql> use mysql;

Lectura de información de la tabla para completar los nombres de tabla y columna Puede desactivar esta característica para obtener un inicio más rápido con -A

Base de datos cambiada

  1. mysql> update user set authentication_string=password('password') where user='root'; Consulta OK, 4 filas afectadas, 1 advertencia (0.03 seg) Filas coincidentes: 4 Modificado: 4 Advertencias: 1

  2. mysql> flush privileges; Consulta OK, 0 filas afectadas (0.00 seg)

  3. mysql> quit Bye

  4. sudo /etc/init.d/mysql stop

..180102 11:37:12 mysqld_safe mysqld del archivo pid /var/run/mysqld/mysqld.pid finalizado. * MySQL Community Server 5.7.8-rc se detiene arif @ ubuntu: ~ $ sudo /etc/init.d/mysql start .. * Se inicia MySQL Community Server 5.7.8-rc

  1. mysql -u root -p

    Introducir la contraseña:

    Bienvenido al monitor MySQL. Los comandos terminan con; o \ g. Su id. De conexión de MySQL es 2 Versión del servidor: 5.7.8-rc MySQL Community Server (GPL)

después de la versión mysql 5.7+, la contraseña de la columna se reemplazó por el nombre authentication_string de la tabla mysql.user.

Espero que estos pasos ayuden a cualquiera, gracias.

Una forma simple de restablecer la contraseña de root en sistemas Linux:

 sudo dpkg-reconfigure mysql-server-5.5 

Verifique otros motivos de Acceso denegado:

https://dev.mysql.com/doc/refman/5.7/en/problems-connecting.html

Bueno, la forma más fácil de restablecer la contraseña de root es:

  • reinicie mysqld –skip-grant-tables opción . Esto permite que cualquier persona se conecte sin una contraseña y con todos los privilegios. Como esto no es seguro, es posible que desee utilizar –skip-grant-tables junto con –skip-networking para evitar que los clientes remotos se conecten.

  • Conéctese al servidor mysqld con este comando:

  • shell> mysql Emita las siguientes declaraciones en el cliente mysql. Reemplace la contraseña con la contraseña que desea usar.

  • mysql> ACTUALIZAR mysql.user SET Password = PASSWORD (‘MyNewPass’) -> WHERE Usuario = ‘root’; mysql> FLUSH PRIVILEGES;

  • Detenga el servidor, luego reinícielo normalmente (sin las opciones –skip-grant-tables y –skip-networking).

Documentación de Source Mysql y experiencia personal:

http://dev.mysql.com/doc/refman/5.6/en/resetting-permissions.html

Trabajé en Acceso denegado para el usuario ‘root’ @ ‘localhost’ (usando la contraseña: YES) durante varias horas, encontré la siguiente solución,

 The answer to this problem was that in the my.cnf located within /etc/mysql/my.cnf the line was either bind-address = 127.0.0.1 (or) bind-address = localhost (or) bind-address = 0.0.0.0 I should prefer that 127.0.0.1 I should also prefer 0.0.0.0, it is more flexible because which will allow all connections 

para el problema anterior su contraseña en el sistema debe coincidir con la contraseña que ha pasado en el progtwig porque cuando ejecuta el progtwig, comprueba la contraseña del sistema, ya que ha dado una raíz como usuario, por lo que le da un error y al mismo tiempo el registro no se elimina de la base de datos.

 import java.sql.DriverManager; import java.sql.Connection; import java.sql.Statement; import java.sql.ResultSet; class Delete { public static void main(String []k) { String url="jdbc:mysql://localhost:3306/student"; String user="root"; String pass="jacob234"; try { Connection myConnection=DriverManager.getConnection(url,user,pass); Statement myStatement=myConnection.createStatement(); String deleteQuery="delete from students where id=2"; myStatement.executeUpdate(deleteQuery); System.out.println("delete completed"); }catch(Exception e){ System.out.println(e.getMessage()); } } } 

Mantenga su contraseña del sistema como jacob234 y luego ejecute el código.

Pruebe los siguientes pasos para superar este problema:

  1. Abra la terminal / símbolo del sistema y navegue a la carpeta bin de la carpeta de instalación de MySQL. Luego ejecute el comando mysqld --console .
  2. Si puede ver esa línea 171010 14:58:22 [Note] --secure-file-priv está establecido en NULL. Las operaciones relacionadas con la importación y exportación de datos están deshabilitadas, después de ejecutar el comando anterior desde el símbolo del sistema.
  3. Luego debe verificar que mysqld esté bloqueado por el Firewall de Windows u otro progtwig.
  4. Si está bloqueado por Firewall de Windows, entonces necesita desbloquearlo y guardar la configuración.
  5. Para desbloquear la aplicación mysqld o mysql , siga los pasos a continuación:
    1. Vaya al símbolo del sistema y escriba wf.msc para abrir la configuración del firewall.
    2. Haga clic en Permitir una aplicación o función a través de Firewall de Windows.
    3. Compruebe que las instancias mysqld o mysqld estén disponibles en la lista y marque la checkbox del dominio, público y privado, y guarde la configuración.
  6. Regrese a la carpeta bin e intente de nuevo el comando del paso 1.
  7. Debería funcionar bien y no mostrar ningún error.

¡Debería ser posible ejecutar la consola MySQL sin problemas ahora!

Resolví el mismo problema usando el siguiente sql y reiniciando el servidor MySQL:

 update mysql.user set Select_priv='Y',Insert_priv='Y',Update_priv='Y',Delete_priv='Y',Create_priv='Y',Drop_priv='Y',Reload_priv='Y',Shutdown_priv='Y',Process_priv='Y',File_priv='Y',Grant_priv='Y',References_priv='Y',Index_priv='Y',Alter_priv='Y',Show_db_priv='Y',Super_priv='Y',Create_tmp_table_priv='Y',Lock_tables_priv='Y',Execute_priv='Y',Repl_slave_priv='Y',Repl_client_priv='Y',Create_view_priv='Y',Show_view_priv='Y',Create_routine_priv='Y',Alter_routine_priv='Y',Create_user_priv='Y',Event_priv='Y',Trigger_priv='Y',Create_tablespace_priv='Y' where user='root'; 

No creo que tengas que escapar del parámetro --init-file :

"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\\Program Files\\MySQL\\MySQL Server 5.6\\my.ini" --init-file=C:\\mysql-init.txt

Debiera ser:

"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\\Program Files\\MySQL\\MySQL Server 5.6\\my.ini" --init-file=C:\mysql-init.txt

Resolví el mismo problema ejecutando Workbench como administrador.

… Supongo que es por restricciones en las computadoras de la compañía, en mi caso …

Enfrenté este problema al instalar Testlink en el servidor de Ubuntu, seguí estos pasos

 mysql -u root use mysql; update user set password=PASSWORD("root") where User='root'; flush privileges; quit 

Ahora detenga la instancia y comience nuevamente, es decir

 sudo /etc/init.d/mysql stop sudo /etc/init.d/mysql start 

en mysql 5.7 el campo de contraseña ha sido reemplazado con authentication_string por lo que harías algo como esto en su lugar

 update user set authentication_string=PASSWORD("root") where User='root'; 

Ver este enlace El DB de usuario MySQL no tiene columnas de contraseña – Instalar MySQL en OSX

Intereting Posts