Mysql_用户权限

Mysql_用户权限

  • create database 数据库名不能有符号-
  • create tabase 的时候values检查符号'不能有这符号,否则冲突
  • 插入mysql数据乱码的时候,请把数据库字符集调整为GBK即可.

创建用户并且授权

  • grant all privileges on %1.* to '%2'@'%3' identified by '%4'%1数据库名称,%2用户名,%3host地址,%4密码
  • flush privileges;刷新权限

创建用户

  • insert into mysql.user(host, user, password) values("%", "test", password("mima"))host指的是访问主机,user用户名,password密码, 如果host设置成%则任意IP均可访问,或者可以设置成指定IP;
  • create user '%1'@'%2' identified by '%3'%1代表用户名,%2代表host地址,%3代表密码

添加权限

  • grant 权限 on 数据库.* to '用户名'@'主机地址' identified by "密码"设置权限 格式
    例子:
    1. create database testDB;创建数据库
    2. grant all privileges on testDB.* to 'test'@'%' identified by 'mima';设置用户拥有数据库testDB的所有权限
    3. grant select, update on testDB.* to 'test'@'%' identified by 'mima';设置用户拥有数据库指定权限
    4. grant select, update on *.* to 'test'@'%' identified by "mima";设置用户拥有所有数据库的指定权限;
    5. flush privileges;刷新系统权限即可.

撤销权限

grant  all on *.* to   dba@localhost;
revoke all on *.* from dba@localhost;
  • 怎么添加怎么撤销,唯独to变成from

删除用户

  • delete from user where user='用户名' and host = '主机地址';
  • flush privileges; // 刷新权限

修改用户名

输入update user set user =’新用户名’ where user =’旧用户名’
update user set user = 'xubeibei' where user = '';

修改用户密码

  • update mysql.user set password = password('新密码') where user = 'test' and host = '%';
  • flush privileges;

查询用户权限

show grants for '%1'@%'2'; %1用户名,%2host地址
查看MYSQL数据库中所有用户

查看所有用户

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

事务操作

不能开启事务的原因:mysql的储存引擎选择错了.
存储引擎改为innodb即可
alter table 表名 engine = innodb 然后重新登录msyql查看表格结构即可show table table 表名

https://www.cnblogs.com/kevingrace/p/6230523.html 详细教程

查询表格字段属性

  • desc 表名

group by的用法

  • 首先起到了分组的效果
    用select查询结果,如下图![image_1ceqrcu4ut0b6a3p9015l11kenm.png-16.9kB][3],只查到了一条信息
    如果用gruop by 则
    ![image_1ceqrgksf1mn4leprhaq9a10ok13.png-57kB][4]如图所示group by 起到了分组的效果,分组是怎么分的呢
  • 按照time字段,所有相同的time值为一组.而不是查询一条结果

复制一个表中的数据到另外一个表

![image_1cevtjgnmff7aj61ekhbv8182s9.png-17.7kB][5]

多字段分组

https://segmentfault.com/a/1190000006821331

插入失败问题检查

  1. 问题:表格好几个字段设置了NOT NULL.插入的时候检查了好几遍多不知道为什么.
    • 用QSqlQuery::lastError().text()返回错误信息.发现某列无法正确插入信息
    • 自己测试了一下,有空值的数据无法插入![image_1cepumqu3kig184d1ltf1jeq2qu1p.png-2.7kB][6]
    • 用QString::isNull来测试发现是NULL值
    • 发现表格字段属性设置为NOT NULL
    • 最终用alter table 表名 modify 字段名 类型 NULL设置字段允许NULL值,再次插入即可

猜你喜欢

转载自blog.csdn.net/wayrboy/article/details/79958857