MySQL: “Access denied for user ‘debian-sys-maint’@'localhost’”

系统版本信息:
# mysql -V
mysql  Ver 14.12 Distrib 5.0.32, for pc-linux-gnu (i486) using readline 5.2
# uname -a
Linux auto-at-server 2.6.18-6-686 #1 SMP Tue Jun 17 21:31:27 UTC 2008 i686 GNU/Linux


重启Mysql报错如下:
# /etc/init.d/mysql restart
* Stopping MySQL database server mysqld [fail]
* Starting MySQL database server mysqld [ OK ]
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'


Google了一下:"debian-sys-maint" 用户是用来启动和停止数据库以及其它一些维护数据库操作使用的(Linux操作系统)。
这玩意的密码怎么会改变那,查了半天解释如下:
Linux操作系统下启动Mysql时,mysql会在文件中 /etc/mysql/debian.cnf 查询 debian-sys-maint 用户的密码信息。

而这个文件中的密码信息是由Mysql实时同步进去的,问题应该就出在这,之前mysql异常退出了,导致信息没有同步。

在加上之前我确实对root用户的密码信息进行修改了,可能误操作把这玩意也改了。



解决如下:
1:查询debian-sys-maint用户的密码信息
# cat /etc/mysql/debian.cnf


# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host     = localhost
user     = debian-sys-maint
password = n4aSHUP04s1J32X5
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
user     = debian-sys-maint
password = n4aSHUP04s1J32X5
socket   = /var/run/mysqld/mysqld.sock
basedir  = /usr


2:登录mysql修改密码
# mysql -u root -p<password>


mysql> GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'n4aSHUP04s1J32X5';


3:重启成功
# /etc/init.d/mysql restart
* Stopping MySQL database server mysqld [ OK ]
* Starting MySQL database server mysqld [ OK ]

* Checking for corrupt, not cleanly closed and upgrade needing tables.



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值