自动化开启脚本以及 allowPublicKeyRetrieval=true 问题。

一、自动化脚本:

由于么每次在学习黑马点评时都得到各个地方开启各种软件,烦。所以有了以下脚本:

@echo off
title 一键启动开发环境
echo 正在启动开发环境组件,请稍候...

:: 启动 MySQL 服务(前提是已经以服务方式安装)
echo 启动 MySQL...
net start MySQL80

:: 启动 Redis
echo 启动 Redis...
start "" "D:\develop\Redis-x64-3.2.100\redis-server.exe" "D:\develop\Redis-x64-3.2.100\redis.windows.conf"

:: 启动 Nginx
echo 启动 Nginx...
cd /d "D:\My Java Code\nginx-hmdp"
start "" nginx.exe -c "D:\My Java Code\nginx-hmdp\conf\nginx.conf"


:: 启动 IDEA
echo 启动 IntelliJ IDEA...
start "" "C:\Program Files\JetBrains\IntelliJ IDEA 2023.3.2\bin\idea64.exe"

echo 所有服务已尝试启动,请检查终端窗口输出是否有错误。
pause

而在该过程中解决了一个之前一直理解错误的问题,有关mysql连接与allowPublicKeyRetrieval=true的问题。

二、mysql与allowPublicKeyRetrieval=true

在之前学习过程中,每次运行项目前端->后端->mysql这样请求数据时,都报mysql相关错误:
“com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Public Key Retrieval is not allowed”。
而我之前一直没有细看,认为是没有开启mysql数据库。而我之前一直认为使用datagrip就会顺变开启数据库(实际不会开启,datagrip只会连接。而只要使用过datagrip查过表,上述错误就会解决)。实际是JDBC 驱动版本 与 MySQL 8.0+ 默认认证方式不兼容 的问题。

解决方法:加上allowPublicKeyRetrieval=true

    #url: jdbc:mysql://127.0.0.1:3306/hmdp?useSSL=false&serverTimezone=UTC
    url: jdbc:mysql://127.0.0.1:3306/hmdp?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true

另外,需要注意allowPublicKeyRetrieval=true带来的安全问题,一般来说只要不将mysql端口暴露就没事。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇