Continuamente estoy recibiendo este error.

Estoy usando mySQL Workbench y de lo que me estoy encontrando es que la raíz del esquema de privilegios son nulos. No hay privilegios.

Estoy teniendo problemas a través de plataformas que mi servidor es utilizado para y esto ha sido todo de un repentino problema.

[email protected], al parecer, tiene mucho de acceso, pero estoy conectado, pero sólo se asigna a localhost de todos modos – localhost no tiene privilegios.

He hecho un par de cosas como FLUSH HOSTS, FLUSH PRIVILEGES, etc
pero no han encontrado el éxito de ese o de la internet.

¿Cómo puedo obtener la raíz de su acceso en la espalda? Me parece que esto es frustrante, porque cuando miro a mi alrededor la gente espera que «tener acceso» pero yo no tengo acceso, así que no puede ir en la línea de comandos ni nada y GRANT a mí mismo nada.

Cuando se ejecuta SHOW GRANTS FOR root esto es lo que obtengo a cambio:

Código De Error: 1141. No hay tal concesión definido por el usuario ‘root’ en
host ‘%’

Gracias a cualquiera que pueda proporcionar ayuda

  • Ejecutar SHOW GRANTS FOR root en una consulta, para publicar el resultado en su pregunta.
  • Estás intentando acceder a la base de datos desde el host local o desde otro host usando MySQL Workbench?
  • reiniciar el servidor con la opción –skip-grant-mesa y de inicio de sesión con cualquier usuario, y proporcionar a todos los privilegios a root y reiniciar de nuevo el servidor sin la opción de arriba.
  • no, es en un servidor dedicado que estoy utilizando.
  • Lo siento, no estoy seguro de que yo iba a hacer eso?
  • El problema no es de olvidar la contraseña, pero todos los privilegios que se establecen en localhost y estás intentando acceder a la base de datos desde otro equipo (NO el host local)?
  • Lo siento Andy, para ser más claro, estoy acceso a banco de carpintero/a sql server desde el servidor. Puedo ejecutar mysqld en un servidor dedicado que también me permite conectarse a ella; como un equipo real. Dicho esto, estoy localhost. No olvidar la contraseña, y no hay una contraseña. También, los privilegios de la demanda se establezca en 127.0.0.1 pero me obliga de nuevo a localhost. prntscr.com/1ilmnj – mientras se está conectando a 127.0.0.1 se máscaras de mí por los privilegios de localhost, que no tiene opciones de las SUBVENCIONES.

InformationsquelleAutor Chase | 2013-07-31

16 Comentarios

  1. 38

    Uso las instrucciones para restablecer la contraseña de root pero, en lugar de restablecer la contraseña de root, vamos a ir a la fuerza INSERTAR un registro en mysql.tabla de usuario

    En el archivo init usar este en lugar

    INSERT INTO mysql.user (Host, User, Password) VALUES ('%', 'root', password('YOURPASSWORD'));
    GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION;
    • Lo siento Andy, pero cuando llego al paso 6 sigo corriendo en un problema. Ya hice uso de un asistente de instalación, yo estaría utilizando "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 Todo está donde se supone que debe ser y lo que tiene más arriba, me hizo poner en el archivo que corresponda. Tengo el servicio de detener así. Acabo de conseguir este resultado: prntscr.com/1ilxau Y todo (plugins) de apagado. Realmente confuso.
    • estás ejecutando este como administrador?
    • En mi estupidez, sorpresa, no lo era. Después me fue, tengo esto prntscr.com/1imcnj – La primera vez que lo hice en sus propias líneas (de pegar) luego puse todo en una línea. Lo siento, esto es tan confuso para mí, no es el experto en sql per se.
    • dan: ERROR 1054 (42S22): Unknown column 'Password' in 'field list' de error. @AndyJones
    • Estoy consiguiendo : Unknown column ‘Contraseña’ in ‘field list’
    • El uso de «Authentication_string» en lugar de la contraseña

  2. 34

    Si tiene el mismo problema en MySql 5.7.+ :

    Access denied for user 'root'@'localhost'

    es porque MySql 5.7 por defecto permite conectar con el zócalo, lo que significa que usted sólo tiene que conectar con sudo mysql. Si ejecuta sql :

    SELECT user,authentication_string,plugin,host FROM mysql.user;

    entonces usted verá que :

    +------------------+-------------------------------------------+-----------------------+-----------+
    | user             | authentication_string                     | plugin                | host      |
    +------------------+-------------------------------------------+-----------------------+-----------+
    | root             |                                           | auth_socket           | localhost |
    | mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
    | mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
    | debian-sys-maint | *497C3D7B50479A812B89CD12EC3EDA6C0CB686F0 | mysql_native_password | localhost |
    +------------------+-------------------------------------------+-----------------------+-----------+
    4 rows in set (0.00 sec)

    Para permitir la conexión con root y la contraseña, luego de la actualización de los valores de la tabla con el comando :

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Current-Root-Password';
    FLUSH PRIVILEGES;

    A continuación, ejecute el comando select de nuevo y verás que ha cambiado :

    +------------------+-------------------------------------------+-----------------------+-----------+
    | user             | authentication_string                     | plugin                | host      |
    +------------------+-------------------------------------------+-----------------------+-----------+
    | root             | *2F2377C1BC54BE827DC8A4EE051CBD57490FB8C6 | mysql_native_password | localhost |
    | mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
    | mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
    | debian-sys-maint | *497C3D7B50479A812B89CD12EC3EDA6C0CB686F0 | mysql_native_password | localhost |
    +------------------+-------------------------------------------+-----------------------+-----------+
    4 rows in set (0.00 sec)

    Y eso es todo. Puede ejecutar este proceso después de correr y completar el sudo mysql_secure_installation comando.

    • A mí me funciona, gracias.
  3. 31

    Que no le gusta mi privilegios de usuario, así que yo SUDO de ella.
    (en bash << sudo conjunto de usuario y contraseña)
    (esto le da el nombre de usuario root y establece la contraseña para nada)
    (En Mac)

    sudo mysql -uroot -p
  4. 20

    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> 
    • En MySQL 5.7, el campo de contraseña en mysql.tabla de usuario campo fue eliminado, ahora el nombre del campo es ‘authentication_string’.
    • gracias a su trabajo muy bien para mí !
    • para la versión más reciente de mysql cambiaron la contraseña del nombre de la columna como authentication_string
    • sudo mysqld_safe me metió este /var/run/mysqld for UNIX socket file don't exists, a continuación, después de mkdir -p /var/run/mysqld y sudo chown -R mysql:mysql /var/run/mysqld/ funcionó y comenzó el demonio.
  5. 13

    para las personas que se enfrentan a la siguiente mensaje de error en mysql 5.7+ versión –

    Access denied for user 'root'@'localhost' (using password: YES)
    1. Abre 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 skipp todas las subvenciones y privilegios del nivel de inicio de mysql en modo seguro
      A veces el proceso consiguió pegado sólo porque de

    grep: error de escritura: tubería Rota
    180102 11:32:28 mysqld_safe Registro/var/log/mysql/error.registro’.

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

    1. mysql -u root

    La bienvenida a la MySQL monitor. Los comandos terminan con ; o \g.
    Su conexión de MySQL id es 2
    La versión del servidor: 5.7.8-rc Comunidad de MySQL Server (GPL)

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

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

    Tipo de ayuda para’;’ o ‘\h’ para ayudar. Type ‘\c’ para borrar la entrada actual de la declaración.

    1. mysql> use mysql;

    La lectura de la información de la tabla para la finalización de los nombres de tabla y columna
    Puede desactivar esta función para obtener una más rápida de inicio con Un

    De la base de datos ha cambiado

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

    2. mysql> flush privileges;
      Query OK, 0 rows affected (0.00 sec)

    3. mysql> quit
      Bye

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

    ..180102 11:37:12 mysqld_safe mysqld del pid archivo /var/run/mysqld/mysqld.pid terminó
    .
    * Comunidad de MySQL Server 5.7.8-rc se detiene
    [email protected]:~$ sudo /etc/init.d/mysql start
    ..
    * Comunidad de MySQL Server 5.7.8-rc se inicia

    1. mysql -u root -p

      Escriba la contraseña:

      La bienvenida a la MySQL monitor. Los comandos terminan con ; o \g.
      Su conexión de MySQL id es 2
      La versión del servidor: 5.7.8-rc Comunidad de MySQL Server (GPL)

    después de mysql 5.7+ versión de la columna contraseña reemplazado por el nombre de authentication_string de mysql.tabla de usuario.

    espero que estos pasos le ayudarán a cualquier persona, gracias.

    • Paso 6 trabajado para mí….!
  6. 2

    Me enfrenté a este problema, mientras que la instalación de Testlink en Ubuntu server, he seguido estos pasos

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

    Ahora detener la instancia y empezar de nuevo yo.e

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

    Bien la forma más fácil para restablecer la contraseña de root es:

    • reiniciar mysqld –skip-grant-tables opción. Esto permite a cualquier persona
      conectar sin contraseña y con todos los privilegios. Debido a que este es
      inseguro, usted podría querer usar –skip-grant-tables en conjunto
      con –skip-networking para evitar que los clientes remotos se conecten.

    • Conectar con el servidor mysqld con este comando:

    • shell> mysql Cuestión de las siguientes declaraciones en el cliente de mysql.
      Reemplazar la contraseña con la contraseña que usted desea utilizar.

    • mysql> ACTUALIZACIÓN de mysql.user SET Password=Password(‘MyNewPass’)
      -> where User=’root’; mysql> FLUSH PRIVILEGES;

    • Detener el servidor, a continuación, reinicie normalmente (sin la opción –skip-grant-tables y –skip-networking options).

    Fuente de documentación de Mysql y la experiencia personal:

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

  8. 1

    He trabajado en Access Denied for User ‘root’@’localhost’ (utilizando password: YES) durante varias horas, he encontrado 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
    • Sí, Es trabajo para mí
  9. 0

    Pruebe los siguientes pasos para superar este problema:

    1. Terminal abierto /símbolo del sistema y vaya a la carpeta bin de la carpeta de instalación de MySQL. A continuación, ejecute el comando mysqld --console.
    2. Si usted puede ver que la línea de 171010 14:58:22 [Note] --secure-file-priv se establece en NULL. Las operaciones relacionadas con la importación y exportación de datos están desactivados, después de ejecutar el comando desde el símbolo del sistema.
    3. Entonces usted necesita para comprobar que el mysqld es bloqueado por el Firewall de Windows u otro programa.
    4. Si es bloqueado por el Firewall de Windows, a continuación, tiene que desbloquear de ella y guardar los ajustes.
    5. Para desbloquear el mysqld o mysql aplicación, siga los pasos a continuación:
      1. Ir 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 una característica a través de Firewall de Windows.
      3. Comprobar la mysqld o mysqld instancias están disponibles en la lista y marque la casilla de verificación para el dominio público y privado y guardar la configuración.
    6. Volver a la carpeta bin y pruebe el comando de nuevo el paso 1.
    7. Debería funcionar bien y no muestra errores.

    Debe ser posible ejecutar la consola de MySQL sin problemas ahora!

  10. 0

    He resuelto el mismo problema utilizando la siguiente sql y reiniciar 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';
  11. 0

    No creo que usted tiene que escapar de la --init-file parámetro:

    "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

    Debe 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

  12. 0

    para el problema anterior ur contraseña en el sistema debe coincidir con la contraseña u han pasado en el programa porque cuando u ejecutar el programa comprueba la contraseña del sistema como u han dado a root como usuario y así da u 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());
            }
        }
    }

    Mantener ur contraseña del sistema como jacob234 y, a continuación, ejecute el código.

  13. 0

    He resuelto el mismo problema mediante la ejecución de banco de trabajo como administrador.

    …Supongo que es debido a las restricciones en los ordenadores de la empresa, en mi caso…

  14. 0

    Conmigo era el mismo problema, pero fue causado, porque yo estaba usando el servidor mysql en 32 (bits) y el banco de trabajo se ejecuta en 64(bit) versión. el servidor y el banco de trabajo necesario tiene la misma versión.

    xpress

Dejar respuesta

Please enter your comment!
Please enter your name here