mysql
上官二狗
秃头工程师
展开
-
Centos7 安装mysql与php
官网下载安装mysql-server依次使用下面三个命令安装wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpmrpm -ivh mysql-community-release-el7-5.noarch.rpmyum install mysql-community-server安装过程如下图 安装成功原创 2018-03-16 00:57:51 · 2895 阅读 · 0 评论 -
mysq 如何分析查询性能
在mysql性能分析的时候,我们常常需要分析查询速度慢的原因而分析sql查询慢的方法有很多,下面我会为大家介绍常见的几种方法之一 慢查询 首先我们需要开启慢查询日志分析查询日志,不要直接打开慢查询日志进行分析,这样比较浪费时间和精力,可以使用pt-query-digest工具进行分析 方法之二 show profile set profiling = 1 开启,服务器上...原创 2018-05-15 20:56:04 · 218 阅读 · 0 评论 -
Mysql 常用易混淆知识点总结
Innodb 与 Myisam 引擎的区别与应用场景 两者区别 Innodb 支持事务,Myisam 不支持 Innodb 是行锁,Myisam 是表锁 Innodb 是聚簇索引,Myisam 是非聚簇索引Innodb 可以使用外键索引,Myisam 不行Myisam 可以使用全文索引,Mysql 5.6 以后 InnoDB 才能使用Myisam 用一个变量保存了整个表的行数,I...原创 2018-06-05 19:46:24 · 313 阅读 · 0 评论 -
mysql 面试基础操作
今天刚刚面试了陌陌原创 2018-06-13 23:59:02 · 265 阅读 · 0 评论 -
Mysql 生成亿级测试数据
mysql> call proc1;Query OK, 0 rows affected (4 min 47.15 sec)mysql> select count('id') from card;+-------------+| count('id') |+-------------+| 10000000 |+-------------+1 row in set ...原创 2018-07-31 16:41:37 · 1922 阅读 · 2 评论 -
mysql 验证出 bug 的经历
本人之前做了一个简单的会议预约系统逻辑非常的简单建立用户占用时间表 used_time和会议预约表 meeting_books规定会议时间以半小时为单位,最长不得超过两个小时用户每预定一个时间我就会向占用时间表里插入时间比如预定 08:00~09:00 我就会向占用时间表插入 08:00 和08:3008:00 和08:30 代表的是时间段的含义,是08:00~08:30和 08:...原创 2018-08-29 11:43:49 · 377 阅读 · 0 评论 -
Mysql 实现主从强一致性和高可用性
在一些对数据有强一致性要求的应用中,数据库宕机导致数据丢失是我们一定要避免的情况。所以保证数据的一致性对我们而言非常重要。如何做到主从的强一致性呢?在单机数据库中为了保证事务更新操作不会丢失会使用 WAL 日志优先(Write-Ahead-Logging)技术WAL 的实现其实非常简单,即事务提交时,保证将事务产生的日志先刷到磁盘上,若事务跟新失败,则通过日志可以回滚同理...原创 2019-01-04 18:20:22 · 9584 阅读 · 9 评论 -
浅谈 Mysql 事务 由 ACID 到 MVCC
在 Mysql 的并发控制中我们常常需要使用到 锁 和 MVCC,那么这两者的使用场景有什么区别呢,为什么有了锁还要引入 MVCC 呢?下面我将为大家娓娓道来这两者使用上的区别Mysql 的锁由 共享锁(读锁) 和 排它锁(写锁) 组成按粒度也可以分为表锁和行锁加锁和解锁遵循 2PL 即 两阶段锁原则2PL就是将加锁/解锁分为两个完全不相交的阶段。加锁阶段:只加锁,不放锁。解锁阶段:只放...原创 2019-01-02 19:58:24 · 724 阅读 · 0 评论 -
标准SQL事务隔离级别与Mysql事务隔离级别的区别与实现
标准SQL的事务隔离级别事务隔离级别脏读不可重复读幻读读未提交(read-uncommitted)是是是不可重复读(read-committed)否是是可重复读(repeatable-read)否否是串行化(serializable)否否否Mysql 的事务隔离级别事务隔离级别脏读不可重复读幻读...原创 2019-01-15 18:52:12 · 423 阅读 · 0 评论 -
mysql 主从复制 实例讲解
MySQL数据库自身提供的主从复制功能可以方便的实现数据的多处自动备份,实现数据库的拓展。多个数据备份不仅可以加强数据的安全性,通过实现读写分离还能进一步提升数据库的负载性能。在本文中我们主要介绍 mysql 的主从复制,读写分离在以后的文章中会涉及到实现MySQL主从复制需要进行的配置主服务器: 开启二进制日志配置唯一的 server-id获得master二进制日...原创 2018-05-12 16:19:33 · 375 阅读 · 0 评论 -
yum 快速搭建 lnmp 开发环境
linux是使用的云主机 我选择的是centos7.4PHP 7.2.4 下载yum -y remove php* 先卸载之前安装的更改yum源 ,支持 php7.xrpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.web...原创 2018-05-03 23:26:08 · 263 阅读 · 0 评论 -
mysql 外键约束
CREATE TABLE users( id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, username VARCHAR(10) NOT NULL, pid SMALLINT UNSIGNED, FOREIGN KEY(pid) REFERENCES provinces(id) ); CREATE T...原创 2018-05-01 17:46:47 · 173 阅读 · 0 评论 -
wordpress 快速搭建个人博客 教程 (一) 搭建lnmp
首先 快速搭建 一个 lnmp 或者 lamp 环境服务器建议使用云服务 如本教程将用到的 阿里云web服务器 使用 Nginx 或者 Apache 都可以 本教程使用 Nginx注意 Nginx Mysql 还有 PHP 的版本 是否 符合 wordpress的要求 本教程使用的都是最新版本首先 使用远程连接工具 如Xshell 连接你的 阿里云服务器 (或者其它云服务器)...原创 2018-03-16 10:12:23 · 2404 阅读 · 1 评论 -
mysql 常用命令和语法规范
mysql中的常用命令SELECT VERSION();显示当前mysql版本 SELECT NOW();显示当前系统时间 SELECT USERS();显示当前用户 mysql 的语法规范关键字和函数名全部大写小写其实mysql也可以识别,但是小写不利于区分关键字和函数,所以强烈推荐使用大写数据库名,表名,字段名全部小写原因和上面一样...原创 2018-03-17 19:57:42 · 635 阅读 · 0 评论 -
wamp 修改mysql 默认编码
wamp 集成环境中 mysql 的默认编码为 latin1 不支持中文使用我们常常需要把 mysql 的默认编码改为 utf8其实改起来非常的方便 首先我们找到 mysql 的安装目录的 mysql.ini 如我的就在 C:\wamp64\bin\mysql\mysql5.7.14 下 当然你也可以点击 wamp 图标 再点击 mysql 也可以直接找到 mysql.ini ...原创 2018-03-17 20:59:14 · 856 阅读 · 0 评论 -
mysql UNSIGNED 和 AUTO_INCREMENT
关于 mysql 中 UNSIGNED 的解释百度百科如下图 但我们仔细一看会发现毛病,正整数是大于0的整数,但 NUSIGNED 确是可以为 0 的,具体如下图 所以在这里大家一定要记住 UNSIGNED 代表的是 无符号 而不是大于0当 UNSIGNED 和 AUTO_INCREMENT 连用 AUTO_INCREMENT 代表自增,创建主键 UNSIGNED ...原创 2018-03-18 23:50:43 · 5374 阅读 · 0 评论 -
mysql 主键约束与唯一约束的区别
主键约束 PRIMARY KRYPRIMARY KRY 主键 是唯一的 一张表只能有一个主键AUTO_INCREMENT 一定要和主键连用但主键不一定要和 AUTO_INCREMENT 连用主键一定是非空的 NOT NULL 唯一约束 UNIQUE KEYUNIQUE KEY 唯一约束唯一约束可以保证数据的唯一性唯一约束的字段可以为空每张数据表可以有存在多...原创 2018-03-19 00:30:05 · 4808 阅读 · 1 评论 -
mysql 创建高性能的索引
什么是索引 我们可以把索引当成书籍的目录,我们想要知道书的特定的内容就要查看目录,然后定位页码mysql的存储引擎采用类似的方法进行数据查询,先去索引中找到对应的值,然后根据匹配的索引找到对应的数据行索引的类型 索引有很多的类型,都是实现在存储引擎层的普通索引,最基本的索引,没有任何约束限制唯一索引,与普通索引类似,但是具有唯一性约束 (一个表可以有多个唯一索引)主键索引...原创 2018-03-22 20:53:20 · 649 阅读 · 0 评论 -
mysql 并发处理
并发处理 当多个连接对记录进行修改时保证数据的一致性和完整性为什么要用到并发控制假设我们的数据库中存在着商品的记录,现在有两个用户进行登陆,假设一个用户要删除id为22的记录,一个用户要读取id为22的记录,那么会发生什么样的结果呢,结果可能是正在读取信息的用户报错而退出,也可能是他会得到一条和实际信息不符的信息。 怎么 处理并发问题 在处理并发读和并发写的...原创 2018-03-23 12:00:30 · 901 阅读 · 0 评论 -
浅谈 Redis 与 Memcache 数据库缓存
什么是数据库缓存 Mysql等一些常见的关系型数据库的数据都存储再磁盘当中,在高并发的场景下,业务应用对Mysql产生的增、删、改、查的操作造成巨大的I/O开销和查询压力,这无疑对数据库和服务器都是一张巨大的压力,为了解决此类问题,缓存数据库的概念应运而生。数据库缓存的作用 极大的解决数据库服务器的压力提高应用数据的响应速度常见的缓存形式 内存缓存 为了避免I/...原创 2018-04-04 20:54:11 · 359 阅读 · 0 评论 -
Innodb 自适应哈希索引的优缺点
名称自适应哈希索引适合使用场景适合使用 = 和 IN 操作符的等值查询不合适场景不适合使用 like 和 % 的范围查询和高并发的joins优点提高了Innodb的内存使用率和一些情况下二级索引的查询效率缺点占用Innodb的内存缓存,使用了 lacth 锁保护内存中的hash结构mysql 术语列表中对自适应哈希索引的解释AHI 自适应哈...原创 2019-01-16 18:10:20 · 4250 阅读 · 0 评论