mysql 用户创建,修改和忘记root密码的操作

#创建用户
CREATE USER 'zzq'@'localhost' IDENTIFIED by 'zzq';
#flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。
#MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。
#通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。
#而不必冒太大风险。
flush privileges;
SELECT PASSWORD('zzq');
#GRANT创建用户,可以赋予权限
GRANT SELECT,UPDATE ON *.* TO 'testzzq'@'localhost' IDENTIFIED by 'zzq';
#删除用户
DROP user 'zzq'@'localhost';

#root用户修改自己的密码

mysqladmin -u root -p PASSWORD "root";#新密码一定用双引号,单引号会报错,然后输入原密码就设置成功了。
#也可以用update方法进行修改。set password=PASSWORD('新密码')

#root用户修改普通给用户的密码
SET PASSWORD FOR 'testzzq'@'localhost'=PASSWORD('newpass');
GRANT SELECT,UPDATE,DELETE ON *.* TO 'testzzq'@'localhost' IDENTIFIED by 'zzq';
#保证不修改用户权限的前提下,修改用户的密码
GRANT USAGE ON *.* TO 'testzzq'@'localhost' IDENTIFIED by 'zzq';


#如果忘记了root的密码,我们可以采取以下的方法进入
windows系统:
net stop MySql 停止mysql服务
运行 mysqld --skip-grant-tables或者 mysqld-nt --skip-grant-tables
运行 mysql -u root
设置新密码即可

Linux,和mac系统
mysqld_safe mysqld-nt --skip-grant-tables

或者 /etc/init.d/mysql start-mysqld --skip-grant-tables