前言:
今天,想装个高版本一点的mysql试试,于是下载了一个mysql8的zip版本。
地址:https://dev.mysql.com/downloads/file/?id=484900
没想到安装的过程,竟然卡了半个下午和半个晚上,才走通,坑啊,顺便记录下。
一、顺利的安装步骤:
1、将mysql8xxxxx.zip解压到指定目录。
2、在其目录下新建一个my.ini文件,输入以下内容:
[client]
port=3308 [mysql]
default-character-set=utf8 [mysqld] port=3308 #Path to installation directory. All paths are usually resolved relative to this.
basedir="E:/Mysql8/" #Path to the database root
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久)
4、最重要的一个,命令都带上:--console,这样好看出错信息,不然,就呵呵了。