首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL用户详解(mysql.user)

MySQL是一个多用户管理数据库,可以为不同用户分配不同权限,分为root用户和普通用户,root用户为超级管理员,拥有所有权限,而普通用户拥有指定权限。...MySQL是通过权限来控制用户对数据库访问,权限存放在mysql数据库中,主要权限有以下几个:user,db,host,table_priv,columns_priv和procs_priv,先带你了解是...user。...用户列(用户连接MySQL数据库需要输入信息) Host:主机名,双主键之一,值为%时表示匹配所有主机。User:用户名,双主键之一。Password:密码名。...Drop_priv 确定用户是否可以删除现有数据库和 Reload_priv 确定用户是否可以执行刷新和重新加载MySQL所用各种内部缓存特定命令,包括日志、权限、主机、查询和重新加载权限 Shutdown_priv

2.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL user损坏案例一则

    解决尝试: 1、重启--失败 2、修改参数重启--失败 3、查看系统日志-- 发现有oom提示,增加主机资源配置重启--失败(oom时间没有对准) 仔细分析现象,查看日志。...分析过程: ps -ef | grep mysql 发现进程不在了,但是隔一会儿又会出现,pid一直在变化。...于是,我查了一下mysqld.service配置,发现了如下启动策略: 我注释掉该启动策略,mysqld进程也不闪现了。 手动重启一下,观察日志,报错如下: 结论:user损坏。...解决方案: 1、mysql参数my.cnf 中[mysqld]下添加 skip-grant-tables 2、启动mysql service mysqld start 3、登录mysql客户端 mysql...> repair table mysql.user; 4、注释掉参数中 skip-grant-tables,重启服务,问题解决。

    1.3K30

    MySQLUSER()和CURRENT_USER()区别

    ,如果把 USER() 手动替换成对应账户的话,则可以正常执行: mysql> ALTER USER test@'%' IDENTIFIED WITH ......Query OK, 0 rows affected (0.10 sec) 如果再改成 CURRENT_USER() 也是可以执行mysql> ALTER USER CURRENT_USER()...我们来看下文档中解释: CURRENT_USER, CURRENT_USER() Returns the user name and host name combination for the MySQL...简言之,CURRENT_USER() 返回是当前用户所对应授权账户,而 USER() 返回是当前连接用户。...-------+ 这下看明白了吧,也就是说,同一个授权账户,可能会从不同主机/不同方式连接到MySQL Server端,这时 CURRENT_USER() 返回是对应授权账户,而 USER() 返回就是包含该账户当前连接客户端地址

    96040

    MySQLUSER()和CURRENT_USER()区别

    USER()和CURRENT_USER()一点不同 某次在用 ALTER USER 想要修改账户密码时,发现执行下面的SQL会报语法错误: mysql> ALTER USER USER() IDENTIFIED...,如果把 USER() 手动替换成对应账户的话,则可以正常执行: mysql> ALTER USER test@'%' IDENTIFIED WITH ......Query OK, 0 rows affected (0.10 sec) 如果再改成 CURRENT_USER() 也是可以执行mysql> ALTER USER CURRENT_USER()...我们来看下文档中解释: CURRENT_USER, CURRENT_USER() Returns the user name and host name combination for the MySQL...-------+ 这下看明白了吧,也就是说,同一个授权账户,可能会从不同主机/不同方式连接到MySQL Server端,这时 CURRENT_USER() 返回是对应授权账户,而 USER()

    95130

    MySQL实战第十三讲-为什么数据删掉一半,文件大小不变?

    经常会有同学来问我,我数据库占用空间太大,我把一个最大删掉了一半数据,怎么文件大小还是没变? 那么今天,我就和你聊聊数据库空间回收,看看如何解决这个问题。...在 MySQL 8.0 版本以前,结构是存在以.frm 为后缀文件里。而 MySQL 8.0 版本,则已经允许把结构定义放在系统数据中了。...因为,一个表单独存储为一个文件更容易管理,而且在你不需要这个时候,通过 drop table 命令,系统就会直接删除这个文件。而如果是放在共享空间中,即使删掉了,空间也是不会回收。...但是,我们遇到更多删除数据场景是删除某些行,这时就遇到了我们文章开头问题:数据被删除了,但是空间却没有回收。 我们要彻底搞明白这个问题的话,就要从数据删除流程说起了。...这些可以复用,而没有使用空间,看起来就像是“空洞”。 实际上,不止是删除数据会造成空洞,插入数据也会。 如果数据是按照索引递增顺序插入,那么索引是紧凑

    80921

    MYSQL无备份情况下恢复误删除user权限

    重要事情说三遍) 环境说明: MYSQL 5.7版本 端口:3306和3309 说明:3309是故障实例,3306是协助在没有备份情况下做恢复 下面开始故障模拟和恢复: 1、查看一下目前user中存在用户...~]# mysql -u root -pXXXXXXXX -S /tmp/mysql3309.sock 第一种情况:误删除了user,进程是启动(只要用户不手动去kill进程,进程是运行) 第二种情况...:误删除了user,进程被杀掉了,mysql服务处理停机状态,那么重启实例,肯定会报错(后面可以看到) 第一种情况:MYSQL服务进程是启动 恢复方法: 从其他运行好数据库或官方文档找到mysql5.7...(也就是上述环境中3306端口实例)中,将数据库文件下user物理文件拷贝到故障实例数据文件目录下,(5.7版本user是myisam引擎,会存在三个物理文件) [root@VM_54_118...ON 但是可以发现,恢复成功后user是您拷贝实例(也就是3306端口实例)user哦。。。

    2K31

    MySQL深入学习第十三篇-为什么数据删掉一半,文件大小不变?

    经常会有同学来问我,我数据库占用空间太大,我把一个最大删掉了一半数据,怎么文件大小还是没变? 那么今天,我就和你聊聊数据库空间回收,看看如何解决这个问题。...在 MySQL 8.0 版本以前,结构是存在以.frm 为后缀文件里。而 MySQL 8.0 版本,则已经允许把结构定义放在系统数据中了。...因为,一个表单独存储为一个文件更容易管理,而且在你不需要这个时候,通过 drop table 命令,系统就会直接删除这个文件。而如果是放在共享空间中,即使删掉了,空间也是不会回收。...但是,我们遇到更多删除数据场景是删除某些行,这时就遇到了我们文章开头问题:数据被删除了,但是空间却没有回收。 我们要彻底搞明白这个问题的话,就要从数据删除流程说起了。...这些可以复用,而没有使用空间,看起来就像是“空洞”。 实际上,不止是删除数据会造成空洞,插入数据也会。 如果数据是按照索引递增顺序插入,那么索引是紧凑

    69120

    django 解决扩展自带User遇到问题

    首先要扩展自带auth_user我就放个图吧, ?...我后面的功能代码中原先写有用到;User这个地方,代码运行到这里就会出错。...补充知识:Python+ django + pycharm项目之扩展默认user django为我们提供了默认user,但是在实际开发项目的基本是不满足实际情况,所以呢学习web知识,扩展默认...user是必不可少一部分,虽然很简单,但是呢还是在此来加深下自己记忆。...最后迁移数据库,使用makemigrations 和 migrate 就可以完成user扩展了,刷新数据库,是不是已经生成了0.0 以上这篇django 解决扩展自带User遇到问题就是小编分享给大家全部内容了

    1.2K60

    ShardingJDBC带你实现MySQL分库分-能不能仔细审核,mysql环境用到ip地址,我还要删掉

    作者:知识浅谈,CSDN签约讲师,CSDN原力作者,后端领域优质创作者,热爱分享创作 公众号:知识浅谈 擅长领域:全栈工程师、爬虫、ACM算法 这次都给他拿下 为什么 MySQL分库分使用逐渐增多了....username=root spring.shardingsphere.datasource.ds2.password=root # 标准分片配置ds->{0..2}含义是 # 针对employee...=ds$->{0..2}.employee # 定义数据源分片规则,按employeeid % 3 取模得到数据应放在哪个数据源 spring.shardingsphere.rules.sharding.sharding-algorithms.database-inline.type...spring.shardingsphere.rules.sharding.sharding-algorithms.database-inline.props.algorithm-expression=ds$->{id % 3} # 定义哪一个列用于生成主键 employee对应是相应名...SNOWFLAKE #机器唯一标识 spring.shardingsphere.rules.sharding.key-generators.snowflake.props.worker-id=666 #显示分库分后执行

    59040

    mysql原因及如何处理_锁了还能查询

    大家好,又见面了,我是你们朋友全栈君。...1、锁发生在insert update 、delete 中 2、锁原理是 数据库使用独占式封锁机制,当执行上面的语句时,对表进行锁住,直到发生commite 或者 回滚 或者退出数据库用户...3、锁原因 第一、 A程序执行了对 tableA insert ,并还未 commite时,B程序也对tableA 进行insert 则此时会发生资源正忙异常 就是锁...第二、锁常发生于并发而不是并行(并行时,一个线程操作数据库时,另一个线程是不能操作数据库,cpu 和i/o 分配原则) 4、减少锁概率, 1》减少insert 、update 、delete...语句执行 到 commite 之间时间。

    2K20

    MySQL8.0---Create user那些属性

    MySQL8.0---Create user那些属性 01MySQL8.0.27版本简介 MySQL目前最新版本是8.0.27,今天下载了一个,尝尝鲜。...代不设限,其他数字,跟上述描述一致。...如果是具体天数N:代表这个账号可以在N天内使用,超过之后,必须换密码 CREATE USER 'jeffrey'@'localhost' PASSWORD REUSE INTERVAL 360 DAY...另外,如果一个账号有create user权限或者有mysql.userupdate权限,则可以直接修改其他账号密码,而不需要原来密码。...简单总结一下: 利用Create user语法创建账号时候,针对账号密码本身,可以定义下面7个属性: 1、密码加密方式 2、是否加密客户端连接 3、账号密码是否有过期策略 4、账号是否锁定 5、密码历史次数策略

    90820

    MySQL 数据库sql命令查询实例演示,mysql与解锁,mysql强制解锁杀掉进程,mysql查询锁一直转圈

    show open tables where in_use > 0 命令可以查询锁。 in_use 为 1 表示这个同时两个用户使用,一个正在用,一个在锁定中。...-- 为md_class增加个写锁定 lock tables md_class write; -- 查看锁 show open tables where in_use > 0; -- 表解锁 unlock...tables; 查看锁: 特殊情况下锁定是线程阻塞导致,查询锁都查不出来,一直转圈,即使查询出也无法解锁,需要强制杀掉阻塞线程。...select * from information_schema.innodb_trx; 方法可以查询到有两条阻塞线程。...通过 kill + trx_mysql_thread_id 可以直接把对应进程杀掉。 例:kill 3886;

    4.2K30

    MySql约束

    中一定要有各种约束,通过约束,让我们未来插入数据库数据是符合预期。约束本质是通过技术收到逼迫程序员插入正确数据,反过来,站在mysql视角,凡是插入进来数据,都是符合数据约束。...一个主键可以添加到一列,或者多列上 主键;主键所在列通常是整数类型 创建时候直接在字段上指定主键 mysql> create table if not exists test_key (...,不给值,会自动系统触发,系统会从当前字段中已经有的最大值+1操作,得到一个新不同值。...对于自增长:默认是从1开始插入,如果默认插入了一个值作为起始值,则从这个起始值加1开始 所以我们在创建时候可以给自增长设置一个起始值: mysql> create table t22( -...建立外键本质其实就是把相关性交给mysql去审核了,提前告诉mysql之间约束关系,那么当用户插入不符合业务逻辑数据时候,mysql不允许你插入。

    18930

    MySQL之间关系

    之间关系 1 foreign key 2 则1多条记录对应2一条记录,即多对一 利用foreign key原理我们可以制作两张多对多,一对一关系 多对多: 1多条记录可以对应...1、先确定关系 2、找到多一方,把关联字段写在多一方 一对多  多对一或者一对多(左边多条记录对应右边唯一一条记录)  需要注意: 1.先建关联,保证关联字段必须唯一。...图片 创建 书要关联出版社 关联 create table press(id int primary key auto_increment, name char(20)); 关联 create...先建关联 create table user( id int primary key auto_increment, #主键自增 name char(10) ); 再建关联 create table...=======书和作者,另外在建一张来存书和作者关系 #关联 create table book1( id int primary key auto_increment, name varchar

    3.5K10

    MySQL操作

    #前言:我们说过,库相当于一个文件夹,表相当于文件夹里一个个文件,表里面的一条记录相当于一行内容,一条记录有对应标题,称为字段 #直观 ?...#id,name,sex,age为字段,其余一行内容称为一条记录 1.建 #创建表语法格式 Create table ( , ….....:   create table 表示创建固定关键字,student为名,有四个字段,分别表示   id:学号列, int:数字类型, 4:长度为4, not null:不为空值...字节 极大文本数据 #创建时候指定存储引擎 mysql> create table test ( -> id int(4) not null auto_increment,...#语法格式:drop table #例子:删除db库里面的student mysql> use db; Database changed mysql> show tables; #查看库中

    4.7K40

    MySQL约束

    反过来,在 mysql 角度,凡是插入进来数据,都是符合数据约束!约束最终目的就是保证数据完整性和可预期性。因此我们需要更多约束条件!...值由原来 1 变成 00001,这就是 zerofill 属性作用,如果宽度小于设定宽度(这里设置是 5),自动填充 0;要注意是,这只是最后显示结果,在 MySQL 中实际存储还是1...一个主键可以添加到一列,或者多列上,这种叫做复合主键。 在创建时候,在所有字段之后,使用 primary key (主键字段列表)来创建主键,如果有多个字段作为主键,可以使用复合主键。...六、自增长 auto_increment:当对应字段,不给值,会自动系统触发,系统会从当前字段中已经有的最大值 +1 操作,得到一个新不同值。通常和主键搭配使用,作为逻辑主键。...建立外键本质其实就是把相关性交给 mysql 去审核了,提前告诉 mysql 之间约束关系,那么当用户插入不符合业务逻辑数据时候,mysql 不允许你插入。

    13510
    领券