python之路--MySQL权限管理 数据备份还原

一 权限管理

  mysql最高管理者是root用户, 这个一般掌握在公司DBA手里, 当你想去对数据库进行一些操作的时候,需要DBA授权给你.

  1. 对新用户增删改

1. 创建用户

# 要先use mysql 先进入mysql这个库下面,然后进行下面操作
# 指定ip为 192.168.1.1 的 attila用户登录 create user 'attila' @ '192.168.1.1' identified by '123'; # 123 是密码 # 指定ip为 192.168.1. 开头的attila用户登录 create user 'attila' @ '%' identified by '123'; # 指定任何ip的attila用户登录 create user 'attila' @ '%' identified by '123'; 2. 删除用户 drop user '用户名' @ 'ip地址'; 删除所有的授权的人 drop user '用户名' @ '%'; 3. 修改用户 rename user '用户名' @ 'ip地址' to '新用户名' @ 'ip地址' ; 4. 修改密码 set password for '用户名' @ 'ip地址' = password('新密码');

# 执行上述操作后要刷新权限
  flush privileges

  2.对当前用户授权管理

#查看权限
show grants for '用户'@'IP地址'

#授权 attila用户仅对db1.t1文件有查询、插入和更新的操作
grant select ,insert,update on db1.t1 to "attila"@'%';

# 表示有所有的权限,除了grant这个命令,这个命令是root才有的。attila用户对db1下的t1文件有任意操作
grant all privileges  on db1.t1 to "attila"@'%';
#attila用户对db1数据库中的文件执行任何操作
grant all privileges  on db1.* to "attila"@'%';
#attila用户对所有数据库中文件有任何操作
grant all privileges  on *.*  to "attila"@'%';
 
#取消权限
 
# 取消attila用户对db1的t1文件的任意操作
revoke all on db1.t1 from 'attila'@"%";  

# 取消来自远程服务器的attila用户对数据库db1的所有表的所有权限

revoke all on db1.* from 'attila'@"%";  

取消来自远程服务器的attila用户所有数据库的所有的表的权限
revoke all privileges on *.* from 'attila'@'%';

# 执行上述操作后要刷新权限
  flush privileges

 二 数据备份还原

  数据的备份

 

# 数据备份
mysqldump -uroot  -p123  -B crm > d:ackupcrm.sql

# 备份的操作直接打开cmd窗口就行 不用到mysql里面去, 
#    -p123之间不能空格, -B会记录备份是从哪个库备份出去的 , 
#    -B后面的库名是crm 最好备份的库名也叫crm, 后面必须要 .sql格式, 
#   备份的地方是 D:ackupcrm.sql

# 数据恢复
mysql -uroot -p123 < d:ackupcrm.sql

# 数据恢复的时候由于是用-B的模式备份的,所以恢复的时候不用重新建库了,
#    尖角朝向那边就 往哪边传数据.
原文地址:https://www.cnblogs.com/attila/p/10306244.html