-
yexindonglai@163.com
2023-01-30 11:37
Mysql
1255°
0
简介一、配置注意事项二、创建全文索引三、查询语句四、检索模式1、自然语言检索2、布尔检索2.1、布尔检索INBOOLEANMODE的特色:2.2、布尔检索INBOOLEANMODE搜索语法规则:五、举个栗子1、查询包含hello且不包含hi的行+-2、nooperator3、短语搜索""简介Mysql5.6之后的版本innodb存储引擎才支持全文索引,在5.6之前,只有myisam存储引擎支持全文索引;MySQL从5.7.6版本开始,MySQL就内置了ngram全文解析器,用来支持中文、日文、韩文分词。在MySQL5.7.6版本之前,全文索引只支持英文全文索引,不支持中文全文索引,需要利用分词
-
yexindonglai@163.com
2022-08-04 17:54
Mysql
1125°
0
批量修改表中字段字符集和排序规则批量修改表字符集和排序规则批量修改表中字段字符集和排序规则ALTERTABLErino_device.`rino_device_user_ref`MODIFY`device_id`VARCHAR(50)CHARACTERSETutf8mb4COLLATEutf8mb4_general_ciCOMMENT'设备id';ALTERTABLErino_device.`rino_device_user_ref`MODIFY`user_id`VARCHAR(32)CHARACTERSETutf8mb4COLLATEutf8mb4_general_ciCOMMENT'用户i
-
yexindonglai@163.com
2022-07-18 21:04
Mysql
1172°
0
创建索引第一种方式create创建唯一索引创建普通索引全文索引多列索引第二种方式alter添加主键索引添加普通索引添加唯一索引添加全文索引第三种方式建表时添加索引删除索引第一种方式DROP第二种方式alter查看索引创建索引第一种方式create格式CREATE[UNIQUE]INDEX[indexName]ONtable_name(column))创建唯一索引CREATEUNIQUEINDEXindex_nameONtable_name(column)创建普通索引CREATEINDEXindex_nameONtable_name(column)全文索引createfulltextindexi
-
yexindonglai@163.com
2022-06-27 10:40
Mysql
1149°
0
一、MySQL权限级别介绍二、查看用户权限三、查看单个用户的权限字段说明四、授权1、授权格式2、全局授权3、单个数据库授权4、单个数据库单个表授权5、、单个数据库单个表授权某些字段授权4、刷新权限五、回收权限完一、MySQL权限级别介绍全局:可以管理整个MySQL库:可以管理指定的数据库表:可以管理指定数据库的指定表字段:可以管理指定数据库的指定表的指定字段权限存储在mysql库的user,db,tables_priv,columns_priv,procs_priv这几个系统表中,待MySQL实例启动后就加载到内存中二、查看用户权限SELECTuser,hostFROMmysql.user;三
-
yexindonglai@163.com
2022-06-25 11:37
Mysql
1036°
0
问题解决方案刷新权限完问题在mac上,使用.dmg文件安装了mysql8.0.12,使用navicat连接mysql数据库时,报错:2059-Authenticationplugin'caching_sha2_password'cannotbeloaded:dlopen(../Frameworks/caching_sha2_password.so,2):imagenotfound首先我们进入mysql看下mysql的加密方式mysql-uroot-pusemysql;#查看加密方式selectuser,host,plugin,authentication_stringfromuser;结果如下
-
yexindonglai@163.com
2022-03-01 13:32
Mysql
1801°
0
有时候,我们会发现,在远程登录数据库的时候用root用户是需要密码的,但是服务本地登录root时却不用密码,而且里面也没有我们要的数据库和表,这是为什么呢?1、我查询了mysql的user表之后才发现原因,执行sqlselect*fromuser;2、查询结果是这样的3、图中可以看到,里面竟然有5个root用户,而且有三个是没有密码的,这就明白原因了,原来我们本地服务器登录的时候使用的root用户是Host为127.0.0.1的那个root用户,4、而我们远程登录的时候使用的时候用的是host为%的root用户5、这个时候要统一登录密码咋办呢?方法也简单,只留下那个Host为%的root用户就
-
yexindonglai@163.com
2022-03-01 10:50
Mysql
938°
0
前言在执行一条sql的时候,在mysql内部都会通过以下四个流程+--------------+|连接器|+--------------+\|/+--------------+|分析器|+--------------+\|/+--------------+|优化器|+--------------+\|/+--------------+|执行器|+--------------+我们都知道索引其中一个最主要作用就是加快数据的访问,那么回表、索引覆盖、最左匹配、索引下推都是mysql的内部优化方式,部分的功能是Mysql5.6的版本上推出的,都是针对索引的优化,如果表中没有索引的情况下,那么就不会有
-
yexindonglai@163.com
2022-03-01 10:49
Mysql
1099°
0
join算法驱动表和非驱动表的区别==AjoinB连表时,一定先查A表再查B表吗?==1、SimpleNested-LoopJoin,简单嵌套-无索引的情况2、IndexNested-LoopJoin-有索引的情况3、BlockNested-LoopJoin,joinbuffer缓冲区缓冲区大小数据量大的表和数据量小的表如何选择连接顺序细节join算法mysql只支持一种join算法:Nested-LoopJoin(嵌套循环连接),但Nested-LoopJoin有三种变种:SimpleNested-LoopJoin,简单嵌套IndexNested-LoopJoin,索引嵌套BlockNest
-
yexindonglai@163.com
2022-03-01 10:49
Mysql
944°
0
什么是分区表分区表应用场景分区表的限制2、列表分区(list分区)3、列分区4、hash分区5、秘钥分区(key分区)6、子分区添加分区分区表原理如何使用分区表注意事项什么是分区表MySQL从5.1版本开始支持分区功能,分区是将一个表的数据按照某种方式,比如按照时间上的月份,分成多个较小的,更容易管理的部分,但是逻辑上仍是一个表。还没出现分区表的时候,所有的数据都是存放在一个文件里面的,如果数据量太大,查询数据时总是避免不了需要大量io操作;使用分区表后,每个分区存放不同的数据。这样不但可以减少io。还可以加快数据的访问;为了保证MySQL的性能,我们都建议mysql单表不要太大,建议是:单表
-
yexindonglai@163.com
2022-03-01 10:45
Mysql
1244°
0
什么是锁?表锁行锁memorymyisam表共享读锁当前线程读,其他线程读(myisam)当前会话先读后写(myisam)当前会话程读,其他线程写(myisam)会话1给A表加读锁,会话1在查询查询其他表(myisam)只锁当前会话的读锁(readlocal)表独占写锁innodb事务的四个特征(ACID)脏读幻读不可重复读加共享锁(innodb)事务1读,其他事务也可以读(innodb)事务1读,事务2写会阻塞(innodb)事务A写会报错(innodb)加排它锁(innodb)意向共享锁意向排他锁自增锁模拟innodb死锁行锁演示完什么是锁?锁的存在是为了数据的一致性,我们都知道mysql