文章分类 - Mysql
摘要:1. 开发技巧 1. 处理重复值 1. 使用主键或唯一索引来防止出现重复的记录 2. 使用insert ignore语句,如果插入的记录与现存的记录不冲突,则正常插入;如果有冲突,那么insert ignore将会告诉mysql丢掉这条记录 mysql> INSERT IGNORE INTO per
阅读全文
摘要:1. Mysql的基础架构图 1. 企业管理服务和工具 备份还原,复制,集群工具等 2. 连接池 负责监听对客户端向Mysql Server端的各种请求,建立连接,权限校验,维持和管理连接,通信方式是半双工模式,数据可以双向传输,但不能同时传输 3. SQL接口 负责接收用户 SQL 命令,如 DM
阅读全文
摘要:1. information_schema库 1. 字符集和排序规则有关的系统表 CHARACTER_SETS :存储数据库相关字符集信息(memory存储引擎) COLLATIONS :字符集对应的排序规则 COLLATION_CHARACTER_SET_APPLICABILITY:就是一个字符集
阅读全文
摘要:1. 联查四个表,还有where过滤条件,最后一个group by SELECT p.`product_id` FROM gt_products p LEFT JOIN gt_goods goods ON p.`goods_id` = goods.`goods_id` LEFT JOIN gt_pr
阅读全文
摘要:1. 查询的执行过程 1. 第一个阶段(SQL解析器) SQL解析 由Mysql服务器的SQL解析器负责处理,若SQL语句存在语法错误,则可在该阶段得到检测。经过SQL解析后,最终形成SQL解析树。 Mysql服务器使用SQL解析树而非SQL语句本身以执行查询。 2. 第二个阶段(SQL优化器) S
阅读全文
摘要:1. 参数文件 以文本的方式存储,用户可以自行修改。 1. 什么是参数 数据库参数是一个键值对。 2. 查看参数 show variables like 'innodb_buffer%' \G; select * from GLOBAL_VARIABLES where variable_name l
阅读全文
摘要:1. 事务的特性 InnoDB存储引擎中的事务完全符合ACID特性。 原子性 atomicity 事务中任何一个SQL语句执行失败,已经执行成功的SQL语句也必须撤销,数据库状态应该退回到执行事务前的状态 一致性 consistency 事务一致性的单位,如果事务中某个动作失败了,系统可以自动撤销事
阅读全文
摘要:1. 组复制介绍 MySQL Group Replication(简称MGR)是MySQL官方于2016年12月推出的一个全新的高可用与高扩展的解决方案。组复制是MySQL5.7版本出现的新特性,它提供了高可用、高扩展、高可靠的MySQL集群服务。MySQL组复制分单主模式和多主模式,mysql 的
阅读全文
摘要:1. logstash的配置 1. mysql5.7的慢日志收集 input { beats { port => 5047 } } filter { #这一步格式化messages为json格式 grok { match => [ "message", "(?m)^# User@Host: %{US
阅读全文
摘要:1. 中间件软件介绍 mysql proxy mysql官方 Atlas 奇虎360 DBProxy 美团点评 Amoeba 早期阿里巴巴 cober 阿里巴巴 Mycat 阿里巴巴 官网:http://www.mycat.io/ 2. Mycat关键特性 - 支持SQL92标准 - 遵守Mysql
阅读全文
摘要:1. zabbix监控mysql基本性能 1. 在被监控的服务器上,编写脚本 UserParameter=mysql.status[*],/server/mysql/bin/mysql -uzabbix_monitor -e "show global status where Variable_na
阅读全文
摘要:1. 什么是多源复制 mysql5.7开始支持多主一从的复制方式也就是多源复制 2. 多源复制的应用场景 1. 各个主数据库的数据汇总到统一的数据库中 2. 在从数据库对各个主数据库的数据进行集中备份 3. 多源复制的必要条件 1. 开启多源复制需要在从库配置文件设置两个参数 master_info
阅读全文
摘要:1. 并发复制解决的问题 解决主从复制延迟问题 一般Mysql主从复制有三个线程参与,都是单线程:Binlog Dump(主) -> IO Thread (从) -> SQL Thread(从) 慢就慢在SQL Thread是单线程,mysql5.6开始支持sql thread多个线程。 并发复制其
阅读全文
摘要:1. 什么是半同步复制 主库在执行完客户端提交的事务后不是立刻返回给客户端,而是等待至少一个从库接收到并写到relay log中才返回给客户端。相对于异步复制,半同步复制提高了数据的安全性,同时它也造成了一定程度的延迟,这个延迟最少是一个TCP/IP往返的时间。所以,半同步复制最好在低延时的网络中使
阅读全文
摘要:1. 基于自增长的主主复制 1. 实现原理 两台主机互为主从 2. 实现功能 分担流量,并且解决单点问题 3. 架构模式 4. 配置文件 server-id=1 #任意自然数n,只要保证两台MySQL主机不重复就可以了。 log-bin=mysql-bin #开启二进制日志 log_bin_inde
阅读全文
摘要:1. GTID介绍 GTID即全局事务ID (global transaction identifier), 其保证为每一个在主上提交的事务在复制集群中可以生成一个唯一的ID。GTID最初由google实现,官方MySQL在5.6才加入该功能。mysql主从结构在一主一从情况下对于GTID来说就没有
阅读全文
摘要:1. 锁的介绍 锁是计算机协调多个进程或线程并发访问某一资源的限制 2. lock与latch 1. latch latch一般称为闩锁,latch分为mutex和rwlock,其目的是用来保证并发线程操作临界资源的正确性,并且通常没有死锁检测的机制 2. lock lock的对象是事务,用来锁定的
阅读全文
摘要:1. root用户密码丢失的解决方法 先停止数据库 在配置文件中,[mysqld]下面,添加一条内容:skip-grant-tables 然后启动mysql。 以空密码进去,设置root密码。 update mysql.user set authentication_string = passwor
阅读全文
摘要:1. MHA架构 1. MHA介绍 MHA全称(Master High Availability),由perl脚本开发的 官网地址:https://github.com/yoshinorim 2. MHA提供的功能 1. 监控主数据库服务器是否可用 2. 当主数据库服务器不可用,从多个主服务器选出新
阅读全文
摘要:1. Mysql主从复制 1. 什么是mysql主从复制? mysql主从复制是mysql自带的功能,通过逻辑的binlog日志复制到要同步的服务器本地,然后由本地的线程读取日志里面的SQL语句,重新应用到mysql数据库中。 2. 主从复制的结构 单向复制:一主一从 一主两从 一主多从 多主一从
阅读全文

浙公网安备 33010602011771号