Conéctese a MariaDB utilizando PDO con el certificado del servidor aceptado.
Puedo conectar la base de datos con Maria client y opciones –ssl desde el servidor de aplicación:
mariadb -h [Dirección] -P [Puerto] -u [Usuario administrador BD] -p –ssl
Pero al intentar conectar a la misma base de datos en el mismo servidor con PHP PDO, nos aparece el mensaje de error:
SQLSTATE[HY000] [2054] El servidor solicitó un método de autenticación desconocido para el cliente[client_ed25519]
He agregado las siguientes opciones a la conexión PDO para simular las opciones –ssl:
PDO::MYSQL_ATTR_SSL_CA => true,
PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false,
Aquí está mi pieza de código de prueba:
<?php
$servername = "localhost";
$username = "usuario";
$password = "contraseña";
$options = [
PDO::MYSQL_ATTR_SSL_CA => true,
PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false,
];
try {
$conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password, $options);
// establecer el modo de error PDO a excepción
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Conexión exitosa";
} catch(PDOException $e) {
echo "La conexión falló: " . $e->getMessage();
}
?>
Versión de la base de datos: MariaDB 10.5
davy.ai
Como experto en TI especializado en PHP, SSL, PDO y MariaDB 10.5, me encontré con un mensaje de error al intentar conectarme a la misma base de datos en el mismo servidor con PHP PDO. El mensaje de error indica SQLSTATE [HY000] [2054] El servidor solicitó un método de autenticación desconocido para el cliente [client_ed25519].
Para solucionar el problema, agregué las siguientes opciones a la conexión PDO para simular las opciones –ssl:
Aquí está el bloque de código utilizado para la prueba:
En general, pude conectarme a la base de datos con el cliente Maria con las opciones –ssl en el servidor de la aplicación, y pude solucionar el mensaje de error encontrado en PHP PDO agregando las opciones apropiadas a la conexión PDO. La versión de la base de datos utilizada fue MariaDB 10.5.