Cuando conecto bases de datos MySQL en código fuente, como código Java o código Python. Encuentro un error que no encuentro cuando uso el software de la herramienta de cliente MySQL para conectarlo. El mensaje de error es Acceso denegado para el usuario 'root'@'localhost' (usando Contraseña:Sí) . Resolver este problema no es difícil, este ejemplo le dirá cómo hacerlo.
1. El motivo de acceso denegado.
- El motivo de este problema es que no concede ningún privilegio global al usuario.
- Entonces, después de otorgar la selección privilegio global para el usuario, entonces el problema se solucionará.
2. Cómo otorgar privilegios de selección de base de datos MySQL al usuario.
2.1 Otorgar privilegios al usuario a través de MySQL Workbench.
Si usa herramientas de cliente MySQL como MySQL Workbench para administrar la base de datos MySQL, siga los pasos a continuación.
2.1.1 Agregar privilegios globales.
- Abra MySQL Workbench, haga clic en Usuarios y privilegios elemento de menú en el panel izquierdo.
- Haga clic en el nombre de la cuenta de usuario en el panel central, luego haga clic en Funciones administrativas pestaña en el panel derecho.
- Luego marque SELECCIONAR casilla de verificación en Privilegios globales área.
- Haga clic en Aplicar botón para guardar los cambios.
2.1.2 Agregar privilegios de esquema.
- Si desea ejecutar un comando SQL en una tabla de base de datos de esquema especial, debe agregar privilegios de esquema relacionados del esquema (base de datos) a la cuenta de usuario.
- Abra MySQL Workbench, luego haga clic en Usuarios y privilegios elemento de menú en el panel izquierdo, luego haga clic en la cuenta de usuario en el panel central, luego haga clic en Privilegios de esquema pestaña en el panel derecho.
- Haga clic en Agregar entrada para abrir la ventana emergente de selección de esquema para seleccionar el esquema deseado.
- Luego, seleccione la casilla de verificación de privilegios relacionados (por ejemplo, SELECCIONAR , INSERTAR , ACTUALIZAR, y ELIMINAR casilla de verificación) para asignar los privilegios a la cuenta de usuario.
- Haga clic en Aplicar botón para guardar los cambios.
2.2 Cambiar privilegios de usuario por línea de comandos.
Si desea otorgar privilegios globales o de esquema a la cuenta de usuario de MySQL mediante la línea de comandos, siga los pasos a continuación.
2.2.1 Otorgar privilegios globales a la cuenta de usuario mediante la línea de comandos.
- Abra una terminal y ejecute el siguiente comando.
:~$ mysql -u root -p Enter password: mysql> GRANT SELECT ON *.* TO 'jerry'@'localhost' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec)
2.2.2 Otorgar privilegios de esquema especial a la cuenta de usuario.
- Abrir terminal ejecutar debajo del comando.
:~$ mysql -u root -p Enter password: mysql> GRANT SELECT,UPDATE,INSERT,DELETE ON dev2qa_example.* TO 'jerry'@'localhost'; Query OK, 0 rows affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON dev2qa_example.* TO 'jerry'@'localhost'; Query OK, 0 rows affected (0.00 sec)