时间:2021-07-01 10:21:17 帮助过:15人阅读
我们知道我们的最高权限管理者是root用户,它拥有着最高的权限,包括select、update、delete、grant等操作。一般在公司里DBA工程师会创建一个用户和密码,让你去连接数据库的操作,并给当前的用户设置某个操作的权限(或者所有权限)。
___
# 创建用户
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;
# 查看权限
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用户对所有数据库及表的权限
# 备份:数据表结构 + 数据
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数据库中
【MySQL】用户管理及备份
标签:use databases 删除 select 结构 改密码 主从复制 pwd 查看