系统版本信息:
# 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 用户的密码信息。
解决如下:
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 ]
# 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.