1、关闭服务
kill `pgrep mysqld`
2、以忽略授权表的方式启动服务
/usr/local/mysql/bin/mysqld_safe --user=mysql --skip-grant-table &
mysqld_safe --user=mysql --skip-grant-table &
注:--skip-grant:跳过权限表
3、以root用户登录并修改密码
/usr/local/mysql/bin/mysql
mysql
select host,user,password from mysql.user; # 查询用户和密码,mysql.user存放用户和密码的表
update mysql.user set password=password('456') where host='localhost' && user='root';
4、重启服务
/usr/local/mysql/bin/mysqld_safe --user=mysql &
mysqld_safe --user=mysql &
修改密码
1、使用mysqladmin命令
mysqladmin -u root -p123 password '456'
2、使用set password命令
set password for 'root'@'localhost'=password('1');
3、使用update直接编辑user表
update mysql.user set password=password('2') where user='root' and host='localhost';
4、使用alter user修改
alter user root@'localhost' identified by 'test1234';
假如已经修改mysql下的user表root账号下的host为%时,需要用下面的语句
alter user root@'%' identified by 'test1234';
flush privileges;