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:\backup\crm.sql

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

# 数据恢复
mysql -uroot -p123 < d:\backup\crm.sql

# 数据恢复的时候由于是用-B的模式备份的,所以恢复的时候不用重新建库了,
#    尖角朝向那边就 往哪边传数据.

原文地址:https://www.cnblogs.com/uiys/p/10673276.html

时间: 2024-08-24 02:14:15

python--MySQL权限管理 数据备份还原的相关文章

MySQL——权限管理和备份

1.用户管理 1.1.SQL yog 可视化管理 删除用户 添加新用户 1.2.SQL 命令操作 用户表: mysql.user 本质:读这张表进行增删改查 创建用户: 修改密码 重命名 用户授权 查询权限 ROOT用户权限 撤销权限 删除用户 -- 创建用户 CREATE USER 用户名 IDENTIFIED BY '密码' CREATE USER jiang IDENTIFIED BY '123456' -- 修改密码 (修改当前用户密码) SET PASSWORD = PASSWORD(

权限管理数据表设计说明

权限管理数据表设计说明 B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个"非法用户"很可能就能通过浏览器轻易访问到B/S系统中的所有功能.因此B/S业务系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权的用户可以正常合法的使用已授权功能,而对那些未经授权的"非法用户"将会将他们彻底

mysql之数据备份还原

场景: ①由于权限控制,远程数据库在外网不能访问: ②远程数据库连接和查询比较慢,影响工作效率: ③即将发布生产时,验证数据库更新脚本是否无遗漏(如字段是否完整): 分析: 对于①.②,可以将远程数据库的表结构和已有数据COPY到本地的mysql服务器,并将配置的信息指向本地的mysql连接即可. 对于③还需要运行数据库更新脚本,并测试一遍新增功能,检查是否无异常: 操作(基于navicat for mysql) 方法一[推荐] 1.首先打开数据库连接: 2.右键数据库,选择[数据传输],如下:

mysql中的数据备份与还原

一.有三种备份方式: 1. 数据表文件备份 2. 单表数据备份 3. SQL备份 4. 增量备份 二.mysql中的存储引擎 主要有两种:myisam 和 innodb. -- 免费的 其他收费的还有:BDB, Memory, Archive innodb的存储方式:表结构单独存放,所有数据都存储在ibdata1文件中. myisam的存储方式:表.数据和索引全部单独分开存储. 二.数据表文件备份与还原 直接复制数据库目录下的文件夹复制对应的表结构和数据文件,还原的时候直接放回去即可. 但是此方

搞定linux上MySQL编程(四):mysql权限管理

[版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途] mysql中提供了比较完整的安全/权限管理系统,下面简单介绍权限的原理和使用. mysql数据库安装完成启动之后,能看当前数据库列表可以看到一个mysql的数据库: mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | |

MYSQL的日志与备份还原

一.错误日志 当数据库出现任何故障导致无法使用时,第一时间先去查看该日志 1.服务器启动关闭过程中的信息 2.服务器运行过程中的错误信息 日志存放路径,可以通过命令查看: 日志文件命名格式:host_name.err 二.二进制日志 又称BINLOG,记录所有的DDL语句和DML语句,不包括查询语句.这个日志不仅非常重要,而且作为开发人员也非常喜欢这个日志.从它的定义可以看出,这个日志记录了所有会改变表结构和表数据的事件,所以一旦数据被误删除或者因为其他原因导致数据丢失,我们可以通过这个日志将数

mysql权限管理总结

use mysql; 将dbname数据库的查询权限赋予[email protected]用户,应保持完整的用户信息,包含允许登录的IP,否则会新增任意主机的用户grant select on dbname.*  to [email protected]; 回收权限revoke select on dbname.*  from [email protected]; 多个权限以逗号间隔 如果想立即刷新权限请使用更新操作flush privileges; mysql数据库里user表管理用户的数据,

mysql笔记之常用备份还原

备份: mysqldump -u user -p pwd -h host dbname[tbname,[tbname...]]>filename.sql    ---(逻辑备份) -q or -quick    ----不占用内存 -w "WHERE Clause" or -where = "Where clause "   ----条件 --all-databases -----所有数据库 --databases    ------多个数据库,数据库之间用空

MySQL权限管理小程序

作业:      参考表结构:          用户类型          用户信息          权限          用户类型&权限     功能:           1. 登陆.注册.找回密码 2. 权限管理 3. 角色管理 4. 角色分配权限 5. 动态显示当前登陆用户权限菜单 注:可基于反射实现将权限和代码结合" 1 from sqlalchemy import create_engine 2 from sqlalchemy.ext.declarative impor