
MySQL
文章平均质量分 65
你温柔的背后是心情的曲折
技术达人
展开
-
MySQL系列—全文检索(fulltext)介绍
一、概述MySQL中的全文检索是利用查询关键字和查询列内容之间的相关度进行检索,可以利用全文索引来提高匹配的速度。二、语法MATCH (col1,col2,...) AGAINST (expr [search_modifier])search_modifier: { IN BOOLEAN MODE | WITH QUERY EXPANSION }# 例如SELECT * FROM tab_nam原创 2017-09-25 09:54:53 · 951 阅读 · 0 评论 -
MySQL系列—全文检索(fulltext)使用
1、创建全文索引(FullText index)旧版的MySQL的全文索引只能用在MyISAM表格的char、varchar和text的字段上。不过新版的MySQL5.6.24上InnoDB引擎也加入了全文索引,所以具体信息要随时关注官网。1.1、创建表的同时创建全文索引CREATE TABLE article ( id INT AUTO_INCREMENT NOT NULL PRIMARY K原创 2017-09-25 10:51:17 · 18129 阅读 · 1 评论 -
MariaDB系列—Linux下设置MariaDB的初始密码(未完成)
大概很多小伙伴安装MariaDB后,登录数据库时都会遇到下面的情况:[root@mariadb-server-01 /]# /usr/local/mariadb/bin/mysqlERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)接下来说一下解决方法一、首先停掉数据库服务[root@m原创 2017-12-08 15:23:13 · 4220 阅读 · 1 评论 -
MariaDB系列—Linux下安装 MariaDB 并同时运行 MySQL
这里虽然介绍了这种方法,但不建议(非常不建议)在一台机器上既安装Mysql又安装MariaDB,因为这两个数据库有太多“共同点”(有一些相同的数据路径),很容易一个配置的变动导致另一个运行失败。MariaDB 在安装的时候将会覆盖和删除当前安装的 MySQL,但是你还是可以让 MariaDB 和 MySQL 同时运行。 如果你希望一步一步的合并数据库或者应用程序,这个特性非常有用。如果你希望在存在原创 2017-12-08 12:32:57 · 6968 阅读 · 0 评论 -
MySQL系列—服务器安装与配置
一、安装依赖1、安装编译工具及库文件[root@localhost src]# yum -y install gcc gcc-c++ make autoconf libtool-ltdl-devel gd-devel freetype-devel libxml2-devel libjpeg-devel libpng-devel openssl-devel curl-devel bison patch原创 2017-07-11 18:56:47 · 1023 阅读 · 0 评论 -
Host is not allowed to connect to this MySQL server解决方法
今天在Linux上面装完MySQL,却发现在本地登录可以,但是远程登录却报错Host is not allowed to connect to this MySQL server,找了半天试了网上的一些方法都没有解决,最终在一篇文章里找到了解决方法,特意记录一下。先说说这个错误,其实就是我们的MySQL不允许远程登录,所以远程登录失败了,解决方法如下:在装有MySQL的机器上登录MySQL my原创 2017-11-23 13:26:39 · 1478 阅读 · 0 评论 -
Mycat系列—Mysql分片的配置
需求及环境分析1、需求把 tb_item 表分片存储到三个数据节点上。2、安装环境分析一台 mycat服务器:mycat-server:10.73.150.4两台 mysql 数据库服务器:mysql-server-01:10.73.150.54 数据库名 : db1、db3mysql-server-02:10.73.150.197 数据库名 : db2一、安装相关的软件Mysql 的原创 2017-12-06 13:04:25 · 823 阅读 · 0 评论 -
MySQL系列—主从复制的配置(传统方式)
主从复制结构图主从配置需要注意的地方:主DB server和从DB server数据库的版本一致;主DB server和从DB server数据库数据名称一致;主DB server开启二进制日志,主DB server和从DB server的server_id都必须唯一。配置过程主要分为两部分:主服务器配置;从服务器配置。一、主服务器配置1、修改my.conf文件在[mysqld]段下添原创 2017-12-06 15:10:58 · 343 阅读 · 0 评论 -
MySQL系列—索引相关的数据结构和算法(B+Tree)
MySQL目前提供了以下4种索引。B-Tree 索引:最常见的索引类型,大部分引擎都支持B树索引。HASH 索引:只有Memory引擎支持,使用场景简单。R-Tree 索引(空间索引):空间索引是MyISAM的一种特殊索引类型,主要用于地理空间数据类型。Full-text (全文索引):全文索引也是MyISAM的一种特殊索引类型,主要用于全文索引,InnoDB从MYSQL5.6版本提供对全文原创 2017-08-12 08:52:39 · 1233 阅读 · 0 评论 -
MySQL系列—慢查询优化案例
查询优化神器 – explain命令关于explain命令相信大家并不陌生,具体用法和字段含义可以参考官网,这里需要强调rows是核心指标,绝大部分rows小的语句执行一定很快(有例外,下面会讲到)。所以优化语句基本上都是在优化rows。慢查询优化基本步骤先运行看看是否真的很慢,注意设置SQL_NO_CACHE;where条件单表查,锁定最小返回记录表。这句话的意思是把查询语句的where都应用转载 2017-08-15 17:57:13 · 515 阅读 · 0 评论 -
MySQL系列—EXPLAIN 介绍
EXPLAIN 介绍为了帮助开发人员根据数据表中现有索引情况,了解自己编写的SQL的执行过程、优化SQL结构,mysql提供了一套分析功能叫做SQL执行计划(explain)。下面我们就为大家介绍一下执行计划功能的使用。讲解过程中使用的数据表的结构:# 我们所示例的数据表和SQL语句均是工作在InnoDB数据库引擎下# myuser数据表一共有4个字段,3个索引。# user_name字段上创建转载 2017-08-13 23:34:00 · 593 阅读 · 1 评论 -
MySQL系列—MySQL程序介绍
MySQL版本中提供了几种类型的命令行运用程序,主要有以下几类:1、MySQL服务器和启动脚本mysqld 是MySQL服务器主程序;mysqld_safe、mysql.server 和 mysqld_multi 是服务器启动脚本;mysql_install_db 是初始化数据目录和初始数据库。2、访问服务器的客户程序mysql 是一个命令行客户程序,用于交互式或以批处理模式执行SQL语句原创 2017-07-12 08:03:19 · 863 阅读 · 0 评论 -
MySQL系列—导入数据库文件:Unknown character set: 'utf8mb4' / mysql或MySQL server has gone away
一、Unknown character set: ‘utf8mb4’ / mysql决解方法1、首先检查MySql数据库是否支持字符集:utf8mb4命令:SHOW CHAR SET;2、如果数据库支持字符集utf8mb4,则设置数据库的字符集为utf8mb4。按照博客中文写入数据库乱码及Incorrect string value: ‘\xF0\x9F…’ for column ‘XXX’ at原创 2017-05-23 20:22:55 · 1293 阅读 · 0 评论 -
MySQL系列—复制表结构的方法小结
本文给大家分享了好几种复制表结构、表数据的示例介绍,具体详情请看下文吧。1、复制表结构及数据到新表CREATE TABLE 新表SELECT * FROM 旧表这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete from newtable;来删除。不过这种方法的一个最不好的地方就是新表中没有了旧表的primary key、Extra(au原创 2017-03-06 17:24:36 · 596 阅读 · 0 评论 -
MySQL系列—数据库锁表的分析与解决
数据库和操作系统一样,是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。加锁是实现数据库并发控制的一个非常重要的技术。在实际应用中经常会遇到的与锁相关的异常情况,当两个事务需要一组有冲突的锁,而不能将事务继续下去的话,就会出现死锁,严重影响应用的正常执行。 在数原创 2017-02-13 10:37:10 · 460 阅读 · 0 评论 -
MySQL系列—DATE_SUB 使用方法结合查询一天内,一周内,一月内的信息实例讲解
** 在对数据查询或菜单时经常要对指定的时间或时间段进行查询,例如要查询一天内的信息,要查询一周内的信息,要查询一个月内的,在此向大家介绍DATE_SUB函数,同时结合实例进行讲解,希望对大家有所帮助. **定义和用法DATE_SUB() 函数从日期减去指定的时间间隔。1.语法DATE_SUB(date,INTERVAL expr type)date 参数是合法的日期表达式。expr 参数是您原创 2016-12-19 10:00:02 · 1499 阅读 · 0 评论 -
MySQL系列—如何优化你的 SQL SELECT 语句性能
SELECT语句的性能调优有时是一个非常耗时的任务,在我看来它遵循帕累托原则。20%的努力很可能会给你带来80%的性能提升,而为了获得另外20%的性能提升你可能需要花费80%的时间。除非你在金星工作,那里的每一天都等于地球上的243天,否则交付期限很有可能使你没有足够的时间来调优SQL查询。遵循下面这些简单的步骤大部分时间我确实能得到性能提升。1、检查索引在SQL语句的WHERE和JOIN部分中用原创 2016-07-31 18:03:19 · 2081 阅读 · 0 评论 -
MySQL系列—修改多张分表的相同字段
既然是分表,肯定是按一定的规律进行分表的,比如:以下分表是按另一张表 cust_customs 的主键 id 进行分表的。那么,就可以按如下方法进行批量修改:在命令行下执行如下语句:select concat('ALTER TABLE task_sub_',id,' MODIFY two VARCHAR(5000);') from cust_customer输出结果如下:然后把输出的结果放到命令行里原创 2017-08-01 13:35:12 · 5368 阅读 · 0 评论 -
MySQL系列—聚集索引和非聚集索引
SQL SERVER 提供了两种索引聚集索引:聚集索引表示表中存储的数据按照索引的顺序存储,检索效率比非聚集索引高,但对数据更新影响较大;非聚集索引:非聚集索引表示数据存储在一个地方,索引存储在另一个地方,索引带有指针指向数据的存储位置,非聚集索引检索效率比聚集索引低,但对数据更新影响较小。聚集索引 该索引中键值的逻辑顺序决定了表中相应行的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。转载 2017-08-12 11:19:29 · 3673 阅读 · 0 评论 -
MySQL系列—详解B+Tree
配合上一篇文章理解:MySQL系列—索引相关的数据结构和算法(B+Tree)如上图,是一颗b+树,关于b+树的定义可以参见B+树,这里只说一些重点,浅蓝色的块我们称之为一个磁盘块,可以看到每个磁盘块包含几个数据项(深蓝色所示)和指针(黄色所示),如磁盘块1包含数据项17和35,包含指针P1、P2、P3,P1表示小于17的磁盘块,P2表示在17和35之间的磁盘块,P3表示大于35的磁盘块。真实的数据存原创 2017-08-13 10:00:48 · 663 阅读 · 0 评论 -
MySQL系列—建索引的几大原则和使用索引优化查询
建索引的几大原则1、最左前缀匹配原则,非常重要的原则mysql会一直向右匹配直到遇到范围查询(>、<、between、like)就停止匹配。比如a = 1 and b = 2 and c > 3 and d = 4,如果建立(a,b,c,d)顺序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引则都可以用到,a,b,d的顺序可以任意调整。2、=和in可以乱序比如a = 1 and b = 2原创 2017-08-13 10:31:24 · 5092 阅读 · 0 评论 -
MySQL系列—Scheme设计与数据类型优化
选择数据类型只要遵循小而简单的原则就好,越小的数据类型通常会更快,占用更少的磁盘、内存,处理时需要的CPU周期也更少。越简单的数据类型在计算时需要更少的CPU周期,比如,整型就比字符操作代价低,因而会使用整型来存储ip地址,使用DATETIME来存储时间,而不是使用字符串。这里总结几个可能容易理解错误的技巧:1、通常来说把可为NULL的列改为NOT NULL不会对性能提升有多少帮助,只是如果计划在列原创 2017-08-13 16:39:15 · 1462 阅读 · 0 评论 -
MySQL系列—特定类型查询优化
优化COUNT()查询 COUNT()可能是被大家误解最多的函数了,它有两种不同的作用,其一是统计某个列值的数量,其二是统计行数。统计列值时,要求列值是非空的,它不会统计NULL。如果确认括号中的表达式不可能为空时,实际上就是在统计行数。最简单的就是当使用COUNT(*)时,并不是我们所想象的那样扩展成所有的列,实际上,它会忽略所有的列而直接统计所有的行数。 我们最常见的误解也就在这儿,在括号内原创 2017-08-13 16:56:51 · 631 阅读 · 0 评论