MySQL 5.7.18 加密连接mysql(2)

强制某用户必须使用SSL连接数据库

#修改已存在用户 mysql> ALTER USER 'dba'@'%' REQUIRE SSL; #新建必须使用SSL用户 mysql> grant select on *.* to 'dba'@'%' identified by 'xxx' REQUIRE SSL;

#对于上面强制使用ssl连接的用户,如果不是使用ssl连接的就会报错,像下面这样:

[root@001 mysql] mysqll -h 10.126.xxx.xxx -u dba -p --ssl   Enter password: ERROR 1045 (28000): Access denied for user 'dba'@'10.126.xxx.xxx' (using password: YES)

四、未使用SSL和使用SSL安全性对比

【测试方式】在MySQL服务器端通过tshark抓包的方式来模拟窃取数据。验证、对比未使用SSL和使用SSL两者在安全性上有什么不同?

1.未使用SSL情况:

         在客户端机器(10.126.126.161)上连接数据库并进行insert操作,使用--ssl-mode=DISABLED关闭SSL

         同时在MySQL服务器端(10.126.126.160)上用tshark进行抓包:

【结论】未使用SSL情况下,在数据库服务器端可以通过抓包的方式获取数据,安全性不高。

    2.采用SSL情况:   

      在客户端机器(10.126.126.161)上连接数据库并进行insert操作,使用--ssl-mode=REQUIRED指定SSL

      同时在MySQL服务器端(10.126.126.160)上再次用tshark进行抓包:

【结论】没有抓到该语句,采用SSL加密后,tshark抓不到数据,安全性高。

五、使用SSL前后性能对比(QPS)

服务器配置:CPU:32核心       内存:128G      磁盘:SSD

为了尽量准确测试QPS,采用全内存查询,因为我们线上热点数据基本都在内存中;按照并发线程数分类:1线程、4线程、8线程、16线程、24线程、32线程、64线程;

具体数据如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/e7786ce1af3dd0c5c3747924eaa09825.html