MySql 8.0.11 安装过程及 Navicat 链接时遇到的问题小结

作者:袖梨 2022-06-29

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

系统环境: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-winx64bin

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

3、继续进入 MySQL 中的 bin 目录,输入下面这条命令:

cd mysql-8.0.11-winx64bin

这里需要注意一点就是:

1、这里的路径以及名称要和自己电脑上的一致
4、安装 MySQL,输入下面这条命令

mysqld -install

注意:

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 找到密码),这个初始密码后续会用到

6、配置MySQL的启动文件

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

basedir=D:mysql-8.0.11-winx64
datadir=D:mysql-8.0.11-winx64data
port=3306

注意:

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

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

basedir=D:mysql-8.0.11-winx64
datadir=D:mysql-8.0.11-winx64data
port=3306

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

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

net start mysql

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

mysql -u root -p

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

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

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; 命令,这时系统就会提示你要先修改初始密码才能继续使用,在这个提示中就提到了用什么格式来修改密码,当然这里只会告诉你其中的关键字,不过有了这个关键字,其完整的语法格式,我们就可以百度得到

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

10、退出 MySQL:接着输入

quit

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

mysql -u root -p

1.接着再输入刚设置的新密码,回车,登陆成功

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

亲测以上方法可行

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

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

解释原因:据说,mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password. 现在说第二种方式

命令行进入MySQL数据库

输入以下指令,逐行输入,每行后加一个回车

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则 
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码 
FLUSH PRIVILEGES; #刷新权限 

就像这样

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

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

相关文章

精彩推荐