MySQL用户管理
1.MySQL用户管理
权限表
User表:用户列、权限列、安全列、资源控制列
Db表和host表:用户列、权限列
Tables_priv表和columns_priv表
Procs_priv表
账户管理
登录和退出MySQL服务器
Mysql -h hostname|hostIP -P port -u usename -p DatabaseName -e“SQL语句”
新建普通用户
用CREATE USER语句来新建普通用户:
Create USER user[IDENTIFIED BY[PASSWORD] ‘password’][,user[IDENTIFIED BY [PASSWORD]’password’]]
用INSERT语句来新创建普通用户:
INSERT INTO mysql.user(Host,User,Password)VALUES (‘hostname’,’username’,PASSWORD(‘password’))
用GRANT语句来新建普通用户:
GRANT priv_type ON database.table TO user[IDENTIFIED BY[PASSWORD]’password’] [,user[IDENTIFIED BY [PASSWORD]’password’]]
删除普通用户
用DROP USER 语句来删除普通用户:
DROP USER user[,user]…;
用DELETE语句来删除普通用户:
DELETE FROM mysql.user WHERE Host=’hostname’ AND User=’username’
Root用户修改自己的密码
使用MySQLadmin命令来修改root用户的密码:
Mysqladmin -u username -p password “new_password”
修改mysql数据库下的user表:
UPDATE mysql.user SET Password=PASSWORD(“new_password”) WHERE User=’root’ AND Host=’localhost’
使用SET语句来修改root用户的密码:
SET PASSWORD=PASSWORD("new_password”);
Root用户修改普通用户密码
使用SET语句来修改普通用户密码:
SET PASSWORD FOR ‘username’ @’hostname’=PASSWORD(“new_password”);
修改mysql数据库下的user表:
UPDATE mysql.user SET Password=PASSWORD(“new_password”) WHERE User=”username” and Host=”hostname”
用GRANT语句来修改普通用户的密码:
GRANT priv_type ON database.table TO user[IDENTIFIED BY[PASSWORD]’password’]
普通用户修改密码:
SET PASSWORD=PASSWORD('new_password’);
Root用户密码丢失的解决办法步骤:
使用——skip-grant-tables选项启动MySQL服务
登录root用户,并且设置新的密码
加载权限表
权限管理:
授权:
GRANT priv_type[(column_list)] ON database.table TO user [IDENTIFIED BY [PASSWORD]’password’][,user[IDENTIFIED BY [PASSWORD]’password’]]…
[WITH with_option[with_option]…]
收回权限:
REVOKE priv_type [(column_list)]… ON database.table FROM user[,user]…
查看权限:
SELECT* FROM mysql.user