我使用
我尝试使用docker运行MySQL。
docker-compose看起来像这样:
version: "3"
services:
smartsense-db:
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: 'password'
ports:
- "3306:3306"
volumes:
- ./db_config:/etc/mysql/mysql.conf.d
- ./sql:/docker-entrypoint-initdb.d
当我尝试通过liquibase连接到mysql时:
liquibase \
--driver=com.mysql.cj.jdbc.Driver \
--classpath=lib/mysql-connector-java-8.0.19.jar \
--changeLogFile=changelog/db.changelog-1.0.xml \
--url="jdbc:mysql://localhost:3306/dbname?nullNamePatternMatchesAll=true&useLegacyDatetimeCode=false&serverTimezone=UTC" \
--username=root --password=password update
它给了我以下错误:
原因:javax.net.ssl.SSLHandshakeException:不适当 协议,可能没有指定适当的密码套件或协议 在com.ibm.jsse2.D.c(D.java:91)处被停用 com.ibm.jsse2.av.i(av.java:444)上的com.ibm.jsse2.av.j(av.java:332) 在com.ibm.jsse2.av.a(av.java:1009)处 com.ibm.jsse2.av.startHandshake(av.java:778)位于 com.mysql.cj.protocol.ExportControlled.performTlsHandshake(ExportControlled.java:336) 在 com.mysql.cj.protocol.StandardSocketFactory.performTlsHandshake(StandardSocketFactory.java:188) 在 com.mysql.cj.protocol.a.NativeSocketConnection.performTlsHandshake(NativeSocketConnection.java:99) 在 com.mysql.cj.protocol.a.NativeProtocol.negotiateSSLConnection(NativeProtocol.java:329)
也在docker-compose日志上,我看到错误:[Note] Bad handshake
当我使用mysql版本5.6而不是5.7时有效