mysql密码相关问题

文1菜鸡乱给权限导致ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)的解决方法

登录MySQL时突然报错(ps:自己确定用户名和密码没错),这种情况的解决方法

1,报错如下:
在这里插入图片描述
2,解决方法:

2,1 问题分析

​ 在关闭数据库的命令发现mysql关不了,提示Warning: World-writable config file '/etc/mysql/mysql.conf.d/mysqld.cnf' is ignored,大概意思是权限全局可写,任何一个用户都可以写。mysql担心这种文件被其他用户恶意修改,所以忽略掉这个配置文件。这样mysql无法根据此文件去配置MySQL。

2,2根据分析解决问题

1)停止mysql服务

service mysql stop
  1. 此时将/etc/mysql/mysql.conf.d/mysqld.cnf文件的权限从777改为644
chmod 644 /etc/mysql/mysql.conf.d/mysqld.cnf
  1. 重启mysql服务
service mysql  start
文2ubuntu下忘记MySQL密码的解决方案

首先出现这个问题是密码出了问题,我们需要跳过密码验证进入mysql进行修改密码

1.跳过密码验证进入mysql

vim /etc/mysql/mysql.conf.d/mysqld.cnf

找到[mysqld]这一块代码,在后面加上skip-grant-tables,如下图

在这里插入图片描述

保存后重启mysql

service mysql restart

2,接着输入

mysql -u root -p

在输入密码的那里直接enter就好,这样就可以无密码进入
在这里插入图片描述

输入"show databases;"查看数据库

show databases;

在mysql里的mysql数据库有一个user表,存储的是数据库用户的信息,我们需要修改的里面用户的密码;

输入use mysql;是要使用mysql数据库的意思

use mysql;

接着输入show tables;查看mysql数据库下面有哪些表

show tables;

可以看到里面有user这个表,现在可以查询一下里面有什么信息
在这里插入图片描述
发现里面有很多东西,其中authentication_string就是密码列

在很多网上的博客中都写修改密码要用password=password(“123456”);我试了一下不对,会提示user表中没有这一列,可能是mysql之前的版本是password,现在改成了authentication_string.

现在输入update user set authentication_string=password(“yourNewPassword”) where User=‘root’;(数据库更新语句哈)

update user set authentication_string=password("123456") where User='root';

然后输入exit;退出mysql界面

3,回到第一步,将密码输入跳过设置删除

找到[mysqld]这一块代码,删除第一步加入的skip-grant-tables,如下

保存后就可以输入service mysql restart,重启mysql.

接着输入mysql -u root -p,回车输入密码就不会在出错了

步加入的skip-grant-tables,如下

保存后就可以输入service mysql restart,重启mysql.

接着输入mysql -u root -p,回车输入密码就不会在出错了
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值