MySQL 8 usa una autenticación diferente que sus antecesores, que hasta el momento no es aceptada por PHP 7, que genera el error "El servidor solicitó un método de autenticación desconocido para el cliente" al conectarse a Scriptcase.
Primero, debe crear un nuevo usuario, porque como el usuario actual de MySQL usa de manera predeterminada el tipo de autenticación caching2_sha2_password, la conexión no se realizará con él.
Crearemos el nuevo usuario utilizando la autenticación anterior para hacer posible la conexión.
Después de esta configuración, deberá cambiar el tipo de autenticación predeterminado de MySQL.
Para realizar este cambio, debe seguir el tutorial de error al conectarse a la base de datos MySQL8.
Creación de un usuario utilizando algunas herramientas de gestión de bases de datos.
Si está utilizando algunas de estas herramientas a continuación, le mostraremos cómo crear un nuevo usuario para su MySQL a través de ellas.
1. Abra el Navicat y conéctese a un servidor de base de datos deseado.
2. Abra la conexión con cualquier base de datos en este servidor.
3. Abra la ventana de ejecución de comandos SQL, en "Query> New Query".
4. Ejecute estos 3 comandos SQL a continuación, en orden.
Comando para crear el nuevo usuario con la autenticación anterior:
CREATE USER newuser@"%" IDENTIFIED WITH mysql_native_password BY 'password';
Comando para garantizar permisos al nuevo usuario:
GRANT ALL PRIVILEGES ON *.* TO "newuser"@"%";
FLUSH PRIVILEGES;
1- Para conectarse a un servidor de base de datos mediante SQLyog, escriba los comandos en la pestaña "Consulta" y ejecútelos.
Comando para crear el nuevo usuario con la autenticación anterior:
CREATE USER newuser@"%" IDENTIFIED WITH mysql_native_password BY 'password';
Comando para garantizar permisos al nuevo usuario:
GRANT ALL PRIVILEGES ON *.* TO "newuser"@"%";
FLUSH PRIVILEGES;
1- Abra una conexión con un servidor de base de datos o cree una nueva conexión.
2- Escriba los comandos en la pestaña "Consulta" y ejecútelos.
Comando para crear el nuevo usuario con la autenticación anterior:
CREATE USER newuser@"%" IDENTIFIED WITH mysql_native_password BY 'password';
Comando para garantizar permisos al nuevo usuario:
GRANT ALL PRIVILEGES ON *.* TO "newuser"@"%";
FLUSH PRIVILEGES;
CMD/TERMINAL
1. Acceda a MySQL a través de la Terminal.
Linux: Abra la terminal y use el comando MySQL pasando los parámetros para hacer la conexión.
-h = Servidor Ip (No se requiere si está en la misma máquina)
-P = Puerto del servidor (No se requiere si está en la misma máquina, )
-u = Usuario (obligatorio)
-p = Contraseña (obligatorio)
Windows: si no está utilizando la aplicación para abrir directamente el terminal MySQL, deberá navegar a la carpeta MySQL.
cd "c:\Program Files\MySQL\MySQL Server{Your version}\bin"
2. Luego crea un nuevo usuario de MySQL con la autenticación MySQL anterior.
El comando mysql_native_password es el que debe usarse.
Comando para crear el nuevo usuario con la autenticación anterior:
CREATE USER newuser@"%" IDENTIFIED WITH mysql_native_password BY 'password';
Comando para garantizar permisos al nuevo usuario:
GRANT ALL PRIVILEGES ON *.* TO "newuser"@"%";
FLUSH PRIVILEGES;
3. En el Scriptcase, al crear la conexión a MySQL, informe los nuevos datos del usuario.
Para nuevas instalaciones de MySQL
Para instalaciones nuevas, podemos seleccionar el tipo de nuestra autenticación.
En este caso, debemos seleccionar "Use Legacy Authentication Method (Retain MySQL 5.x Compatibility)"
Instalando MySQL con esta opción seleccionada, la conexión a Scriptcase se puede crear sin ningún problema.