zoukankan      html  css  js  c++  java
  • 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-winx64in

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

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

    这里需要注意一点就是:

    • 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 的文件,然后选中该文件,点击鼠标右键,选择用记事本打开,在其中输入:

    [mysqld]
    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

    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; #刷新权限  

    就像这样

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

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

     

  • 相关阅读:
    Android Java执行Shell命令
    ArrayList和LinkedList的几种循环遍历方式及性能对比分析
    Android利用Fiddler进行网络数据抓包
    Android常用的工具类
    单例模式的标准写法、注意事项、作用及测试
    性能优化之Java(Android)代码优化
    性能优化之数据库优化
    Android性能优化之布局优化
    Android ListView滑动过程中图片显示重复错乱闪烁问题解决
    滚动到底部加载更多及下拉刷新listview的使用
  • 原文地址:https://www.cnblogs.com/duanc/p/9140146.html
Copyright © 2011-2022 走看看