
一:mysql用户管理
mysql是一个tcp的服务器,用于操作服务器上的文件数据,接收用户端发送的指令,而接收指令时就
需要考虑安全问题。
在mysql自带的数据库中有4个表是用于用户管理的,分别是user,db,tables_priv,columns_priv,其
优先级分别是从高到低。
1:创建用户的语句:
语法:create user 用户名@"主机地址" identified by "密码";
这里的主机地址不是服务器地址,而是表示这个账户可以在哪台电脑上登录。
2:授权的语句:
语法:grant [权限的名称 select insert.... | all ] on 数据库.表名 to 用户名@"主机地址";
3:授权的语句之授权给别的账户:
语法:grant [权限的名称 select insert.... | all ] on 数据库.表名 to 用户名@"主机地址" with grant option;
with grant option 这个用户可以将他有的权限授予给别的账户,如果授权时用户不存在,则会直接自动创建用户。
4:删除权限:
语法:revoke 权限的名称 on 数据库.表名 from 用户名@"主机名";
5:刷新/重载权限表:
语法:flush privileges;
6:删除用户:
语法:drop user 用户名@"主机地址";
二:pymysql模块:python编写的mysql客户端
pymysql模块使用步骤:
1:首先与数据库服务器建立链接
2:获取游标对象 (用于发送和接收数据)
3:用游标对象执行sql语句
4:使用fetch方法来获取执行的结果
5:关闭链接 (先关游标,再关链接)
游标的常用方法:
1:创建游标:conn.cursor (指定查询结果的数据类型)
2:execute (用于执行sql)
3:fetchone (当sql只有一条记录时)
fetchmany (sql有多条并且需要指定条数)
fetchall (多条)
4:scroll (用于修改游标的当前位置)
注意:pymysql 默认不提交修改 这里的修改指的是对表中记录的操作不提交,但是像删库,删表是无法撤销的。