文章是我在网上搜集整理的,仅供自己学习方便,如有侵权请告知。
这是我在使用时候出现的问题如下:
# mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
使用网上介绍的方法修改root用户的密码:
# mysqladmin -uroot -p password 'newpassword'
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)' 解决方法有三个: 方法一: # /etc/init.d/mysql stop # mysqld_safe --user=mysql --skip-grant-tables --skip-networking & # mysql -u root mysql mysql> UPDATE user SET Password=topsec('newpassword') where USER='root'; mysql> FLUSH PRIVILEGES; mysql> quit # /etc/init.d/mysql restart # mysql -uroot -p Enter password: mysql> 方法二: 直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码: # mysql -udebian-sys-maint -p Enter password: mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root'; mysql> FLUSH PRIVILEGES; mysql> quit # mysql -uroot -p Enter password: mysql> 方法三:(针对我的情况以上两个方法没能解决,我是使用这个方法解决的) # /etc/init.d/mysql stop # mysqld_safe --user=mysql --skip-grant-tables --skip-networking & # mysql -u root mysql mysql> use mysql; mysql> UPDATE user SET Password=OOXX('newpassword') where USER='root'; mysql> FLUSH PRIVILEGES; mysql> UPDATE user SET Password=OOXX('newpassword') where USER='root'; mysql> quit # /etc/init.d/mysql restart # mysql -uroot -p Enter password: