在网上看了好多没看见系统的 navicat 使用ssl连接 docker + mysq教程,所以自己研究了一下,写个小demo。
首先 使用docker
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
我这里使用的是windows版的docker
进入容器
docker exec -it mysql /bin/sh
进入 /var/lib/mysql 目录 会发现MySQL已经提供了ssl登录是的ca证书、客户端证书、私钥。
首先创建一个需要使用ssl登录的用户
登录mysql mysql -u root -p
创建用户
GRANT ALL PRIVILEGES ON *.* TO 'ssltest'@'%' IDENTIFIED BY '123456' REQUIRE SSL;
退出容器 exit
将需要的ca证书、客户端证书、私钥拷贝出来
我拷贝到D盘
docker cp mysql:/var/lib/mysql/ca.pem d:/
docker cp mysql:/var/lib/mysql/client-cert.pem d:/
docker cp mysql:/var/lib/mysql/client-key.pem d:/
打开navicat配置刚才的证书
点击测试测试成功