MySQL
帝壹
天道酬勤。
天助自助者。
展开
-
mysql中查询字段为null或者不为null
在mysql中,查询某字段为NULL时,切记不可用 = null,而是 is null,不为空则是 is not nullselect * from table_name where column_name is null;select * from table_name where column_name is not null;原创 2016-06-13 08:57:59 · 1771 阅读 · 0 评论 -
MySQL数据库水平分表策略--一致性hash
一致性hash算法缘起一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。 一致性hash算法提出了在动态变化的Cache环境中,判定哈希算法好坏的四个定义:1. 平衡性(Ba原创 2017-04-21 13:45:08 · 17388 阅读 · 1 评论 -
MySQL系列之二:配置远程连接
配置远程连接mySQL安装完后,默认只能在本机进行SQL客户端的访问,如果你要使用一台远程主机,比如説: mySQL安装在192.168.0.1上,你要通过192.168.0.2上的mySQL客户端登录192.168.0.1访问,默认是不允许的。 为了能够远程访问mySQL你必须配置远程可连接的用户信息。 一般来説: 为了简单,我们可以配置一个用户,用户名为“username@%”,这个%代原创 2017-04-08 17:33:27 · 339 阅读 · 0 评论 -
MySQL系列之一:配置参数
对于参数说明,为了便于学习,它分为了一个基础版,一个升级版。基础版的参数说明: 适用于一般开发、测试迅速搭建mysql环境。升级版的参数说明:适用于一般DBA和架构师级别。一、基础版 [mysqld] #myslqd服务运行时的端口号 port=3306 #socket文件是在Linux环境下特有的,用户的客户端软件连接可以不通过TCP/IP网络而直接使原创 2017-04-08 17:26:33 · 638 阅读 · 0 评论 -
MySQL查看和新增表分区
1、查看表分区SELECT partition_name part, partition_expression expr, partition_description descr, FROM_DAYS(partition_description) lessthan_sendtime, table_rowsFROM INFORMATION_SCHEMA.partitions原创 2017-05-25 15:37:06 · 4975 阅读 · 0 评论 -
MySQL查看和修改表引擎
1 查看系统支持的存储引擎show engines;2 查看表使用的存储引擎两种方法:a、show table status from db_name where name='table_name';b、show create table table_name;如果显示的格式不好看,可以用\g代替行尾分号有人说用第二种方法不准确(http://guaniuzhijia.blog.163.com/b转载 2017-05-17 11:55:07 · 564 阅读 · 0 评论 -
MySQL表的四种分区类型详解
摘要: 本文讲的是MySQL表的四种分区类型详解, 一、什么是表分区 通俗地讲表分区是将一大表,根据条件分割成若干个小表。mysql5.1开始支持数据表分区了。 如:某用户表的记录超过了600万条,那么就可以根据入库日期将表分区,也可以根据所在地将表分区。当然也可根据其他的条件分区。一、什么是表分区通俗地讲表分区是将一大表,根据条件分割成若干个小表。mysql5.1开始支持数据表分区了。 如:某用户转载 2017-05-25 15:29:03 · 936 阅读 · 0 评论 -
修改配置,MySQL启动报:[ERROR] The server quit without updating PID file
修改配置后MySQL启动不了,报错:[root@localhost mysql]# service mysql restart Starting MySQL...[ERROR] The server quit without updating PID file (/usr/local/mysql/data/mysqld.pid). 看见这个不要惊慌,先把刚才修改的配置注释掉,看是不是配置有误!原创 2017-05-18 16:40:28 · 77550 阅读 · 9 评论 -
MYSQL性能查看(命中率,慢查询)
网上有很多的文章教怎么配置MySQL服务器,但考虑到服务器硬件配置的不同,具体应用的差别,那些文章的做法只能作为初步设置参考,我们需要根据自己的情况进行配置优化,好的做法是MySQL服务器稳定运行了一段时间后运行,根据服务器的”状态”进行优化。1、列出MySQL服务器运行各种状态值:mysql> show global status;2、查询MySQL服务器配置信息语句:mysql> show va转载 2017-06-01 16:57:48 · 1775 阅读 · 0 评论 -
MySQL深翻页、MySQL跳页
以前我在mysql中分页都是用的 limit 100000,20这样的方式,我相信你也是吧,但是要提高效率,让分页的代码效率更高一些,更快一些,那我们又该怎么做呢?分页的基本原理:代码如下:mysql explain SELECT * FROM message ORDER BY id DESC LIMIT 10000, 20***************** 1. row ************原创 2017-06-06 17:06:51 · 7038 阅读 · 1 评论 -
Jmeter JDBC使用指南
Jmeter JDBC使用指南一、安装1.1 安装 jdk1、下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载时注意区分32位和64位。2、解压安装到指定目录安装时会出现两次安装提示,第一次是安装jdk,第二次是安装jre。选择自己的安装路径。原创 2017-06-21 10:59:05 · 4603 阅读 · 0 评论 -
mysqldumpslow使用总结
mysqldumpslow使用总结缘起:生成环境中MySQL出现查询慢的问题,为了分析慢查询,开启慢查询日志,并对日志进行分析。 为了避免在生成环境中产生误操作,把记录的慢查询日志copy回来,到自己的电脑中进行分析。 分析结果:[root@dras-test local]#mysqldumpslow -a -s t -t 2 /opt/slow_query_log.txt Reading my原创 2017-06-20 17:02:03 · 4384 阅读 · 0 评论 -
MySQL 全文检索
MySQL 全文检索支持MySQL 全文检索支持MyISAM 40以上InnoDB564以上全文检索语法检索方式简单示例MySQL全文索引相关配置注意事项MyISAM (4.0以上)从MySQL 4.0以上 myisam引擎就支持了full text search 全文搜索。 那么怎么使用了,简单看看: 1.创建一个表,指定支持fulltext的列 CREATE TABLE a原创 2017-06-27 10:26:34 · 1128 阅读 · 0 评论 -
MySQL导出csv文件并分割成多列
今天用命令行语句导出csv文件,结果使用python读取的时候,发现只有一列,疑惑。。。上网搜资料: 1、CSV文件默认以英文逗号做为列分隔符,换行符作为行分隔符。 2、select uid,lid from test into outfile '/tmp/datasets.csv';默认以’\t’做为字段分隔符,换行符作为行分隔符。 因此需要指定字段分隔符为‘,’,如下:select ui原创 2017-09-15 13:41:27 · 7452 阅读 · 0 评论 -
mysql远程可以登陆本地登陆不了(user表中host字段的通配符%)
在MySQL数据库中,使用select user();查看当前登陆用户。mysql中host字段的%与localhost不是谁包括谁的问题,是由精确到模糊进行匹配的。说明当用户从客户端请求登陆时,MySQL将授权表中的条目与客户端所提供的条目进行比较,包括用户的用户名,密码和主机。授权表中的Host字段是可以使用通配符作为模式进行匹配的,如test.example.com, %.example.co原创 2017-04-06 13:38:20 · 5748 阅读 · 0 评论 -
MySQL系列之八:中间件
360 Atlas 较为活跃,Atlas 是由 360 Web平台部基础架构团队开发维护的一个基于 MySQL 协议的数据中间层项目。它是在mysql-proxy 0.8.2版本的基础上,对其进行了优化,增加了一些新的功能特性。360内部使用 Atlas 运行的 MySQL 务,每天承载的读写请求数达几十亿条。 主要功能: 1. 读写分离 2. 从库负载均衡转载 2017-04-15 10:24:17 · 5889 阅读 · 0 评论 -
mysql把字符串转化为整数
1、字段column_name+0例如:将pony表中的d 进行排序,可d的定义为varchar,可以这样解决select * from pony order by (d+0);2、cast(字段 as unsigned)例如:将表A记录按name 字段从小到大排列select * from A order by cast(name as unsigned);原创 2016-06-13 09:06:00 · 3432 阅读 · 0 评论 -
mysql的从另外一张表update多个字段
UPDATE table_name as a INNER JOIN DoNotCallList b ON (a.tmpphone=b.PhoneNo) SET a.donotcall=b.status,a.DateOfLastDNCLScrub=b.DateCreated;大数据量联合查询时,需要把tmpphone,PhoneNo两个字段分别加索引,提高效率。原创 2016-06-13 09:09:29 · 1944 阅读 · 0 评论 -
Mysql Got error 28 from storage engine错误
Mysql Got error 28 from storage engine错误磁盘临时空间不够导致。 解决办法: 清理/tmp目录,或者修改my.cnf中的tmpdir参数,指向具有足够空间目录 linux版本是my.cnf,一般会放在/etc/my.cnf,/etc/MySQL/my.cnfMysql不能正常运行,tmp目录所在原创 2016-07-04 09:50:53 · 538 阅读 · 0 评论 -
MySQL中文乱码解决方法
原文:http://www.2cto.com/database/201108/101151.htmlMySQL会出现中文乱码的原因不外乎下列几点:1.server本身设定问题,例如还停留在latin12.table的语系设定问题(包含character与collation)3.客户端程式(例如php)的连线语系设定问题强烈建议使用utf8!!!!utf8可以兼容世界上所转载 2016-07-21 09:34:16 · 367 阅读 · 0 评论 -
实例解析MySQL性能瓶颈排查定位
优化系列 | 实例解析MySQL性能瓶颈排查定位原文地址:http://imysql.com/2016/01/13/mysql-optimization-case-howto-find-performance-bottleneck.shtml排查过程收到线上某业务后端的MySQL实例负载比较高的告警信息,于是登入服务器检查确认。1. 首先我们进行OS层面转载 2016-10-09 14:14:09 · 935 阅读 · 0 评论 -
MySQL修改列
添加列:alter table 表名 add column 列名 varchar(30); 在某列后添加列:alter table 表名 add column 列名 varchar(30) after other_列名; 删除列:alter table 表名 drop column 列名;修改列名: alter table 表名 change old_列名 new_列名 int;修改列属性:原创 2017-02-28 09:21:47 · 775 阅读 · 0 评论 -
MySQL系列之三:慢查询日志及分析
一、打开慢查询日志配置参数,统计有问题的SQL[mysqld] … … slow_query_log log-short-format slow_query_log_file=/var/log/mysqld-slow-query.log long-query-time = 2 #log-long-format #log-slow-admin-state原创 2017-04-08 17:48:45 · 2405 阅读 · 0 评论 -
MySQL系列之四:慢sql语句分析
MySQL使用profiling分析慢sql语句的原因MySQL 的 Query Profiler 是一个使用非常方便的 Query 诊断分析工具,通过该工具可以获取一条Query 在整个执行过程中多种资源的消耗情况,如 CPU,IO,IPC,SWAP 等,以及发生的 PAGE FAULTS,CONTEXT SWITCHE 等等,同时还能得到该 Query 执行过程中 MySQL 所调用的各个函数在原创 2017-04-08 18:02:46 · 824 阅读 · 0 评论 -
MySQL系列之五:explain执行计划分析
MySQL执行计划 (explain分析sql语句)语法explain <sql语句>例如:explain select * from t3 where id=3952602; explain输出解释:+—-+————-+——-+——-+——————-+———+———+——-+——+——-+ | id | select_type | table | type | possible_keys原创 2017-04-08 18:20:40 · 418 阅读 · 0 评论 -
MySQL系列之六:存储引擎
MySQL 最常用的存储引擎中InnoDB与MyISAM的主要区别MySQL最重要的两种存储引擎InnoDB与MyISAM,这是基础,一定要知道,下面来看。1) 事务处理innodb 支持事务功能,myisam 不支持。 myisam 的执行速度更快,性能更好。2) select ,update ,insert ,delete 操作MyISAM:如果执行大量的SELECT,MyISAM是更好的选择原创 2017-04-08 20:57:46 · 640 阅读 · 0 评论 -
提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中n转载 2017-03-30 10:53:35 · 422 阅读 · 0 评论 -
mysql获取group by的总记录行数方法
mysql获取group by的总记录行数方法原方法:1. group by 后分组的前十条,在页面展示:SELECT column_id,count(*) as count FROM my_table group by column_id limit 10;2. group by的总记录数,也需要在页面显示:select count(*) from (SELECT column_id,count(原创 2017-04-01 16:12:44 · 19940 阅读 · 1 评论 -
MySQL系列之七:主从复制
一:实验环境 IP 操作系统 mysql版本号 master 192.168.25.11 CentOS7 5.6.35 slave 192.168.25.10 win10 5.7.18slave版本需要大于等于master,否则master上的一些操作slave不支持时,会导致数据不一致。Linux下安装mysql,请参考文章:http://blog原创 2017-04-14 17:09:17 · 1411 阅读 · 0 评论 -
MySQL 报错 ERROR 1290 (HY000): running with the --secure-file-priv
MySQL安全文件权限MySQL导出文件时报错:mysql> select * from t_user limit 5 into outfile '/tmp/test.csv';ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this st原创 2017-07-06 15:48:52 · 8410 阅读 · 0 评论