mysql: [Warning] Using a password on the command line interface can be insecure.(using password:YES)

本文介绍了一种解决在Linux终端中遇到的Mysql登录失败问题的方法。通过在配置文件中添加特定指令实现免密登录,并提供了重置Mysql密码的详细步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前段时间不知道什么原因在Linux终端中出现无法启动Mysql的情况,在Linux终端中输入 mysql -uroot -p密码 的时候出现了下面这个错误:

mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

在网上找了很多解决错误的方法,但跟我的解法方法有些差异,故记录下来以备他人鉴阅。
解决这个错误的关键在于重置Mysql的登录密码。

首先我们先进入到Linux计算机文档界面,如图:
在这里插入图片描述
在这里插入图片描述
etc目录下有一个mysql文件夹,网上很多教程的解决方法时候打开etc目录下的my.cnf文件,文件中有一个[mysqld]字段,在这个[mysqld]字段下添加一句skip-grant-tables但是我打开我的my.cnf文档后发现并没有这个字段,网上还有一种说法是打开my.ini文件,我试了下同样没找到,打开后如图所示:

在这里插入图片描述
那么这个[mysqld]字段到底在哪个文档里呢?
找了半天终于在我的/etc/mysql.conf.d/ 文件夹下有一个mysqld.cnf文档,在这个文档里可以找到【mysqld】字段,如图:
我们可以这样直接打开这个mysqld.cnf文档,但它是只读模式,是无法进行编辑保存的。(这里我已经在[mysqld]字段下添加过skip-grant-table了,在图中可以看到,作用是可以免密登录)

那么我们怎么编辑这个mysqld.cnf文档呢?
在终端中先cd到这个文档的上一级文件夹中
我的是:
在Linux终端输入:
cd /etc/mysqld.conf.d (进入到这个文件夹中)
然后需要用权限打开这个mysqld.cnf 文件

sudo  vi  mysqld.cnf
然后找到字段【mysqld】,进入编辑模式(按“i”键),在下面添加skip-grant-tables
当然如果你的[mysqld]字段在my.cnf或者my.ini文档中的话也是这样操作,进入到相应的文件夹中,
打开相应文件,在字段【mysqld】,进入编辑模式(按“i”键),在下面添加skip-grant-tables

添加完成之后,按esc键退出编辑模式,然后:wq进行保存并退出。

接下里的就比较简单了
重启mysql
在终端中输入:

/etc/init.d/mysql restart
然后进入Mysql
mysql -uroot -p  (因为已经进行了免密登录操作,此处不用输入密码)
然后进行重置密码:
mysql> update mysql.user set authentication_string=password('你要重置的密码') where user='root' ;(最后不要忘记加";")

如果此处报错,是因为你的mysql版本比较新,这种重置密码的语句已经过时了,你可以用以下语句重置密码:

mysql> update mysql.user set password=password('你要重置的密码') where user='root' and host='localhost';
总有一个好用,信我哥们!(嘿嘿)
下一步:
mysql> flush privileges;
mysql> exit

至此,已完成重置密码的操作,可以重新打开一个终端,输入命令:mysql -uroot -p你的密码

此时应该可以正常登陆了。
嘿嘿

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值