首页
学习
活动
专区
圈层
工具
发布

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

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

    MySQL之delete user和drop user 的区别

    MySQL之delete user和drop user 的区别 Tip:在MySQL中,我们经常需要创建用户和删除用户,创建用户时,我们一般使用create user或者grant语句来创建,create...首先,我们看看delete from mysql.user的方法。...表中的这两个用户,在去查看用户表,我们发现: mysql 15:20:43>>delete from mysql.user where user='yeyz'; Query OK, rows affected...表里面删除了这个用户,但是在db表和权限表里面这个用户还是存在的,为了验证这个结论,我们重新创建一个yeyz@localhost的用户,这个用户我们只给它usage权限,其他的权限我们不配置,如下: mysql...方法删除用户的时候,会连通db表和权限表一起清除,也就是说删的比较干净,不会对以后的用户产生任何影响。

    1.8K10

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

    ~]# mysql -u root -pXXXXXXXX -S /tmp/mysql3309.sock 第一种情况:误删除了user表,进程是启动的(只要用户不手动的去kill进程,进程是运行的) 第二种情况...:误删除了user表,进程被杀掉了,mysql服务处理停机状态,那么重启实例,肯定会报错(后面可以看到) 第一种情况:MYSQL服务进程是启动的 恢复方法: 从其他的运行好的数据库或官方文档找到mysql5.7...版本user表结构,然后手动的进行创建; CREATE TABLE `user` ( `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '', `User...表的物理文件拷贝到故障实例的数据文件目录下,(5.7版本user表是myisam引擎,会存在三个物理文件) [root@VM_54_118_centos ~]# ll /data/mysql/mysql...=ON 但是可以发现,恢复成功后的user表是您拷贝实例(也就是3306端口实例)的user表哦。。。

    2.5K31

    Navicat mysql报错 1142 – SELECT command denied to user ‘xxx‘@‘localhost‘ for table ‘user‘

    主机上的MYSQL可以有很多个数据库,这个MYSQL有一个root账户,这个账户可以随意操作其他数据库账户的权限。...这里的问题就在于user1的权限不足,我们就需要用root赋予user1更大的权限。 那么root账号是啥,密码又是啥?...//切换到D盘盘符 C:\Users\Administrator>D: //切换到MYSQL目录下,目录获取方法请看上一步骤 D:\>cd D:\BtSoft\WebSoft\mysql\MySQL5.5...\bin //用root登陆MYSQL,指令:mysql -hlocalhost -uroot -p密码 D:\BtSoft\WebSoft\mysql\MySQL5.5\bin>mysql -hlocalhost...//不清楚这是干啥的(滑稽 mysql> use mysql Database changed //输出用户名为sql_dora的信息 mysql> select * from user where user

    4.1K30

    mysql报错 1142 – SELECT command denied to user ‘root_ssm’@’localhost’ for table ‘user’「建议收藏」

    错误信息的字面意思是:表“user”拒绝用户“root_ssm”@“localhost”的SELECT命令 ,很明显用户没有查看user表的权限,用管理员账号给他授权就行了 一、使用客户端授权(Navicat...Premium 12) 1、使用root用户登陆mysql 2、新建查询,输入指令: use mysql; select * from user where user=’root_ssm’; SQL...二、使用Mysql的命令行客户端 1、root用户登陆mysql 2、查看’root_ssm’用户的信息 use mysql; select * from user where user='root_ssm...3、修改root用户的localhost权限 update user set Select_pri='Y' where user='root_ssm' 根据查询结果中的列名,一个一个的写update语句修改..., 全部改好后再刷新MySQL的系统权限相关表: flush privileges; 4、修改好后查看表信息 之后重启mysql服务,权限就都有了。

    11.6K20

    java mysql 分区表_mysql分区表

    对用户来说,分区表是一个独立的逻辑表,但是底层由多个物理子表组成。实现分区的代码实际上是对一组底层表的句柄对象的封装。 mysql在创建表时使用PARTITION BY子句定义每个分区存放的数据。...分区表本身也有一些限制,下面是其中比较重要的几点: 1.一个表最多只能有1024个分区。 2.在mysql5.1中,分区表达式必须是整数,或者是返回整数的表达式。...在mysql5.5中,某些场景中可以直接使用列进行分区。 3.如果分区字段中有主键或者唯一索引的列,那么所有主键列和唯一索引列都必须包含进来。 4.分区表中无法使用外键约束。...update操作 当更新一条记录时,分区层先打开并锁住所有的底层表,mysql先确定需要更新的记录在哪个分区,然后取出数据并更新,再判断更新后的数据在哪个分区,最后对底层进行写入操作,并对原数据所在的底层表进行删除操作...虽然每个操作都有“先打开并锁住所有的底层表”,但这并不是说分区表在处理过程中是锁住全表的。如果存储引擎能够自己实现行级锁,例如innoDb,则会在分区层释放对应表锁。

    10.4K10

    关于MySQL DNS解析探究之二:unauthenticated user

    把这篇没写完的文章写完,2015年的事就不留到2016了 开启DNS解析 mysql> show variables like 'skip_name_resolve'; +---------------...----------------+-------+ 通过代码模拟用户查询请求,不断的建立连接执行sql查询,然后通过show processlist命令查看连接情况: JAVA代码一 /** * MySQL...16.242444797905648 median: 12.0 skewness: 20.270437547223214 kurtosis: 463.94461541900915 发现最大值421ms mysql...skewness: 20.655330340756084 kurtosis: 471.9124123214076 对比上一次开启DNS解析,这次的结果性能有所提高,上一次的均值是14ms,这次为10ms mysql...的用户 目前可得出如下结论: DNS解析确实会影响连接建立的性能,但是DNS解析开启与否,与出现unauthenticated user没有关系 猜想unauthenticated user的出现应该是连接在建立的过程中出现的临时状态

    1.5K80
    领券