MYSQL 8.0.11 安装过程及 Navicat 链接时遇到的问题

参考博客:https://blog.csdn.net/WinstonLau/article/details/78666423

我的系统和软件版本是这样的:

系统环境:win7、64位

MySQL版本:8.0.11

对版本的说明

  • 之所以说是 MySQL5.7 及以上版本,是因为从 MySQL5.7 版本之后,其安全机制有所改变。在安装完成后,登陆 MySQL 时,需要输入一个密码,这个密码其实是在配置 MySQL 的过程中生成的一个随机密码,而我们必须找到这个随机密码才能登陆 MySQL。而在 5.7 之前的版本并不需要这样做,因此对于 5.7 之前的版本,本教程可能并不完全适用,不过网上有很多,如果需要可以自己搜索。

系统环境

  • win10、64位

MySQL版本

  • 8.0.11免安装版

MySQL下载地址 https://dev.mysql.com/downloads/mysql/

  • 在下载页面往下拉,选择自己的操作系统版本和位数,然后下载即可

MySQL安装

  • 由于这里选择的 MySQL 是免安装版的,所以解压就是安装,将 MySQL 解压到自己想放的位置即可

环境配置

  • 1、在环境变量 Path 中添加 MySQL 解压后的 bin 目录所在的路径,比如我的是:D:\mysql-5.7.20-winx64\bin

  • 2、以管理员身份运行 cmd (将鼠标放在屏幕左下角的 windows 图标上,点击鼠标右键,选择命令提示符(管理员)(A)即可),输入D:,然后回车,进入 D 盘( MySQL 解压后所在的盘 )

MYSQL 8.0.11 安装过程及 Navicat 链接时遇到的问题

  • 3、继续进入 MySQL 中的 bin 目录,输入下面这条命令:
cd mysql-8.0.-winx64\bin

这里需要注意一点就是:

  • 1、这里的路径以及名称要和自己电脑上的一致

4、安装 MySQL,输入下面这条命令

mysqld -install

MYSQL 8.0.11 安装过程及 Navicat 链接时遇到的问题

注意:

  • 1、如果在这一步提示 mysqld 不是内部或外部命令,也不是可运行的程序或批处理文件,以我个人的经验来看,是因为在 bin 目录下没有 mysqld.exe 这个应用程序,而导致没有这个的原因可能就是版本不对,或者版本是一样的,

但下载的是带 Debug Binaries & Test Suite 字样的,带着个字样的,bin 里面是没有 mysqld.exe 的

  • 2、顺便说一下,移除 MySQL 服务的命令是:mysqld -remove

5、接着输入:

mysqld --initialize
  • 1、然后回车(可能需要等待一会),这时在 MySQL 的根目录下会生成一个 data 文件夹,注意里面的一个以 .err 结尾的文件,初始密码就在这个文件里(可以按 Ctrl+F 搜索 password 找到密码),这个初始密码后续会用到

MYSQL 8.0.11 安装过程及 Navicat 链接时遇到的问题

MYSQL 8.0.11 安装过程及 Navicat 链接时遇到的问题

6、配置MySQL的启动文件

  • 1.如果解压后的 MySQL 中有一个名为 my-default.ini 的文件,则在配置文件中输入以下几项:

basedir=D:\mysql-8.0.-winx64
datadir=D:\mysql-8.0.-winx64\data
port=

注意:

  • 1.这里的路径和名称仍然需要和自己电脑上的一致

2、如果解压后的 MySQL 中没有一个名为 my-default.ini 的文件,则自己在根目录下新建一个名为 my.ini 的文件,然后选中该文件,点击鼠标右键,选择用记事本打开,在其中输入:

[mysqld]
basedir=D:\mysql-8.0.-winx64
datadir=D:\mysql-8.0.-winx64\data
port=

输入完成后,点击保存,关闭即可。

7、启动 MySQL 服务:进入 MySQL 的 bin 目录(经过前面的步骤,此时正处于 MySQL 的 bin 目录下),输入:

net start mysql

MYSQL 8.0.11 安装过程及 Navicat 链接时遇到的问题

8、登陆 MySQL,接着输入下面这条命令:

mysql -u root -p

MYSQL 8.0.11 安装过程及 Navicat 链接时遇到的问题

从上图可以看出,这里要求我们输入密码,这个密码就是 MySQL 自动生成的初始密码,这一点在上面第5步中已经提到过。找到以 .err 结尾的那个文件,选择用记事本打开,然后在文件内搜索 password,可以看到如下的搜索结果,红线框出来的部分就是初始密码(每个用户生成的密码都不一样,把自己的那个找到即可)

MYSQL 8.0.11 安装过程及 Navicat 链接时遇到的问题

将这个初始密码复制下来,然后输入 cmd 中,如果看到下图所示的界面,说明 MySQL 已经配置成功了

MYSQL 8.0.11 安装过程及 Navicat 链接时遇到的问题

9、修改初始密码

为了方便记忆密码以及出于安全性的考虑,我们可以重新设置 MySQL 的登陆密码,在成功完成了第 8 步之后,我们接着输入

set password for root@localhost=password('xxxxxx');

注意:

  • 单引号中的 xxxxxx 代表你设置的密码,可以自己更改

  • 语句后面的分号也需要输入,如果第一次没有输入,在回车之后,接着再输入分号也可以

  • 不同版本的修改密码的格式是不一样的,尽管都是 5.7 及以上的版本,比如对于 8.0.11 的这个版本,修改密码的格式为:ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxxxx';,其中的 xxxxxx 代表你要设置的密码

  • 如果不知道该用什么样的格式,可以在用初始密码登陆之后,修改初始密码之前,输入 use mysql; 命令,这时系统就会提示你要先修改初始密码才能继续使用,在这个提示中就提到了用什么格式来修改密码,当然这里只会告诉你其中的关键字,不过有了这个关键字,其完整的语法格式,我们就可以百度得到

如果密码设置成功,会出现下图中的界面:

MYSQL 8.0.11 安装过程及 Navicat 链接时遇到的问题

10、退出 MySQL:接着输入

quit

MYSQL 8.0.11 安装过程及 Navicat 链接时遇到的问题

11、使用新密码登陆(必须处于 MySQL 的 bin 目录下),输入

mysql -u root -p
  • 1.接着再输入刚设置的新密码,回车,登陆成功

MYSQL 8.0.11 安装过程及 Navicat 链接时遇到的问题

至此 MySQL 已经配置成功,并且修改了初始密码,可以尽情使用了!

亲测以上方法可行


本人在安装配置完成过后,想通过Navicat链接本地数据库的时候发现问题

1、Navicat在连接数据库MySQL时报错2059

  1. 解释原因:据说,mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password. 现在说第二种方式
  2. 命令行进入MySQL数据库
  3. 输入以下指令,逐行输入,每行后加一个回车
  1. ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则
  2. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码
  3. FLUSH PRIVILEGES; #刷新权限

就像这样

MYSQL 8.0.11 安装过程及 Navicat 链接时遇到的问题

5.然后按理说应该是可以了,祝君好运。

6.Tips:命令行中用的“password”即为更新后的数据库密码,可改为自己想设置的密码,比如“123”什么的,之后再用Navicat连接MySQL就连接成功了,亲测可用!!!

上一篇:Java中的强引用和弱引用


下一篇:Microsoft Ignite 2021:与Microsoft Teams集成的安全和合规功能