方法一:
MySQL提供跳过访问控制的命令行参数,通过在命令行以此命令启动MySQL服务器:
1、service mysqld stop
2、mysqld_safe --skip-grant-tables --user=mysql &
3、mysql -uroot
4、UPDATE user SET Password = password('myPassword') WHERE User='root'and host='localhost'; 方法二: 1、# vi /etc/mysql/my.cnf 2、在[mysqld]的段中加上一句:skip-grant-tables [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock skip-name-resolve skip-grant-tables 保存 3.重新启动mysqld # /etc/init.d/mysqld restart 或者是service mysqld restart //有些版本可能是service mysql restart 4.登录并修改MySQL的root密码 # /usr/bin/mysql mysql> USE mysql ;
mysql>UPDATE user SET Password = password('myPassword') WHERE User='root'and host='localhost'; mysql> flush privileges ; 5.将MySQL的登录设置修改回来 # vi /etc/mysql/my.cnf 将刚才在[mysqld]的段中加上的skip-grant-tables删除 保存 6.重新启动mysql服务即可