Ubuntu和Centos配置MySQL时遇到的Access denied for user ‘root‘@‘localhost‘

本文详细阐述了如何配置MySQL,解决'Access denied for user'错误,包括寻找初始密码、密码修改及安全性提升。重点在于初次登录设置和后续密码管理。

按照
菜鸟教程上配置MySQL
都配置好了,验证安装也成功了。
但是在运行mysql客户端的时候

[root@host]# mysql

不能够运行,并且报错:

Access denied for user 'root'@'localhost'

找了很多资料,最后发现是由于没有设置数据库初始密码的问题。
按照教程安装时,默认是使用管理员进行安装,没有对数据库的初始密码进行改变,首次登陆MySQL需要使用

mysql -u root -p

然后输入初始默认密码。但是初始默认密码怎么知道呢?

可以通过查看MySQL的日志信息来获取:

cat /var/log/mysqld.log

在这里插入图片描述
获取上方的临时密码后,然后通过登录即可。

mysql -u root -p

登陆过后需要对初始默认密码进行修改,现在Mysql对密码强度有要求,大小写字母加特殊符号:
进行密码修改语句

mysql> ALTER USER USER() IDENTIFIED BY 'Ab123!@#';

在对密码进行修改后,以后登录MySQL就用账号密码进行登录即可。

[root@local2025-10-28T12:03:04.297504Z 1 [Note] A temporary password is generated for root@localhost: Lfk2;pdfb*a8 [root@localhost ~]# mysql -u - root -p Enter password: ERROR 1045 (28000): Access denied for user '-'@'localhost' (using password: YES) [root@localhost ~]# cat /var/log/mysqld.log | grep password 2025-10-28T12:03:04.297504Z 1 [Note] A temporary password is generated for root@localhost: Lfk2;pdfb*a8 2025-10-28T12:08:27.285237Z 3 [Note] Access denied for user '-'@'localhost' (using password: YES) 2025-10-28T12:08:55.804391Z 4 [Note] Access denied for user '-'@'localhost' (using password: YES) 2025-10-28T12:11:57.800632Z 5 [Note] Access denied for user '-'@'localhost' (using password: YES) [root@localhost ~]# sudo service mysql stop Redirecting to /bin/systemctl stop mysql.service Failed to stop mysql.service: Unit mysql.service not loaded. [root@localhost ~]# sudo mysqld_safe --skip-grant-tables & [1] 1985 [root@localhost ~]# sudo: mysqld_safe:找不到命令 mysql -u root ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) [1]+ 退出 1 sudo mysqld_safe --skip-grant-tables [root@localhost ~]# ^C [root@localhost ~]# mysql -u - root -p Enter password: ERROR 1045 (28000): Access denied for user '-'@'localhost' (using password: YES) [root@localhost ~]# ^C [root@localhost ~]# systemctl stop mysqld [root@localhost ~]# vim /etc/my.cnf -bash: vim: 未找到命令 [root@localhost ~]# vi /etc/my.cnf [root@localhost ~]# systemctl start mysqld [root@localhost ~]# [root@localhost ~]# mysql -u root ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) [root@localhost ~]# mysql -u - root -p Enter password: ERROR 1045 (28000): Access denied for user '-'@'localhost' (using password: YES) [root@localhost ~]# mysql -u root ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) [root@localhost ~]# host ~]
最新发布
10-29
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值