解决 SQLyog 连接 MySQL 8 连不上和 SQLyog Trial 试用到期的问题

今天发现 SQLyog 突然连不上 MySQL 了,跟之前不一样的地方就是我升级了 MySQL,升级到了 MySQL 8。

原来是因为 MySQL 8 引入了新的密码验证机制。在 MySQL 8 中默认的密码验证插件从 mysql_native_password 更换为 caching_sha2_password。我的 SQLYog 版本是 12.3.1,并不支持。

其实可以通过更改 MySQL 中的密码验证方式来解决:

        1、在服务器登录到 MySQL 数据库,使用管理员权限(通常是 root 用户);

        2、将 root 用户的密码验证方式更改为 mysql_native_password;

USE mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';

        3、刷新权限,确保更改生效。

FLUSH PRIVILEGES;

但是既然 MYSQL 8 更改成 caching_sha2_password 了,自然是应为 caching_sha2_password 更好更安全,而且以后可能逐渐放弃 mysql_native_password,我觉得自己手动修改密码验证方式不是太好,所以就只能升级 SQLyog 到支持 caching_sha2_password 的版本了。

更新成了 13.2.0 版本的 SQLyog 之后又能远程连接上 MySQL 了但是只有14天使用期,找了一篇博客:解决`SQLyog Trial`试用到期的问题(提供一个脚本解决方案)_sqlyog试用期已过-CSDN博客

发现他的这个脚本我执行之后没有起到效果,没有调用 SQLyog.exe,所以做了点修改,希望能给到有同样问题的朋友一点帮助

@echo off
setlocal EnableDelayedExpansion

title batch script for SQLyog

REM 定义常量
set "SQLYOGLocation=D:\Program Files\SQLyog Trial\SQLyog.exe"
set "RegKey=HKEY_CURRENT_USER\SOFTWARE\{d58cb4b1-47f3-45cb-a209-f298d0c3f756}"
set "ShortcutName=SQLyog.lnk"
set "ShortcutFolder=%UserProfile%\Desktop"
set "ShortcutDescription=This is a shortcut for SQLyog."
set "IconFile=%SQLYOGLocation%"
set "IconIndex=0"
set "WorkingDir=%~dp0"
set "ScriptPath=%~f0"
set "StartMenuDir=%ProgramData%\Microsoft\Windows\Start Menu\Programs"

REM 检查是否需要删除注册表项
if "%1" == "delete_registry" (
    reg query !RegKey!
    if %errorlevel%==0 (
        reg delete !RegKey! /f
    )
    exit /b
)

REM 创建快捷方式
powershell -Command "$WshShell = New-Object -ComObject WScript.Shell; $Shortcut = $WshShell.CreateShortcut('!ShortcutFolder!\!ShortcutName!'); $Shortcut.TargetPath = '!ScriptPath!'; $Shortcut.WorkingDirectory = '!WorkingDir!'; $Shortcut.Arguments = 'start_sqlyog'; $Shortcut.IconLocation = '!IconFile!,!IconIndex!'; $Shortcut.Description = '!ShortcutDescription!'; $Shortcut.Save()"
xcopy "!ShortcutFolder!\!ShortcutName!" "!StartMenuDir!\!ShortcutName!" /y >nul 2>&1

REM 启动SQLyog
:start_sqlyog
start "" "!SQLYOGLocation!"

exit /b

猜你喜欢

转载自blog.csdn.net/nangongyanya/article/details/139538127