大家往往会想到“skip-grant-tables”参数,介绍一个非常有用的mysql启动参数—— --“skip-grant-tables”。顾名思义,就是在启动mysql时不启动“grant-tables”,授权表 。有什么用呢?当然是忘记管理员密码后有用。
1.关闭 MySQL数据库,因为root密码忘记了,mysqladmin无法使用,此时,只能通过kill pid关闭程序。
2.在my.cnf文件[mysqld]部分 添加 skip-grant-tables参数
3.登录数据库,修改 root账户的密码
以下是修改root密码的三种方式:
1> mysql> set password for 'root'@'localhost'=password('123'); 无需刷新权限表
2> mysql> update mysql.user set password=password("456") where user="root" and host="localhost";
mysql> flush privileges;
3> # mysqladmin -u root password "123"
4.关闭 数据库,注释掉 skip-grant-tables参数,重新启动 数据库。