Linux安装Mysql - 解决Access denied for user ''@'localhost' to database 'mysql'问题

昨天在centos上安装mysql后,未设置root用户,导致了一系列问题,今天可算是解决了,下面开始介绍解决方法


输入mysql,成功启动后输入use mysql,出现如下错误:Access denied for user ''@'localhost' to database 'mysql' 

还有,输mysql可以,输mysql -u root就出错了:
Access denied for user 'root'@'localhost' (using password: NO).
原因是:
是昨日设置ROOT密码时出错
update user set password = '123456' where user ="root" //这样写是错的,密码其实不是123456

应该为update user set password = password ('123456') where user = "root"


解决问题的具体操作步骤

关闭mysql:
# service mysqld stop
然后:(该命令是让mysql跳过权限检查,否则我们没有权限访问mysql.user那张表,也就无法设置我们的账户)
# mysqld_safe --skip-grant-tables
启动mysql:

# service mysqld start

连接mysql:

mysql -u root

切换到mysql这个库

mysql> use mysql

设置我们的账户密码:

mysql> UPDATE user SET Password=PASSWORD('xxx') WHERE user='root';

返回成功后(该命令是清空缓存中的权限):

mysql> flush privileges;

现在已经可以用账号密码登录的

退出后重新试一下就可以了

mysql>\q
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值