mysql分为root用户和普通用户
root用户为超级管理员,具有所有权限,如创建用户/删除用户/管理用户等
mysql回自动安装一个mysql数据库
user表42个字段
大概分为四类
1.用户列
Host和User 为user表的联合组件
当用户和服务器建立连接时,输入的用户名、主机和密码必须匹配
2.权限列
priv结尾的字段 如Select_priv;
user表对应的权限确定了用户的权限(查询/修改/关闭服务器等权限
ENUM类型
Y有 N无 默认为N
3.安全列
ssl_type和ssl_cipher:用于加密
x509_issuer 和 x509_subject标准:可以用来标识用户
plugin和authentication_string:用户存储与授权相关的插件
注使用命令:
SHOW VARIABLES LIKE 'have_openssl'
如果有have_openssl:DISABLED
则表示不支持加密
4.资源控制列
max_questions; 每小时允许用户执行查询操作的次数。
max_updates; 每小时允许用户执行更新操作的次数。
max_connections; 每小时允许用户建立连接的次数。
max_user_connections; 允许单个用户同时建立连接的次数。
创建用户的三种方式
1.GRANT /自动加载权限表不需刷新
只有查询权限的user用户密码为123
GRANT SELECT ON lianshou.tab00 TO 'user1'@'localhost' IDENTIFIED BY '123';
2.CREATE USER //创建没有权限的用户 user2用户密码为123 没有权限
CREATE USER 'user3'@'localhost' IDENTIFIED BY '123';
3.INSTER
INSERT INTO mysql.user(Host,User,Password,ssl_cipher,x509_issuer,x509_subject) values('localhost','user4',PASSWORD('123'),'','','');
FLUSH PRIVILEGES; //INSERT没有刷新的权限 需要手动刷新或重启mysql服务
ssl_cipher,x509_issuer,x509_subject 需要设置这三个的默认值 其它均有默认值
PASSWORD是密码加密函数
删除用户
DROP USER 'user4' @'localhost';
或
DELETE FROM mysql.user WHERE Host='localhost' AND User = 'user3';
修改root用户密码
在命令窗口中修改
mysqladmin
修改root用户的密码为newpwd1
mysqladmin -u root -p password newpwd1
password是关键字不是新密码
-h默认是localhost 所以省略
WINDOS用户需要在C:\Document and Setting\Administrator 目录下修改
UPDATE
新密码:root1
UPDATE mysql.user set Password=PASSWORD('root1') WHERE User = 'root' and Host = 'localhost';
flush privileges; //刷新权限
SET修改root用户的密码
SET PASSWORD=PASSWORD('root2');
或
SET PASSWORD FOR 'username'@'hostname'=PASSWORD('new_password'); //**root修改普通用户的密码**
普通用户修改密码
SET PASSWORD=PASSWORD('root2');