安装mysql8.0.11以及修改root密码、连接navicatformysql。
  最近在学习node.js,少不得要跟数据库打交道,于是打算安装⼀个数据库软件,在mongedb和mysql之间选择了mysql。作为⼀个数据库新⼈不敢评论孰好孰坏,最后选择mysql纯属因为公司在⽤mysql,⽽且有个数据库⼤神可以指导学习。按照⽹上的教程,可能是新版本的原因,关于root密码重置总是有⼀些问题,所以结合⾃⼰的安装过程就有了此篇博客,好了,废话不多说,下⾯进⼊正题。
1.1. 下载:
官⽹下载zip包,我下载的是64位的:
下载zip的包:
下载后解压:(解压在哪个盘都可以的)
我放在了这⾥ E:\web\mysql-8.0.11-winx64 ,顺便缩短了⽂件名,所以为 E:\web\mysql-8.0.11。
1.2. 配置环境变量:
进⼊计算机--⾼级系统设置--⾼级--环境变量
然后新建系统变量
变量值改为⾃⼰mysql解压的路径
变量名:MYSQL_HOME
变量值:E:\web\mysql-8.0.11
path⾥添加:%MYSQL_HOME%\bin;(分号不要忘记)
1.3. ⽣成data⽂件:
以管理员⾝份运⾏cmd
程序--输⼊cmd 到 右键以管理员⾝份运⾏
进⼊E:\web\mysql-8.0.11\bin 下
mysql下载的zip版本安装步骤
执⾏命令:mysqld --initialize-insecure --user=mysql  在E:\web\mysql-8.0.11⽬录下⽣成data⽬录
1.4. 启动服务:
执⾏命令:net start mysql  启动mysql服务,若提⽰:服务名⽆效...(请看步骤:1.5);
1.5. 解决启动服务失败(报错):
提⽰:服务名⽆效
解决⽅法:
执⾏命令:mysqld -install  即可(不需要my.ini配置⽂件注意:⽹上写的很多需要my.ini配置⽂件,其实不需要my.ini配置⽂件也可以,我之前放置了my.ini⽂件,反⽽提⽰服务⽆法启动,把my.ini删除后启动成功了)
若出现提⽰“服务正在启动或停⽌中,请稍后⽚刻后再重试⼀次”,需要去资源管理器中把mysql进程全结束了,重新启动即可。
1.6. 登录mysql:
登录mysql:(因为之前没设置密码,所以密码为空,不⽤输⼊密码,直接回车即可)
E:\mysql-5.7.20-winx64\bin>mysql -u root -p
Enter password:
1.7. 查询⽤户密码:
查询⽤户密码命令:mysql> select host,user,authentication_string from mysql.user;
host: 允许⽤户登录的ip‘位置’%表⽰可以远程;
user:当前数据库的⽤户名;
authentication_string: ⽤户密码(后⾯有提到此字段);
1.8. 设置(或修改)root⽤户密码:
默认root密码为空的话,下⾯使⽤navicat就⽆法连接,所以我们需要修改root的密码。
这是很关键的⼀步。此处踩过N多坑,后来查阅很多才知道在mysql 5.7.9以后废弃了password字段和password()函数;
authentication_string:字段表⽰⽤户密码。
下⾯直接演⽰正确修改root密码的步骤:
  ⼀、如果当前root⽤户authentication_string字段下有内容,先将其设置为空,否则直接进⾏⼆步骤。
1.
1. use mysql;
2. update user set authentication_string=''  where user='root'
3. 下⾯直接演⽰正确修改root密码的步骤:
  ⼆、使⽤ALTER修改root⽤户密码,⽅法为 ALTER user 'root'@'localhost' IDENTIFIED BY '新密码'。如下:
1.
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篇。
时间有限,navicat的下载和破解注册就不多讲了有需要的下⾯留邮箱,发给你们,下⾯说说出问题的地⽅。
账号密码都正确,连接报错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!
折腾了这么久,总算可以开始我的SQL之路了,撒花!撒花!撒花!
本来准备好的有截图说明,发现插⼊图⽚失败,就先这样吧。
⼤家有问题的可以下⾯交流,跪求各位数据库⼤神多多照顾,⼿下留情。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。