前言:

今天,想装个高版本一点的mysql试试,于是下载了一个mysql8的zip版本。

地址:https://dev.mysql.com/downloads/file/?id=484900

没想到安装的过程,竟然卡了半个下午和半个晚上,才走通,坑啊,顺便记录下。

一、顺利的安装步骤:

1、将mysql8xxxxx.zip解压到指定目录。

2、在其目录下新建一个my.ini文件,输入以下内容:

[client]<br/>
port=3308

[mysql]<br/>
default-character-set=utf8

[mysqld]

port=3308

#Path to installation directory. All paths are usually resolved relative to this.<br/>
basedir="E:/Mysql8/"

#Path to the database root<br/>
datadir="E:/Mysql8/data/"

关键点就两个:一个是路径,一个是端口号(因为本机原来装了一个mysql5.x的低版本已经用了3306了)

做完一步,就是在cmd窗口敲命令的时候了,把命令定位到目录的bin目录下后:

cmd步骤:

1、输入:mysqld –initialize –user=mysql –console

这一步初始化data数据库目录,如果有错,就看Error的那行,有什么信息就对应去百度。

关键点:执行这个时,要把data目录下的东西都删除(因为后面遇到问题多,所以这一步又干了好几次)

重点:在输出的信息中,找到一个临时密码,不然,回头你又得来执行这一步的

2、输入: mysqld –install Mysql8 –defaults-file=”E:\\mysql8\\my.ini”

安装成服务,起了个新的服务名称叫 Mysql8,原来已经有个mysql了。

提示,移除服务的命令是:mysqld -remove mysql8

3、输入:mysql -p -u root

然后输入那个临时密码登陆。(运气不好的,在这里反复折腾好几个小时,各种问题)

兼容Navicat连接和修改密码:

1、更改加密方式:

mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.10 sec)

2.更改密码:

mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;
Query OK, 0 rows affected (0.35 sec)

3.刷新:

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.28 sec)

支持远程访问:

将mysql数据库user表里的root用户的host改成%

update user set host=’%’ where user=’root’;

GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’IDENTIFIED BY ‘密码’ WITH GRANT OPTION;

FLUSH PRIVILEGES;

如果一切顺利,估计就几分钟的事情了~~~~~

三:问题回忆杀:

1、看着网上的说明,可能网上的都是记录mysql早期版本的,所以没有关于密码的提示。

导致到输入密码的时候,一脸蒙B,结果,就是各种操作各种坑,最后全部删除重来一遍。

2、网上很坑的命令:(这条命令,网上分拆成三部分,坑死人执行的不是没效果就是看不到错误信息)

mysqld –shared-memory–skip-grant-tables  –console

这行命令执行时,会光标卡停,这时候可以开新窗口不用密码登陆

如果像我这种傻傻等光标,以为在扔在执行中,等半天发现没反应,最后Ctrl+C结束的就悲催了。

3、登陆时,先把旧版本的mysql服务停了(如果安装了多个版本),不然会提示Hand shake这种无解的提示(这个提示坑了我N久)