mysql8.0免安装版修改密码_登陆失败--Mysql8.0免安装版本数据库配置问题修改密码--重建USER账户...

在此先感谢论坛博客的各位大佬,因为实在是查了太多资料,连我自己究竟是在哪里拼拼凑凑出解决办法的过程都差不多快模糊了,第一次安装数据库,花了3天终于搞定了,博主的很多教程都是旧版本的指令,根本无法运行。想了想还是得写一写留个纪念。

**

一、关闭SQL

任务管理器->找到mysql.exe->结束人物进程

cmd命令行输入:net stop mysql; 服务停止中 -> 服务已停止

二、打开cmd界面,定位到mysql安装目录的bin文件下

输入 cd D:\MySQL\mysql-8.0.15-winx64\bin

(注:地址是你自己的安装目录地址)

三、启动MySQL服务的时候跳过权限表认证

很多博主是输入“mysqld --skip-grant-tables ”,但是最新的数据库版本这个命令已失效,会发现命令窗口仍然跳出下一行待输入指令。

应该输入:mysqld --console --skip-grant-tables --shared-memory

生成界面如下,此时dos窗口不能运行,再另开一个cmd窗口操作第四步。

4d3a5f99d580f6e29634a4b0912781fa.png

四、直接输入’mysql’免密登入数据库

输入 mysql,如果成功,显示如下界面,下一行的提示命令为mysql

ae4e38c2444e5bd73b389ef679854a0b.png

五、输入’ use mysql '连接权限数据库

4d961211ace5d03b20e77dc47d6f00aa.png

六、输入’ show tables; '(分号注意)

显示图片如下,最下面有一个user,里面就有我们想要的信息。

d362a3bba0bd224c185530152bdf5f18.png

七、** 输入:select user,host, authentication_string from user; 查看user信息

打*是因为这里容易出错,之前我复制黏贴输入的是select user,host,password from user;然后提示错误ERROR 1054 (42S22): Unknown column ‘password’ in ‘field list’

然后我把password给删了换成authentication_string,就行了。

看到user里有一个’root’,host里一一对应。

6d1ab2ab0d59ba1d58149d34316c3e03.png

八、修改密码

> 输入: update mysql.user set authentication_string=‘123’ where user=‘root’;

> 如果上面那个用不了,就试试这个: update mysql.user set authentication_string=(‘123’) where user=‘root’ and Host =‘localhost’;

离成功只差一步!然后就在这一步上死了无数次(吐血)

很多博主的修改方式是输入:update user set password=password(‘123’) where user=‘root’ and host=‘localhost’;

然后就会无数次报错:ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘(‘123’) where user=‘root’ and host=‘localhost’’ at line 1

原因第七步其实已经讲的很清楚了,是因为数据库8.0已经没有’password’这个字段了,password字段改成了 authentication_string。所以需要将password改成authentication_string。

e56c9b625abf8debd1026418d08c5670.png

我已经疯了,老师叫我们安装SQLSERVER,我卸载了mysql,结果又有作业要用到,我又重新下载回来了,然后一模一样的错误,幸好我之前写了这个博客,结果这一步又错了,怎么肥事,经过百折不屈的百度我又把这玩意安回来了。

177687a3866f3e092ad769d8df11ed64.png

九、刷新权限。输入:flush privileges;(必做)

最后quit数据库,还会很萌地跟你say bye。

走了这么多步终于把密码改过来了,怕忘记赶紧把步骤写出来。

愉悦地开启数据库之旅吧。

e611ee584dde4a73cca4adba68d22ef7.png

十、如果mysql使用了正确的密码还是登陆不上去

提示:”ACCESS DENIED FOR USER [email protected] (USING PASSWORD: YES)”

我踏马快疯了。

重新按上面的方法跳过认证直接登陆mysql

然后show了一下user信息:(确实是这个密码啊??)

e5b6ef979c42881c2187140c6f16eed9.png

好吧,仔细看,上面的都是加密过得,而我们自己设置的密码是那样格格不入,我查了很多方式,大多都是说用**grant all privileges on . to [email protected] identified by ‘mypassword’ with grant option;**给我们的root赋予权限,但是我一打上去,就开始疯狂报错:grant all privileges on . to [email protected] identified by ‘mypassword’ with grant option;

我:???

看这篇文章的读者可以先试一试这个代码,也许你们可以成功,然鹅我好像怎么都没办法,接下来又开始百度。

重新创建一个新的user账户,这样输入密码的时候系统会自动给你加密,这样就可以以新的账户登陆了

#创建账户

create user ‘用户名[email protected] identified by ‘password’;

如 create user fdd identified by '123456'; 如果提示:The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

那就:flush privileges 刷新一下

mysql> flush privileges;

Query OK, 0 rows affected (0.01 sec)

接下来再创建一次,就能成功了,然后再刷新一次,退出mysql。

不放心的可以再show一次你的user表

select user,host,authentication_string from user;

就会看到你新建的这个已经加密了。

之后就可以用新账户快乐地登陆了。

(搞完了,现在我很怀疑自己之前花那么多时间去改root密码干什么,没用啊啊啊啊最后只要新创建一个账户就行了啊啊啊啊啊我好绝望)

行吧,安慰自己,我在变强,我在变强。告辞了大兄弟们,快乐的mysql去了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值