mysql创建数据库

Sphinx以及coreseek的安装及使用 .No1

和自甴很熟 提交于 2020-04-04 06:39:31
检索结构 php -> sphinx -> mysql 非结构化数据又叫全文数据,非固定长度字段例如文章标题搜索这类适用sphinx 全文数据搜索: 顺序扫描 : 如like查找 索引扫描 : 把非结构化数据中的内容提取出来一部分重新组织,这部分数据就叫做索引 全文检索分为两个过程 1.创建索引 2.搜索索引 创建索引: sphinx通过语言处理组件会把搜索语句中的标点符号,语气助词给过滤掉,然后处理完毕后会 分析出一些词语,传给索引组件,然后排序去除重复词语. 搜索索引: 搜索关键字 提交 -> sphinx 分析出文档ID -> mysql通过ID查询数据并返回 中文分词需要coreseek coreseek 支持中文的全文检索引擎 sphinx的安装 下载源码包 进行源码安装 ./configure --prefix=/usr/local/sphinx --with-mysql=/usr/local/mysql make && make install sphinx 中重要的三个命令(bin目录下) Indexer 创建索引命令 Searchd 启动进程命令 Search 命令行搜索命令 配置sphinx cd /usr/local/sphinx/etc cp sphinx.conf.dist sphinx.conf vi sphinx.conf 配置文件

mysql 数据类型

心已入冬 提交于 2020-04-04 04:59:02
数据类型是定义列中可以存储什么数据以及该数据实际怎么存储的基本规则。Mysql的常用数据类型主要有: 串数据类型 :最常用的数据类型,有两种基本的串类型:分别为定长串和不定长串。定长串结束长度固定的字符,其长度是创建表是指定的,不允许多于指定的字符数据,它们分配的存储空间与指定的一样多,CHAR属于定长串类型。变长串存储长度可变的文本,有些变长数据类型具有最大的定长,而有些则是完全变长的,不管哪种只有指定的数据得到保存(不会添加额外的空格保存),TEXT属于变长串类型。变长数据类型灵活,定长数据类型高效,Mysql处理定长数据类型比变长列快很多,Mysql不允许对变长列(或一个列的可变部分)进行索引,这会极大影响性能。具体类型描述如下表: 数据类型 说明 CHAR 1~255个字符的定长串,它的长度必须在创建时指定,否则MySQL假定为CHAR(1) VARCHAR 可变长度,最多不超过255字节,如在创建时指定VARCHAR(n),则可存储0~n个字符的变长串 TINYTEXT 同TEXT,最大长度为255字节 MEDUIMTEXT 同TEXT,最大长度为16K TEXT 最大长度为64K的变长文本 LONGTEXT 同Text,最大长度为4GB(纯文本,一般不会到4G) ENUM 接受最多64K个串组成的预定义集合的某个串 SET

MySQL 常见数据类型

℡╲_俬逩灬. 提交于 2020-04-04 04:58:38
原文参见: http://www.cnblogs.com/doit8791/archive/2012/05/11/2495319.html 备忘. 数据类型是定义列中可以存储什么数据以及该数据实际怎么存储的基本规则。Mysql的常用数据类型主要有: 串数据类型 :最常用的数据类型,有两种基本的串类型:分别为定长串和不定长串。定长串结束长度固定的字符,其长度是创建表是指定的,不允许多于指定的字符数据,它们分配的存储空间与指定的一样多,CHAR属于定长串类型。变长串存储长度可变的文本,有些变长数据类型具有最大的定长,而有些则是完全变长的,不管哪种只有指定的数据得到保存(不会添加额外的空格保存),TEXT属于变长串类型。变长数据类型灵活,定长数据类型高效,Mysql处理定长数据类型比变长列快很多,Mysql不允许对变长列(或一个列的可变部分)进行索引,这会极大影响性能。具体类型描述如下表: 数据类型 说明 CHAR 1~255个字符的定长串,它的长度必须在创建时指定,否则MySQL假定为CHAR(1) VARCHAR 可变长度,最多不超过255字节,如在创建时指定VARCHAR(n),则可存储0~n个字符的变长串 TINYTEXT 同TEXT,最大长度为255字节 MEDUIMTEXT 同TEXT,最大长度为16K TEXT 最大长度为64K的变长文本 LONGTEXT 同Text

Mysql学习笔记之常用数据类型

◇◆丶佛笑我妖孽 提交于 2020-04-04 04:53:53
数据类型是定义列中可以存储什么数据以及该数据实际怎么存储的基本规则。Mysql的常用数据类型主要有: 串数据类型 :最常用的数据类型,有两种基本的串类型:分别为定长串和不定长串。定长串结束长度固定的字符,其长度是创建表是指定的,不允许多于指定的字符数据,它们分配的存储空间与指定的一样多,CHAR属于定长串类型。变长串存储长度可变的文本,有些变长数据类型具有最大的定长,而有些则是完全变长的,不管哪种只有指定的数据得到保存(不会添加额外的空格保存),TEXT属于变长串类型。变长数据类型灵活,定长数据类型高效,Mysql处理定长数据类型比变长列快很多,Mysql不允许对变长列(或一个列的可变部分)进行索引,这会极大影响性能。具体类型描述如下表: 数据类型 说明 CHAR 1~255个字符的定长串,它的长度必须在创建时指定,否则MySQL假定为CHAR(1) VARCHAR 可变长度,最多不超过255字节,如在创建时指定VARCHAR(n),则可存储0~n个字符的变长串 TINYTEXT 同TEXT,最大长度为255字节 MEDUIMTEXT 同TEXT,最大长度为16K TEXT 最大长度为64K的变长文本 LONGTEXT 同Text,最大长度为4GB(纯文本,一般不会到4G) ENUM 接受最多64K个串组成的预定义集合的某个串 SET

Mysql数据库基本操作

笑着哭i 提交于 2020-04-04 01:50:43
(进入 mysql\bin 目录下) 注意在 mysql 控制台操作每句后要加分号 ; 初级篇 1、 进入数据库 mysql -u 用户名 -p 密码 2、 导出数据库 mysqldump -u 用户名 -p 密码 数据库名(表名)> 路径 备份.sql 3、 导入数据库 mysql -u 用户名 -p 密码 数据库名< 路径 备份.sql 或者进入mysql,使用source 路径 备份 此方法可以单独导入表 4、 显示所有数据库 show databases; 5、 使用数据库 use 数据库名; 6、 显示所有表 show tables; 7、 创建数据库 create database 数据库名; 8、 创建表 create table 表名(变量名 变量类型(大小)约束条件,变量名 变量类型(变量大小)约束条件,primary key(主键) ); 9、 描述表 describe 表名; 10、向表中输入数据 insert into 表名 values( ); 11、select 列 from 表 order by 列 desc/asc select count(*) from 表名 统计表中记录总数 descending 降序排列的意思 ascending 升序排列 12、删除表内容 delete from 表名 truncate table 表名 13、更新表内容

mysql innodb数据库损坏导致无法启动

假如想象 提交于 2020-04-04 01:42:35
生产环境中的mysql突然启动不了,查了原因是innodb库错误,以前就遇到过这个问题,稀里糊涂的没解决,结果导致大量数据丢失。这些又遇到这个问题,果断把那个有问题的数据库移动了别的地方,启动了mysql使用。然后正好赶上中秋节假期,所以花了两天时间认真查资料,一点点的解决问题。 因为我是用docker做了一个沙箱,但是启动不起来,在这里上面浪费了半天的时间。这个跳过,直接说一下思路和过程。有什么问题可以微信我(winsonhsu)备注mysql技术交流 整个过程需要三个库 we7 we7_old we7_tmp 1.备份数据库文件夹we7 2.设置数据库为恢复模式innodb_force_recovery = 3 3.启动数据库we7 4.此时可以看到库里的innodb数据表都没有显示出来.只有myiasm表 4.创建一个新库we7_tmp 5.使用navcat的tools>>data transfer 库建从we7到新库we7_tmp 这样就把myiasm库都复制过去了 6.还原一个过去备份的数据库we7_old,用navcat里的tool>>structure synchronization工具进行架构比较,只比较表,得到差异后只复制增加的表语句,得到innodb的表结构 innodb.sql 7.在we7_tmp中执行innodb.sql 8.将复制过来的.ibd文件与

MySQL 21道高频面试题及其解析

人盡茶涼 提交于 2020-04-03 23:52:04
Q1:MySQL主要有哪些存储引擎,分别适合哪些应用场景? 答:主要有①MyISAM,是5.5版本之前的默认存储引擎,支持表级锁,不支持事务和外键,并发效率较低,读取数据快,更新数据慢。适合以读操作为主,并且对并发性要求较低的应用。②InnoDB,MySQL目前的默认存储引擎,支持行级锁、事务和外键,并发效率好。适合对事务的完整性和并发性、数据的准确性要求比较高,增删操作多的应用。③Memory,所有的数据都保存在内存中,访问速度快,一旦服务关闭数据将丢失。适合更新不太频繁的数据量小的表用来快速得到访问结果。④Archive、Federated等。 Q2:索引是什么? 答:MySQL官方对索引的定义为:索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。 Q3:索引的优缺点有哪些? 答:①优势:提高数据检索的效率,降低数据库的IO成本。通过索引列对数据进行排序,降低数据排序的成本,降低CPU的消耗。②劣势:实际上索引也是一张表,该表中保存了主键与索引字段,并指向实体类的记录,所以索引列也是要占用空间的。 虽然索引大大提高了查询效率,同时却也降低更新表的速度,如对表进行INSERT、UPDATE

sql语句性能优化

社会主义新天地 提交于 2020-04-03 21:37:55
面试的时候被面试官问到sql语句的性能优化,回来百度才发现我了解的那些真的是凤毛麟角,废话不多说,上干货: 1, 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2,应尽量避免在 where 子句中对字段进行 null 值判断,创建表时NULL是默认值,但大多数时候应该使用NOT NULL,或者使用一个特殊的值,如0,-1作为默 认值。 3,应尽量避免在 where 子句中使用!=或<>操作符, MySQL只有对以下操作符才使用索引:<,<=,=,>,>=,BETWEEN,IN,以及某些时候的LIKE。 4,应尽量避免在 where 子句中使用 or 来连接条件, 否则将导致引擎放弃使用索引而进行全表扫描, 可以 使用UNION合并查询: select id from t where num=10 union all select id from t where num=20 5,in 和 not in 也要慎用,否则会导致全表扫描,对于连续的数值,能用 between 就不要用 in 了:Select id from t where num between 1 and 3 6,下面的查询也将导致全表扫描:select id from t where name like ‘%abc%’ 或者select id from t

MySQL DDL详情揭露

别说谁变了你拦得住时间么 提交于 2020-04-03 19:38:49
前言: MySQL中DDL语句,即数据定义语言,用于创建、删除、修改、库或表结构,对数据库或表的结构操作。常见的有create,alter,drop等。这类语句通常会耗费很大代价,特别是对于大表做表结构变更。本篇文章会揭露各类DDL语句执行的详细情况。 1.Online DDL简介 在MySQL的早期版本中,DDL操作因为锁表会和DML操作发生锁冲突,大大降低并发性。在早期版本中,大部分DDL操作的执行原理就是通过重建表的方式,因为要复制原表数据,所以会长时间锁表,只能读不能写,DDL操作和DML操作有很严重的冲突。从MySQL5.6开始,很多DDL操作过程都进行了改进,出现了Online DDL,用于支持DDL执行期间DML语句的并行操作,提高数据库的吞吐量。 MySQL 在线DDL分为 INPLACE 和 COPY 两种方式,通过在ALTER语句的ALGORITHM参数指定。 ALGORITHM=INPLACE ,可以避免重建表带来的IO和CPU消耗,保证ddl期间依然有良好的性能和并发。 ALGORITHM=COPY ,需要拷贝原始表,所以不允许并发DML写操作,可读。这种copy方式的效率还是不如 inplace ,因为前者需要记录undo和redo log,而且因为临时占用buffer pool引起短时间内性能受影响。 上面只是 Online DDL 内部的实现方式

utf8字符集下的比较规则

萝らか妹 提交于 2020-04-03 18:39:59
前言: 在MySQL中,比较常用的字符集是utf8和utf8mb4。这两个字符集是类似的,utf8是utf8mb3的别名,所以之后在MySQL中提到utf8就意味着使用1~3个字节来表示一个字符,如果大家有使用4字节编码一个字符的情况,比如存储一些emoji表情啥的,需要使用utf8mb4。其实每个字符集下对应着若干个比较规则(也可以翻译为排序规则或校对规则,英文是COLLATE),同一字符集下,使用不同的比较规则会影响字符字段的比较和排序。本文以utf8为例,介绍下常用的几个比较规则的不同。 1.utf8下比较规则概览 我们先查看下utf8字符集下支持的所有比较规则: mysql> SHOW COLLATION LIKE 'utf8\_%'; +--------------------------+---------+-----+---------+----------+---------+ | Collation | Charset | Id | Default | Compiled | Sortlen | +--------------------------+---------+-----+---------+----------+---------+ | utf8_general_ci | utf8 | 33 | Yes | Yes | 1 | | utf8_bin |