随笔分类 - 《MySQL数据库》
摘要:前言 索引在数据库中至关重要,必须要牢牢掌握,在看索引篇之前必须掌握InnoDB 的数据结构:https://www.cnblogs.com/jssj/p/devil_osiris.html。 索引创建与删除 主键索引创建: mysql> alter table ic_user add primar
阅读全文
摘要:1. 计数器表 案例:网站访问数记录 正常一张表一个字段就可以解决这个问题。 create table tcount (cnt int) ; 通过左边语句更新: update tcount set cnt = cnt+1 ; 当大型网站并发量很大的时候,这个更新是低效的。因为update操作需要获取
阅读全文
摘要:前言 作者在工作中遇到了往MySQL表中插入一条数据,结果插入不进去。并且同样的操作在Oracle中却可以插入,于是就专门研究了一下MySQL5.7锁的逻辑。 锁的介绍 介绍锁之前需要先了解一下事务隔离级别:https://www.cnblogs.com/jssj/p/13437036.html M
阅读全文
摘要:前言 安装 下载软件: 官网下载地址:http://dl.mycat.org.cn/1.6.7.4/Mycat-server-1.6.7.4-release/Mycat-server-1.6.7.4-release-20200105164103-linux.tar.gz 百度云下载:链接: http
阅读全文
摘要:前言 我们在开发中经常随着业务量的增大,时间等原因,某些表变得非常大几百万,几千万,甚至上亿的数据量。像这样的表查询效率是很低的,有索引也不能根本解决。 分区表 分区表说明 1. 可以存放更多数据。 2. 更加容易删除不需要的数据,直接删除分区即可。 3. 查询效率可以得到极大的提升。 4. 聚合函
阅读全文
摘要:前言 Atlas是360团队弄出来的一套基于MySQL-Proxy基础之上的代理,修改了MySQL-Proxy的一些BUG,并且优化了一些东西。Atlas的功能是实现了MySQL的读写分离技术。 环境搭建 环境说明:MySQL5.7.22版本。 GTID主从环境(一主两从)。 官网下载Atlas:h
阅读全文
摘要:前言 MySQL高可用,顾名思义就是当MySQL主机或服务发生任何故障时能够立马有其他主机顶替其工作,并且最低要求是要保证数据一致性。简单点说MHA就是为了保证MySQL的主从复制功能,不会因为主节点宕机而需要手工切换主从,MHA会自动切换主从。 环境搭建 前提: 1. GTID主从(一主N从)搭建
阅读全文
摘要:前言 主从复制:两台或者更多的数据库实例,通过二进制日志,实现数据同步。为什么需要主从复制,主从复制的作用是什么,答:为了预防灾难。 搭建 第一步:准备多实例环境。如何创建多实例见: 第二步:确保每一个实例的server_id 不同。 检查各自实例图中(my.cnf)的配置是否不同。 第三步:主库检
阅读全文
摘要:前言 MySQL数据库最重要的部分就是数据,所以保证数据不被损坏尤为重要,大家都知道911事件,当时非常多的数据丢失,导致经济混乱。接下来我们就来讲讲MySQL是如何保障数据完整,应对特殊情况,如何恢复等。 备份 备份检查:保证备份没有问题,并且定期演练恢复数据。 备份方式:逻辑备份,物理备份。 逻
阅读全文
摘要:前言 MySQL 经常出现启动错误或者执行错误等等,这个时候我们需要查询error日志 在数据库使用中,经常会出现需要恢复数据的情况,MySQL如果需要恢复数据的话需要开启binlog(二进制日志)。 Error Log 错误日志默认设置如下: 1. error log 默认路径在数据文件下。 2.
阅读全文
摘要:前言 事务出现就是为了保证数据的准确性。 事务介绍 事务是必须满足4个条件(ACID)::原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。 原子性:一个事务(transaction)中的所有操作
阅读全文
摘要:前言 如果要写出优质的SQL语句,就需要了解MySQL的存储原理。MySQL是如何分析SQL,如何利用索引查询。 Explain 关键字 explain select * from ic_base; --查看SQL的执行情况 id: 执行编号,标识Select的执行顺序,存在子查询等负责查询的时候用
阅读全文
摘要:前言:以下内容均为MySQL5.7版本为准,在MySQL5.7版本中innodb是默认的存储引擎。 innodb结构 事务性表和非事务性表(Innodb,MyISAM )。 MyISAM 没有commit 和rollback。 创建表的时候指定存储引擎 CREATE TABLE `user` ( `
阅读全文
摘要:[标签]配置项=xxxx 标签类型:服务端、客户端服务器端标签:[mysqld][mysqld_safe][server] 客户端标签:[mysql][mysqldump][client] my.conf 文件配置 # 数据库安装地址basedir = /usr/local/mysql/mysql-
阅读全文
摘要:用户权限管理: 1. 创建用户和设置密码: create user test@'localhost' IDENTIFIED by 'test'; 重点解释一下@'localhost' 在这个语句中的作用(白名单的作用:就是设置哪些网段的人可以才有权限) test@'10.0.0.%' 分配10.0.
阅读全文
摘要:1. 下载安装包: 百度网盘:链接: https://pan.baidu.com/s/1toGl8O9gMBpDWn0mHWwFyg 提取码: i51g 官网下载:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 2. 准备工作: 使用
阅读全文
摘要:表关联关系: -- 内联接 SELECT * FROM m INNER JOIN n ON m.id = n.id; -- 左外联接 SELECT * FROM m LEFT JOIN n ON m.id = n.id; -- 右外联接 SELECT * FROM m RIGHT JOIN n ON
阅读全文
摘要:MySQL从创建数据库到对表的增删改操作汇总。 1. 数据库操作: -- 查看所有的数据库 SHOW DATABASES ; -- 创建一个数据库,XXX表示数据库名称 CREATE DATABASE XXX; -- 删除一个数据库,XXX表示数据库名称 DROP DATABASE XXX; --
阅读全文
摘要:MySQL安装包和操作工具 链接: https://pan.baidu.com/s/1BTfrHwVR1uNBuB_E27N55g 提取码: dhbv 1、首先解压文件包,我这解压到E:\install_work\mysql目录下: 2、发现mysql根目录下没有data目录和my.ini文件,不要
阅读全文