现在终于被我找到了解决方法,如下(请先测试方法三,谢谢!):
方法一:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>
方法二:
直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码:
# mysql -udebian-sys-maint -p
Enter password: <输入[client]节的密码>
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>
方法三:
在系统中找到my.cnf 文件
对改文件进行编辑并添加一行内容:
skip-grant-tables
重新启动数据库服务
service mysqld restart
进入数据库
mysql -uroot -p
两次回车后进入数据库中;
输入如下命令更改密码:
update user set password=PASSWORD('xxxxxx') where user='root';
flush privileges;
更改密码之后,再次编辑my.cnf文件 把之前添加的一行(skip-grant-tables)注释掉
重启mysql服务
完成!