mysql assess d_mysql登录报错“Access denied for user 'root'@'localhost' (using password: YES”)的处理方法...

环境

CentosOS 6.5 ,已安装mysql

情景

root密码忘记,使用普通用户无法登录

解决

问题一 无法使用mysql命令

参考文章:https://www.cnblogs.com/comeping/p/8576694.html

加入环境变量PATH

# PATH=$PATH:/usr/local/mysql/bin

# echo"PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile

# source/etc/profile

问题二 Access denied for user

登录时出现如下

# mysql -u root -p

Enter password:

ERROR1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

我不知道root密码,也不知道输的对不对,我就按忘记密码处理了

参考文章:https://blog.csdn.net/qq_35389417/article/details/78910974

在Linux下忘记MySQL密码后我们可以通过一个mysql的参数–skip-grant-tables &轻松解决这个问题

亲测在CentOS有效

其中 --skip-grant-tables 的意思是跳过授权表,通过此参数来跳过输入密码,后面跟得 & 符号是表示设置此进程为后台进程

具体操作过程如下:

1.首先关闭掉MySQL系统服务: service mysqld stop

2.使用命令跳过输入密码过程:mysqld_safe --skip-grant-tables &

然后再输入mysql,进入mysql

3.进入 mysql数据库,然后通过语句修改密码:

use mysql

update userset password=password("root1234") where user='root'; //修改用户:root的密码成为:root1234

flush privileges//刷新MySQL的系统权限相关表,否则会出现拒绝访问 忘记输入的话重启mysql服务也可以

重启mysql系统服务后就可以用新密码进入MySQL了: service mysqld restart

问题三 远程链接

参考:https://blog.csdn.net/testcs_dn/article/details/51406712

开放防火墙端口

添加需要监听的端口

/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

保存设置

/etc/init.d/iptables save

查看状态

/etc/init.d/iptables status

临时关闭防火墙服务

service iptables stop

开启防火墙服务

service iptables start

开机不再启动防火墙服务

chkconfig iptables off

此外,关于授权的问题,请参考https://www.cnblogs.com/fnlingnzb-learner/p/5833337.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值