批处理 mysql 5.7 生成Mysql连接SSL证书及生成ssl帐号及测试(Windows)


生成Mysql连接SSL证书.bat:

@setlocal enabledelayedexpansion
@echo off
color f0
@REM 生成证书(前提是安装了oponssl)
title 生成Mysql连接SSL证书

rem 下面为自定义参数可修改

set basedir=%~dp0
set bin=%~dp0\bin
cd /d %basedir%

IF EXIST %basedir%\ssl (
    echo ssl 目录存在
) else (
    md ssl
)
%basedir%bin\mysql_ssl_rsa_setup --datadir=%basedir%ssl
cd /d %basedir%ssl
openssl verify -CAfile ca.pem server-cert.pem client-cert.pem
if %errorlevel% == 0 (
    echo 测试成功
) else (
    echo 测试未成功、请检查openssl是否安装正确
    echo http://slproweb.com/products/Win32OpenSSL.html
)
:end
pause

生成ssl帐号及测试.bat

@setlocal enabledelayedexpansion
@echo off
color f0
title 强制修改root用户密码

rem 下面为自定义参数可修改
set mysqlServiceName=MySQL4506
set mysqlPort=4506
set rootPwd=test1
set sslUser=scm1
set sslPwd=scm
set sslIp=192.168.5.142

set basedir=%~dp0
set bin=%~dp0\bin
set tmpSql=!basedir!config.tmp
cd /d %~dp0

echo %tmpSql%

echo use mysql >%tmpSql% 
echo grant all privileges on *.* to %sslUser%@'%sslIp%' identified by '%sslPwd%' require ssl;>>%tmpSql%
echo flush privileges; >>%tmpSql% 
echo exit >>%tmpSql% 
 
::因为是交互式,所以从文件读取内容 
echo %bin%\mysql --host=localhost --user=root --password=%rootPwd% --port=%mysqlPort% --default-character-set=utf8 mysql<%tmpSql%
%bin%\mysql --host=localhost --user=root --password=%rootPwd% --port=%mysqlPort% --default-character-set=utf8 mysql<%tmpSql%

del %tmpSql% /F 

%bin%\mysql --host=%sslIp% --user=%sslUser% --password=%sslPwd% --ssl-cert=%basedir%ssl\client-cert.pem --ssl-key=%basedir%ssl\client-key.pem
pause 
exit