MelodyHub

没有伞的孩子必须努力奔跑!|

问题描述

使用Navicat Premium连接MySQL失败,并弹窗提示👇

分析

从错误信息可知caching_sha2_password不能加载。

以上报错是由于目前已有的客户端连接软件还不支持Mysql8新增加的加密方式caching_sha2_password,所以我们需要修改用户的加密方式,将其改为老的加密验证方式。

大安装Mysql数据库的主机上登录Mysql对应的用户,上面连接时用的用户为root,所以我们登录root用户。

解决

  1. 执行命令,查看当前用户的加密方式:
1
2
3
use mysql;

select user,plugin from user where user='root';

可以看到当前用户的加密方式为caching_sha2_password。

  1. 登录MySQL后输入,执行命令:
1
2
3
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourPassword';

FLUSH PRIVILEGES;

将用户的加密方式改为mysql_native_password。

  1. 再次尝试连接Mysql,连接成功。

昨晚安装好MySQL后,可以登录。但是今天输入密码后,总是没办法登录。

刚开始我是用DOS窗口的,我检查了命令,命令也没输错啊。

接着转去MySQL Command Line Client试试,一直没反应。

我突然想到“是不是MySQL服务没有启动?”

果然!看了一下,这个时候MySQL需要手动启动,于是我把MySQL服务设置成开机自动启动,以后就省去手动启动这个麻烦。

回到DOS,输入mysql -h localhost -u root -p试试,可以正常登录MySQL了hh o( ̄▽ ̄)o


除了上面这种到【服务】手动开启MySQL服务的方法外,也可以用PowerShell(管理员)来启动。

输入命令net start mysql,启动MySQL服务。启动成功会在左下角弹窗提示👇

一定是要带有管理员权限的PowerShell,否者只会是这个样子👇

输入net start mysql,按回车键,就能启动 MySQL 服务,停止服务的命令为net stop mysql

安装好MySQL后,默认启动服务,这时候开始尝试登录MySQL数据库。

有两种登录方式:

  • Power Shell 或 CMD(DOS窗口)
  • 命令行客户端(MySQL Command Line Client)【安装软件时,一般会安装的】

Power Shell

  1. 启动 Power Shell 。
  2. 输入命令cd C:\Program Files\MySQL\MySQL Server 8.0\bin(cd+空格+安装目录/bin),回车。
  3. 输入登录命令,回车。登录命令有4中,选其一即可:
1
2
3
4
5
6
7
8
#第一种 服务器主机地址+不接密码
mysql -h localhost -u root -p
#第二种 服务器主机地址+密码
mysql -h localhost -u root -proot
#第三种 省略服务器主机地址+不接密码,默认localhost
mysql -u root -p
#第四种 省略服务器主机地址+密码,默认localhost
mysql -u root -proot

提示:mysql 为登录命令,-h 后面的参数是服务器的主机地址,在这里客户端和服务器在同一台机器上,所以输入 localhost 或者 IP 地址;-u 后面跟登录数据库的用户名称,在这里为 root;-p 后面是用户登录密码。

在 DOS 窗口下运行该命令后,系统会提示输入密码。密码输入正确以后,即可登录到 MySQL 数据库。

可以在 mysql 命令中直接加上密码,该命令为 mysql -h localhost -u root -proot。这里的 -p 后面的 root 就是密码。此处特别注意 -p 和密码之间没有空格。如果出现空格,系统将不会把后面的字符串当成密码来对待。

  1. 系统提示输入密码。(若选用第二/四种方式进行登录,则跳过本步骤)
  2. 成功登录到MySQL数据库。登录成功后进入 MySQL 初始界面,会出现“Welcome to the MySQL monitor”的欢迎语,如下图所示。

登录成功后进入 MySQL 初始界面,会出现“Welcome to the MySQL monitor”的欢迎语,然后下面还有一些说明性的语句,如图所示。

这些说明性语句介绍如下:

  • Commands end with; or\g:说明 mysql 命令行下的命令是以分号(;)或“\g”来结束的,遇到这个结束符就开始执行命令。
  • Your MySQL connection id is 3:id 表示 MySQL 数据库的连接次数。
  • Server version: 5. 7.29-log MySQL Community Server(GPL):Server version 后面说明数据库的版本,这个版本为 5.7.29。Community 表示该版本是社区版。
  • Type ‘help;’ or ‘\h’ for help:表示输入”help;“或者”\h“可以看到帮助信息。
  • Type ‘\c’ to clear the current input statement:表示遇到”\c“就清除前面的命令。

提示:当窗口中出现如上图所示的说明信息,命令提示符变为“mysql>”时,表明已经成功登录 MySQL 服务器,可以开始对数据库进行操作了。

  1. 输入命令exit,即可退出MySQL。

MySQL Command Line Client

打开 MySQL Command Line Client 进入提示输入密码的界面,如图所示。

输入正确的密码后,登录到 MySQL 软件。如果以这种方式登录 MySQL,需要保证 MySQL 服务处于启动状态。



博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议

本站使用 Hexo 作为驱动引擎 , 总浏览量为 次 , 总访客数为
载入天数...载入时分秒...