解决linux登录mysql:Error: Access denied for user ‘root‘@‘localhost‘ (using password: YES)

本文介绍了如何通过编辑my.cnf文件启用无密码登录MySQL,然后通过SQL命令修改root用户的密码。在修改后,需重启服务并刷新权限表以解决执行SQL语句时的异常。此外,还讲解了如何设置远程连接权限,包括为新用户创建和授权。
摘要由CSDN通过智能技术生成

1.编辑文件:/etc/my.cnf,编辑跳过密码登录

        添加行:skip-grant-tables        

        

 2.重启mysql服务

         关闭mysql:service mysqld stop

         启动mysql:service mysqld start

3.无密码登录mysql

        命令:mysql -u root

4.使用无密码登录mysql并修改新密码

如:1234 是你新设置的密码

 命令:

update mysql.user set authentication_string=password('1234')   where user='root'  and host='localhost';

 5.重复第二步操作重启服务,使用修改后的密码登录

使用以上方法后的密码登录mysql在执行某些sql语句时会出现以下异常:

The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement 

我出异常情况是这样的:

 解决办法:

先刷新一下权限表。

mysql> flush privileges;

# 把在所有数据库的所有表的所有权限赋值给位于所有IP地址的root用户。

mysql> grant all privileges on *.* to root@'%'identified by 'password';

password是root用户密码

 

2、远程连接设置

把在所有数据库的所有表的所有权限赋值给位于所有IP地址的root用户。

mysql> grant all privileges on *.* to root@'%'identified by 'password';

如果是新用户而不是root,则要先新建用户

mysql>create user 'username'@'%' identified by 'password';  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值