mysql 8.0的完美安装及连接Navicat客户端(全网独此一篇!!!)---整合篇

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liuchangjie0112/article/details/82964210

 

首先跟大家唠一唠家常,随着MySQL迅速的更新,MySQL突飞猛进已经更新到了8.0版本,那么它和我们之前用的5.X版本有什么明显的区别那?

首先给大家看下MySQL5.X自带表的查询速度

之后献上MySQL8.0的自带表的查询速度

一样的数据结果显而易见,MySQL8.0的坑我是走了个遍,为了让大家少走弯路,献上以下手动安装方法

1. 官网下载并解压

我下载了mysql-8.0.11-winx64

下载地址:https://dev.mysql.com/downloads/file/?id=476233

直接点击我红色记号笔圈出的超链接,这句话的中文意思是:不用了,直接开始下载

2. 设置系统环境变量

这个不多说了百度上一堆,配置这个只是为了命令行方便...

3. 编写配置文件

如解压位置为D:\App\MySQL\mysql-8.0.11-winx64

就在此处手动创建my.ini文件,文件内容如下:

[mysql]
; 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
;设置3306端口
port = 3306 
; 设置mysql的安装目录
basedir=D:\App\MySQL\mysql-8.0.11-winx64
; 设置mysql数据库的数据的存放目录
datadir=D:\App\MySQL\mysql-8.0.11-winx64\data
; 允许最大连接数
max_connections=200
; 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
; 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

注意修改安装目录与数据存放目录

 

4. 数据库初始化

用管理员身份运行命令行,进入安装MySQL下的bin目录输入如下命令:

自动生成root用户,可以不带密码:

mysqld --initialize-insecure

或者带随机密码:

mysqld --initialize

随机密码被保存在错误日志里,位于(前面配置好的datadir)数据文件夹下,文件名为:主机名.err

注意:如果要重新初始化,必须先清空data文件夹。(包括停止下一步的服务)

我看的教程就是没有这一步,导致:

服务无法启动。
服务器没有报告任何错误。
请键入 NET HELPMSG 3534 以获得更多的帮助。

5. 安装并启动服务

在命令行下执行。 
安装服务:

mysqld -install

启动服务:

net start mysql

回退的时候反过来
停止、卸载服务:

net stop mysql
mysqld -remove

6. 进入MySQL

无密码进入:

mysql -u root

有密码的进入方式:

mysql -u root -p

有密码的话进去就要求输入,随机密码的话位置上面提到过了。

感动,终于看到了:

mysql> 

7.设置(或修改)root用户密码:

默认root密码为空的话 ,下面使用navicat就无法连接,所以我们需要修改root的密码。

这是很关键的一步。此处踩过N多坑,后来查阅很多才知道在mysql 5.7.9以后废弃了password字段和password()函数;authentication_string:字段表示用户密码。

下面直接演示正确修改root密码的步骤:

  一、如果当前root用户authentication_string字段下有内容,先将其设置为空,否则直接进行二步骤。

    1. use mysql;  
    2. update user set authentication_string=''  where user='root'
    3. 下面直接演示正确修改root密码的步骤:

  二、使用ALTER修改root用户密码,方法为 ALTER user 'root'@'localhost' IDENTIFIED BY '新密码'。如下:

    1. ALTER user 'root'@'localhost' IDENTIFIED BY 'Cliu123#'

  此处有两点需要注意:1、不需要flush privileges来刷新权限。2、密码要包含大写字母,小写字母,数字,特殊符号。

  修改成功; 重新使用用户名密码登录即可;

注意: 一定不要采取如下形式该密码:

  1. use mysql;  
  2. update user set authentication_string="newpassword" where user="root";  

这样会给user表中root用户的authentication_string字段下设置了newpassword值;

当再使用ALTER USER 'root'@'localhost' IDENTIFITED BY 'newpassword'时会报错的;

因为authentication_string字段下只能是mysql加密后的41位字符串密码;其他的会报格式错误;

*THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE

至此,安装mysql和修改root密码告一段落。

开始navicat for mysql篇。

账号密码都正确,连接报错1251。OK 我们先来看看这个改动:

在MySQL 8.04前,执行:SET PASSWORD=PASSWORD('[新密码]');但是MySQL8.0.4开始,这样默认是不行的。因为之前,MySQL的密码认证插件是“mysql_native_password”,而现在使用的是“caching_sha2_password”。

so,我们这里需要再次修改一次root密码。

先登录进入mysql环境:执行下面三个命令。(记得带上分号)

1、use mysql;

2、ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

3、FLUSH PRIVILEGES;

OK.现在再去重连。perfect!

文章结合以下博客整理而得,在安装过程中,踩坑无数,费了半天功夫,才最后总结这篇mysql8.0安装及使用整合篇博客,附上参考链接:

https://www.cnblogs.com/wyftheblog/p/8965597.html

https://blog.csdn.net/ChickenBro_/article/details/80690238#commentBox

猜你喜欢

转载自blog.csdn.net/liuchangjie0112/article/details/82964210