修改配置文件/etc/my.cnf进入之后在【mysqld】中添加skip-grant-tables
(skip-grant-tables的含义是在数据库启动的时候 跳跃权限表的限制不用验证密码就可以直接登录到数据库)
一般情况不要使用
将配置保存重新启动mysql服务
service mysqld restart
使用root登录,输入密码的地方直接按回车键
mysql -u root -p
使用UPDATE直接编辑user表
mysql> use mysql;
mysql> UPDATE user SET password=PASSWORD("newpass")WHERE user='root';
mysql> flush privileges;
(
flush privileges mysql 刷新权限表;新设置用户或更改密码后需用flush privileges刷新MySQL
的系统权限相关表,否则会出现拒绝访问
)
密码修改完之后再把配置文件中添加的skip-grant-tables删除,重新启动数据库,就可以使用新的密码登录了。
其他更改root密码的方法
1使用set password命令
格式:mysql> set password for 用户名@localhost = password('新密码');
2使用mysqladmin
格式:mysqladmin -u用户名 -p旧密码 password 新密码 (注意是否有空格)