数据库
首页 > 数据库> > 【MySQL】用户管理及备份

【MySQL】用户管理及备份

作者:互联网

"我们知道我们的最高权限管理者是root用户,它拥有着最高的权限,包括select、update、delete、grant等操作。一般在公司里DBA工程师会创建一个用户和密码,让你去连接数据库的操作,并给当前的用户设置某个操作的权限(或者所有权限)。
___

1. 对新用户增删改

# 创建用户
create user 'zyk'@'192.168.1.2' identified by '123';    # 指定ip为192.168.1.2的zyk用户登陆
create user 'zyk'@'192.168.%.%' identified by '123';    # 指定ip为192.168.开头的zyk用户登陆
create user 'zyk'@'%' identified by '123';    # 指定任何ip的zyk用户登陆
 
# 删除用户
drop user '用户名'@'可访问途径';
 
# 修改用户
rename user '用户名'@'可访问路径' to '新用户名'@'可访问路径';
 
# 修改密码
set password for '用户名'@'可访问路径'=Password('新密码');
 
# 取消全局密码复杂度策略
set global validate_password_policy=0;

2. 对当前的用户授权

# 查看权限
show grants for '用户名'@'IP地址';
 
# 刷新授权表
flush privileges;
 
# 授权zyk用户仅对db下的tb文件有查询、插入和更新的操作
grant select, insert, update on db.tb to 'zyk'@'%';
 
# 授权zyk用户从192.168.1.129主机复制数据(用于主从复制)
grant replication slave on *.* to 'zyk'@'192.168.1.129';

# 创建基于SSL主从复制的账号
grant replication slave on *.* to 'user'@'ip' identified by 'pwd' require ssl;

# 授权所有的权限(不包括grant命令,此命令只有root用户拥有)
grant all privileges on db.tb to 'zyk'@'%';
 
grant all privileges on db.* to 'zyk'@'%';    # 此时zyk用户可对db库下的所有文件执行任何操作
grant all privileges on *.* to 'zyk'@'%';    # 此时zyk用户可对所有数据库及文件执行任何操作
 
# 取消授权
revoke all on db.tb from 'zyk'@'%';    # 取消zyk用户对db下的tb文件的所有权限
revoke all on db.* from 'zyk'@'%';    # 取消来自远程服务器的zyk用户对数据库db下所有表的所有权限
revoke all privileges on *.* from 'zyk'@'%';    # 取消来自远程服务器的zyk用户对所有数据库及表的权限

3. 备份

# 备份:数据表结构 + 数据
mysqldump -u root db > db.sql -p
 
# 备份:数据表结构
mysqldump -u root -d db > db.sql -p
 
# 备份:所有库
mysqldump -u root -p --all-databases > all_db.sql 
 
 
# 导入
create database new_db;    # 先创建一个新的数据库:new_db
mysqldump -u root -d new_db < db.sql -p    # 再将已有的数据库文件导入到new_db数据库中

"

标签:grant,备份,db,zyk,192.168,用户,MySQL,权限
来源: https://www.cnblogs.com/zyk01/p/11375871.html