前置:
登录MySQL管理后台:http://localhost/phpmyadmin/
1. root 用户的密码不能在 myphpadmin 面板里面的修改密码。
root 用户权限比较特殊,修改密码时会同时修改几个表,需要用 sql 语句来修改。仅仅在myphpadmin 面板里面的修改密码是不够的,不仅修改不成功,恢复起来也非常麻烦。
2:忘记root密码
以windows为例:
1. 关闭正在运行的MySQL服务。
2. 打开DOS窗口,转到mysql\bin目录。
3. 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。
5. 输入mysql回车,如果成功,将出现MySQL提示符 >。
6. 连接权限数据库: use mysql; 。
7. 改密码:update user set password=password("123") where user="root";(别忘了最后加分号) 。
8. 刷新权限(必须步骤):flush privileges; 。
9. 退出 quit。
10. 注销系统,再进入,使用用户名root和刚才设置的新密码123登录。
3. 新建用户
首先,新建用户,CREATE USER 'tester'@localhost IDENTIFIED BY '123456';
其次,给新用户授权
grant all privileges on testDB.* to tester@localhost identified by '123456';
grant select,update on testDB.* to tester@localhost identified by '123456';
接着,刷新权限,flush privileges;
最后,别忘了用该用户登录查看是否正确。
注:当你用新用户登录时,可能会发现一直提示:ERROR 1045 (28000): Access denied for user 'keystone'@'localhost' (using password: YES)
这是由于匿名用户存在的原因,把这个用户删掉就可以了。
mysql> use mysql
mysql> delete from user where user='';
mysql> flush privileges;