mysql  常见报错处理

## 导入数据库备份报错1067 – Invalid default value for ‘create_time’ 临时修改 ``` set session sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'...

redis 分布式锁机制

```php <?php /** * Redis锁操作类 * public lock 获取锁 * public unlock 释放锁 * private connect 连接 */ class RedisLock { // class start private $_config; private $_redis; ...

php 操作Redis

``` /*1.Connection*/ $redis = new Redis(); $redis->connect('127.0.0.1',6379,1);//短链接,本地host,端口为6379,超过1秒放弃链接 $redis->open('127.0.0.1',6379,1);//短链接(同上) $redis->pconnect('127.0.0.1',6379,...

distinct count计算不重复的记录的时候能用到

## distinct > 今天在处理一条SQL时计算不重复用户的数量,刚开始想到的是用GROUP BY ```mysql select count(user_id ) as num from content_topic_counts group by user_id; ##结果它会分组计算,不是我想要的总数量 +-----+ | num | +-----+ |...

mysql的水平拆分和垂直拆分

## 水平分割: >例:QQ的登录表。假设QQ的用户有100亿,如果只有一张表,每个用户登录的时候数据库都要从这100亿中查找,会很慢很慢。如果将这一张表分成100份,每张表有1亿条,就小了很多,比如qq0,qq1,qq1...qq99表。 ``` 用户登录的时候,可以将用户的id%100,那么会得到0-99的数,查询表的时候,将表名qq跟取模的数连接起来,就构建了表名。比如1...

MYSQL 分库分表的基本思想

<h1><br></h1><h1>一、基本思想</h1><p>Sharding的基本思想就要把一个<a href="http://lib.csdn.net/base/mysql" target="_blank">数据库</a>切分成多个部分放到不同的数据库(ser...

mysql 的sql文件太大怎么导入

## 在实际工作中,有时需要导入大容量sql文件到MySQL,常用三种方法: 1. 通过phpmyadmin,不推荐,有内存等的限制; 2. 通过Navicat Premium工具运行sql,不推荐,效率低(如果上传需要改相关配置言语件); 3. 通过source命令导入,推荐,效率高,经测试,小编导入一个3.02G的文件耗时3分08秒; 打开MySQL安装目录下的my.ini文件,添加m...

redis操作(封装)类

<pre style="max-width:100%;overflow-x:auto;"><code class="javascript hljs" codemark="1"><?php <span class="hljs-comment">/** * redis操作...

慢查询、explain profile

1、慢查询 (分析出现出问题的sql)2、Explain (显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句)3、Profile(查询到 SQL 会执行多少时间, 并看出 CPU/Memory 使用量, 执行过程中 Systemlock, Table lock 花多少时间等等.)

MYSQL 慢查询工具pt-query-digest 安装和使用

pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog、General log、slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdump抓取的MySQL协议数据来进行分析。可以把分析结果输出到文件中,分析过程是先对查询语句的条件进行参数化,然后对参数化以后的查询进行分组统计,统计出各查询的执行时间、次数、占比等,可以借助分析结果找出问题...

MySQL函数大全

数学函数 #ABS 绝对值函数 select abs(-5) ; #BIN 返回二进制,OCT()八进制,hex十六进制 select bin(2); #ceiling 天花板整数,也就是大于x的整数 select CEILING(-13.5); #EXP(X)自然对数e为底的x次方 select EXP(2); #FLOOR(X)小于x的最大整数 select FLOOR(3...

mysql 缓存开启

# Query cache is used to cache SELECT results and later returnthem # without actual executing the same query once again. Having thequery # cache enabled may result in significant speed improve...

MYSQL主从架构搭建方法

双主架构 master  salve 第一步;改配置文件 ->默认位置/etc/my.cnf master的 [mysqld] log-bin=mysql-bin # 开启二进制日志 server-id=2 #ID的区分,两台主机的ID要不一样 salve的[mysqld] log-bin=mysql-bin # 开启二进制日志 server-id=3 然后...

EXPLAIN 详解

EXPLAIN可以帮助开发人员分析SQL问题,explain显示了mysql如何使用索引来处理select语句以及连接表,可以帮助选择更好的索引和写出更优化的查询语句mysql> explain select * from admin; +----+-------------+----------------+--------+---------------+------+--------...

my.cnf 解释

#BEGIN CONFIG INFO #DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载大 #TYPE: SYSTEM #END CONFIG INFO # # 此mysql配置文件例子针对4G内存,并在两个日ip 2w ,pv 20w 测试过的。 # 主要使用INNODB #处理复杂队列并且连接数量较少的mysql服务器 # # ...