总会用到MySQL的一些用户管理,权限分配,不经常用,总会记不清楚。整理一下,随用随取。
也是一些常见的面试小点。
我们的一些经常的需求:
- 如何创建用户和密码
- 修改用户密码
- 开启用户远程访问
- 给当前用户授权部分库/表的访问权限
- 给当前用户授权所有库的访问权限
新用户增删改
1.创建用户:
-- 创建指定IP可以登录的用户
create user '用户名'@'IP' identified by '密码';
-- 创建指定IP192.118.1.开头的用户
create user '用户名'@'192.118.1.%' identified by '密码';
-- 创建任意IP可以登录的用户
create user '用户名'@'%' identified by '密码';
2.删除用户
drop user '用户名'@'IP';
3.修改用户
rename user '用户名'@'IP' to '新用户名'@'IP';
4.修改密码
set PASSWORD for '用户名'@'IP'=PASSWORD('新密码');
用户授权管理
- 查看权限
show grants for '用户名'
- 授权用户仅对db1库中的t1表有查询、插入和更新的权限
grant select ,insert,update on db1.t1 to "用户名";
- 授权用户对db1数据库中的所有表有全部操作权限
grant all privileges on db1.* to "用户名"@'%';
- 授权用户对所有数据库有全部操作权限
grant all privileges on *.* to "alex"@'%';
取消用户权限
1· 取消可远程登录的用户对db1的t1表的全部操作权限
revoke all on db1.t1 from '用户名'@'%';
- 取消用户所有数据库的所有表的全部操作权限
revoke all privileges on *.* from '用户名';
导入导出
-- 备份:数据表结构+数据
mysqldump -u root db1 > db1.sql -p
-- 备份:数据表结构
mysqldump -u root -d db1 > db1.sql -p
-- 导入现有的数据到某个数据库
-- # 1.先创建一个新的数据库
create database db2;
-- # 2.将已有的数据库文件导入到db2数据库中
mysqldump -u root -d db2 < db1.sql -p
扫一扫,关注我