django 连接mysql 报错 OperationalError: (2006, 'SSL connection error: SSL_CTX_set_tmp_dh failed')

django2.1.7 连接mysql 必须是mysql5.7,所以mysql5.5的时候会报错

需要将myql升级到mysql5.7:

mysql5.5->5.7

然而升级过后也有可能又能问题,问题在于

conda 安装的mysqlclient 1.3.14 与 mysql-connector-c  6.1.11 这两个插件和 openssl最新版本(1.1.1b)不兼容,报错(其实如果是本地连接,用localhost或者127.0.0.1是不会用到ssl的,所以也就不会有这个报错,但是如果是远程连接的话就会有了):

super(Connection, self).__init__(*args, **kwargs2)
django.db.utils.OperationalError: (2006, 'SSL connection error: SSL_CTX_set_tmp_dh failed')

所以有两个解决方式:

  1. 降级openssl版本(我懒得去降级)
  2. 关闭mysql5.7的openssl连接方式:
    在mysql的配置文件,一般是/ect/my.cnf中的【mysqld】模块进行设置:
    不过我这个mysql的配置是在:/etc/mysql/mysql.conf.d/mysqld.cnf,这种要根据目录中的配置文件查看后确定,在此模块下加入skip_ssl:
    django 连接mysql 报错 OperationalError: (2006, 'SSL connection error: SSL_CTX_set_tmp_dh failed')_第1张图片
    然后重启mysql:service mysql restart .

你可能感兴趣的:(linux,mysql,django)