Red de conocimiento informático - Aprendizaje de programación - mysql dos métodos de conexión y conexión SSL, autenticación x509

mysql dos métodos de conexión y conexión SSL, autenticación x509

Las conexiones Mysql se pueden dividir en dos tipos: conexiones de socket y conexiones TCP|IP.

[root@localhost bin]# mysql -uroot -p123456 -S/tmp/mysql.sock

-S/tmp/mysql.sock se puede omitir porque los parámetros predeterminados son de la siguiente manera:

Si hay algo más en el archivo sock, no se puede omitir más adelante y es necesario especificarlo.

mysql -h127.0.0.1 -P3306 -uroot -p123456

Entonces la pregunta es, ¿cómo saber el método de conexión de la conexión actual?

Para ver el modo de conexión actual, use el comando \s o status

Conexión: Localhost a través del socket UNIX significa usar el socket para la conexión local

SSL: No en no se utiliza SSL

Conexión: 127.0.0.1 vía TCP/IP Conexión remota mediante protocolo TCP/IP

SSL: El cifrado en uso es ECDHE-RSA-AES128-GCM-SHA256 cifrado SSL usado

Mysql5.7 usa SSL para la comunicación de forma predeterminada.

/s genera SSL: No en uso, lo que indica que la conexión SSL no se utiliza actualmente.

Mire el archivo error.log nuevamente y hay una disminución: no se pudo configurar SSL debido al siguiente error de liberación de SSL: el contexto SSL no se puede utilizar sin certificado y clave privada. El archivo de clave pública no existe, por lo que no se puede habilitar la conexión SSL.

1. Ingrese al directorio bin y ejecute el comando: mysql_ssl_rsa_setup en el directorio raíz /data para generar el archivo de clave *.pem relevante.

2. Autorice chown mysql para el archivo pem recién generado: mysql *.pem

3. /etc/init.d/mysqld restart Reinicie mysql

4. Ingrese el comando cliente para ejecutar \s

Cuando se utiliza una conexión remota IP/TCP, \s genera SSL: el cifrado en uso es ECDHE-RSA-AES128-GCM-SHA256. Indica que se ha utilizado cifrado SSL.

Si utiliza socket para la conexión local, no se utilizará el cifrado SSL. \sSalida SSL: No en uso;

Porque activar SSL puede tener un impacto en el rendimiento.

Si no desea utilizar conexiones de inicio de sesión cifradas SSL, puede utilizar el siguiente comando para desactivarlas: mysql -h127.0.0.1 -uroot -p123456 --ssl-mode=DISABLED

Forzar un usuario para usar SSL

Después de eso, el usuario David debe usar SSL para iniciar sesión; de lo contrario, se informará el error de la siguiente manera:

Cancelar el uso forzado de SSL por parte de un usuario

Sobre la base de activar SSL, la autenticación x509 también obliga a los usuarios especificados a utilizar los certificados y archivos de clave client-cert.pem y client-key.pem para iniciar sesión; de lo contrario, no podrán iniciar sesión. x509 es el mecanismo de autenticación de más alto nivel para MySQL.

Se han generado ocho archivos *.pem en el directorio raíz de datos

Exporte client-cert.pem y client-key.pem

de la siguiente manera. y luego inicie sesión con el comando anterior. Descubrí que no podía iniciar sesión.

Si desea iniciar sesión en este momento, debe especificar el archivo SSL CERT y el archivo de clave SSL en el cliente, de la siguiente manera en navicat

En mysql workbench