1 目前项目使用Mysql 5.6.49,对于漏洞,官方不在提供修复计划,目前只有升级到8.4.0最新版
2 测试环境,安装Mysql 8.4 ,可参考:
centos8.2 mysql 8.3 二进制版本安装_centos安装mysql8.3 二进制包-CSDN博客
#查看版本
#如果兼容之前版本的密码策略,增加默认配置
mysql 5.x 默认使用mysql_native_password
vim my.cnf
mysql_native_password=ON
#创建用户
create user test@'%' IDENTIFIED WITH mysql_native_password BY '密码';
flush privileges;
#mysql 8.x 默认使用caching_sha2_password
#创建用户
CREATE USER 'test2'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';
flush privileges;
# mysql 5.6 数据库导出,mysql 8.x 导入
/data/mysql/bin/mysql -uroot -P3306 -S /data/mysql/mysql.sock -p test < test.sql
3 研发驱动兼容性/功能测试
#启动后端应用报错
File "/usr/local/python3/lib/python3.7/site-packages/MySQLdb/connections.py", line 164, in __init__
super(Connection, self).__init__(*args, **kwargs2)
django.db.utils.OperationalError: (2059, "Authentication plugin 'sha256_password' cannot be loaded: /usr/lib64/mysql/plugin/sha256_password.so: cannot open shared object file: No such file or directory
")
Internal Server Error: /system/v1/todoList/
Traceback (most recent call last):
File "/usr/local/python3/lib/python3.7/site-packages/django/db/backends/base/base.py", line 217, in ensure_connection
self.connect()
File "/usr/local/python3/lib/python3.7/site-packages/django/db/backends/base/base.py", line 195, in connect
self.connection = self.get_new_connection(conn_params)
File "/usr/local/python3/lib/python3.7/site-packages/django/db/backends/mysql/base.py", line 227, in get_new_connection
return Database.connect(**conn_params)
File "/usr/local/python3/lib/python3.7/site-packages/MySQLdb/__init__.py", line 84, in Connect
return Connection(*args, **kwargs)
File "/usr/local/python3/lib/python3.7/site-packages/MySQLdb/connections.py", line 164, in __init__
super(Connection, self).__init__(*args, **kwargs2)
MySQLdb._exceptions.OperationalError: (2059, "Authentication plugin 'sha256_password' cannot be loaded: /usr/lib64/mysql/plugin/sha256_password.so: cannot open shared object file: No such file or direc
tory")
The above exception was the direct cause of the following exception:
数据库升级到8.4.0,之后需要开发 驱动型兼容测试,sql语句,语法等全面改造。
测试也参与全面功能测试。