MYSQL骑马的路
a...Z
golang php rust
展开
-
linux 安装mysql
https://www.toutiao.com/article/7305760784947298854/原创 2023-11-28 11:50:43 · 398 阅读 · 0 评论 -
Ansible Playbook快速部署一主多从MySQL集群
原理很简单,但是其中涉及的关于操作MySQL的模块需要着重研究,还有关于template模板的用法也非常重要,在通过Ansible playbook部署一些更复杂的系统时,经常会用到使用template模板语法渲染不同的配置,实现更为复杂系统的部署。交互式配置,不输入即保持默认配置,如默认端口为3306,我自定义为33306,部署路径我自定义为/opt/software,其他的保持默认直接按回车。MySQL配置文件中的系统参数可以根据实际按需修改,以下配置只供参考,着重看一下文件中有标注的地方。原创 2023-08-09 14:21:47 · 1552 阅读 · 0 评论 -
mysql数据备份-主从同步恢复
备注:壹:xtrabackup备份还原速度极快,备份的是ibd文件。mysql的db文件30GB左右,30分钟以内完成备份还原。贰:备份还原过程,测试环境和正式环境xtrabackup版本、mysql版本需保持一致。原创 2023-05-30 09:46:06 · 1618 阅读 · 0 评论 -
mysql-cloudbeaver
配置nginx 然后进行用户和登录者管理配置就好。原创 2023-04-21 10:19:58 · 238 阅读 · 0 评论 -
mysql主主复制
配置 MySQL 主主复制MySQL 主-主 复制 (master master replication), 也叫做 mysql chained replication、multi master replication和mysql daisy chaining replication, 它是MySQL复制功能的扩展(普通复制功能见文章下半部分),允许创建多个主服务器,并且主服务器可以绑定多个从服务器。本文介绍设置主-主复制的方法。在多主 mysql的配置中,除了第一个主服务器外。其它添加的主服务器既原创 2022-08-05 15:03:51 · 1928 阅读 · 0 评论 -
开源数据库管理工具
开源数据库管理工具原创 2022-07-25 14:51:57 · 642 阅读 · 0 评论 -
mysql 死锁排查
mysql 死锁排查原创 2022-06-30 16:27:19 · 261 阅读 · 0 评论 -
mysql 查看所有执行的sql语句
mysql 查看执行的所有sql原创 2022-06-30 14:49:45 · 3140 阅读 · 0 评论 -
mysql分页优化方案一
因为前面的offset条数据最后都是不要的,就算将完整字段都拷贝来了又有什么用呢,所以我们可以将sql语句修改成下面这样。上面这条sql语句,里面先执行子查询 select id from page order by id limit 6000000, 1, 这个操作,其实也是将在innodb中的主键索引中获取到6000000+1条数据,然后server层会抛弃前6000000条,只保留最后一条数据的id。但不同的地方在于,在返回server层的过程中,只会拷贝数据行内的id这一列,而不会拷贝数据行的所有原创 2022-06-16 14:48:26 · 383 阅读 · 4 评论 -
mysql修改用户密码
mysql原创 2022-03-04 15:03:31 · 232 阅读 · 0 评论 -
mysql-union统计数量和分页查询
说明:UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。否则会报错。union和 union all的关系和区别: 1.UNION ALL 命令和 UNION 命令几乎是等效的,不过 UNION ALL 命令会列出所有的值。 2.即 :union会对合并的两个或多个查询的结果集 进行 去重合并的操作。原创 2021-09-08 15:35:37 · 2261 阅读 · 0 评论 -
mysql-开发干货-索引失效-索引优化场景
1、基础数据准备创建表并初始化一些基础数据,便于后面SQL优化时使用,tbl_user用户表,tbl_userinfo用户详情表。DROP TABLE IF EXISTS `user`;CREATE TABLE `user` ( `id` INT ( 11 ) NOT NULL AUTO_INCREMENT, `username` VARCHAR ( 255 ) DEFAULT NULL, `email` VARCHAR ( 20 ) DEFAULT NULL, `age` TINYINT (原创 2021-07-23 15:26:00 · 210 阅读 · 0 评论 -
mysql-left-join-on-and和left join-on-where 的区别
写sql的时候很多小伙伴会写 left join where,然后发现 主表有的,附表没有的没有返回主要区别left-join中,即使有相同的查询条件,结果也不一定呼i 一样,原因是优先级决定的,on的优先级比where高on-and是韦恩运算连接生成临时表时的使用条件where是全部连接生成临时表后,在根据条件进行过滤on的优先级比where高,因此,理论on-and写法效率比on-where高,速度更快inner-join的时候,不管对左表还是右表进行筛选,on-join和on-where原创 2020-12-29 19:31:17 · 754 阅读 · 3 评论 -
MRR 顺序读取
总结参数read_rnd_buffer_size用来控制键值的缓冲区大小,会先读区一页的数据,或者需要的数据在buffer中进行排序,然后,根据顺序进行读取,防止磁盘随机读取是否启用MRR优化,可以通过参数optimizer_switch中的flag来控制。当MRR为on时,表示启用MRR优化。mrr_cost_based表示是否通过costbased的方式来选择是否启用mrr。若设置mrr=on,mrr_cost_based=off,则总是启用MRR优化。如下:和 MRR 相关的配置 有两个:更原创 2020-09-29 09:42:33 · 774 阅读 · 0 评论 -
两个表修改 update
update telemarketing_upload_links ,telemarketing_links set telemarketing_upload_links.account = telemarketing_links.accountwhere telemarketing_upload_links.mp = telemarketing_links.mp and telemarketing_upload_links.created_at > ‘2010-01-29 10:30:50’原创 2020-09-09 14:14:23 · 964 阅读 · 0 评论 -
mysql 常用sql语句汇总
分组查询最新的数据select max(lp.id),lp.phone from le_p as lpleft join le_app_record as lar on lar.leads_id = lp.idwhere lp.task_id = "InsuranceAgent_534235579" group by lp.phone原创 2020-09-02 16:27:13 · 146 阅读 · 0 评论 -
MySQL_分区
MySQL分区表几个分区对应几个.ibd和一个.frm的文件对于引擎层是4个表(4个分区)对于server是一个表分区表会影响gap lock 影响加锁范围,不同表锁不影响MyiSAM是表级锁,分区对应的是多个表,表锁失效分区会先将所有分区访问一遍在server层认为是一张表,分区会共用一个MDL锁分区便于管理数据分区类型前提所有分区必须是一样的...原创 2020-01-14 09:58:25 · 251 阅读 · 0 评论 -
MySQL_复制模式
MySQL复制模式异步复制**(Asynchronous replication)**MySQL默认的复制即是异步的,主库在执行完客户端提交的事务后会立即将结果返给给客户端,并不关心从库是否已经接收并处理,这样就会有一个问题,主如果crash掉了,此时主上已经提交的事务可能并没有传到从上,如果此时,强行将从提升为主,可能导致新主上的数据不完整。全同步复制(Fully synchronous ...原创 2020-01-13 17:48:53 · 666 阅读 · 0 评论 -
减少主从延时---并行复制
减少主从延时—并行复制学习检测主从延迟的主要问题是什么?主从复制的流程说一下?mysql5.5 5.6的并行复制策略说一下mariaDB的并行策略说一下mysql 5.7的并行复制策略说一下5.7.22的writeset事务两阶段提交简述学习总结主从延迟问题,主要是从的SQL——thread线程的赋值速度远小于主机的写入速度,造成了主从数据延迟主的事务提交后写入b...原创 2020-01-07 15:06:57 · 738 阅读 · 0 评论 -
MySQL_主从复制--高可用
MySQL 是怎么保证高可用的学习检测主备延时原因说几个?学习总结主库DML语句并发大,从库qps高从库服务器配置差或者一台服务器上几台从库(资源竞争激烈,特别是io)主库和从库的参数配置不一样大事务(DDL,我觉得DDL也相当于一个大事务)从库上在进行备份操作表上无主键的情况(主库利用索引更改数据,备库回放只能用全表扫描,这种情况可以调整slave_rows_search...原创 2020-01-07 15:00:15 · 338 阅读 · 0 评论 -
MySQL_binlog
binlog学习检测binlog 的三种形式及优缺点?总结三种模式statement 记录的是执行语句(原始sql语句),日志量小row 记录的是数据修改前和后的值,日志量大binlog_row_image 为FULL会记录所有的字段,minimal是记录必要的字段常用作数据的恢复mixed 是statement 和row的结合查看binlog ...原创 2020-01-07 14:56:22 · 529 阅读 · 0 评论 -
MySQL _主备基本原理
MySQL 主备基本原理学习检测主从流程?学习总结主库事务提交,写入binlog 日志,从库有IO线程和主库建立长连接,接收二进制文件存到relay log,备库SQL线程负责将relay log 的内容复制到从库中在状态 1 中,客户端的读写都直接访问节点 A,而节点 B 是 A 的备库,只是将 A 的更新都同步过来,到本地执行。这样可以保持节点 B 和 A 的数据是相同的。...原创 2020-01-07 14:52:25 · 1261 阅读 · 0 评论 -
MySQL 数据安全性 ---redo log& binlog
MySQL 数据安全性学习检测binlog 的写入机制及策略?redo log 的写入机制及策略?写了binlog 没写redolog的主备问题?双1 的意思?组提交学习总结binlog 写入 binlog cache 》事务提交后写入binlog files(文件系统的pagecache)》fsync 到disk策略sync_binlog为0的时候直接,写入磁盘pa...原创 2020-01-07 14:50:20 · 428 阅读 · 0 评论 -
MySQL_提升性能方法
数据库临时提升性能方法短链接风暴max_connections 的计算,不是看谁在 running,是只要连着就占用一个计数位置。对于那些不需要保持的连接,我们可以通过 kill connection 主动踢掉。这个行为跟事先设置 wait_timeout 的效果是一样的。设置 wait_timeout 参数表示的是,一个线程空闲 wait_timeout 这么多秒之后,就会被 MySQL ...原创 2020-01-07 14:44:51 · 301 阅读 · 0 评论 -
MySQL_怎么解决当前读的幻读问题
幻读https://www.jianshu.com/p/42e60848b3a6https://www.toutiao.com/a6759503704325358093/?tt_from=mobile_qq&utm_campaign=client_share×tamp=1575940029&app=news_article&utm_source=mob...原创 2020-01-07 11:37:17 · 2684 阅读 · 4 评论 -
MySQL_查询一条SQL慢的原因
查询一条SQL慢的原因学习总结等待MDL锁,5.7版本之后MDL过程获取MDL写锁降级为MDL读锁真正MDL操作升级为写锁释放锁等待flush操作flush tables t with read lock; 只锁定表tlush tables with read lock; 关闭mysql所有表等行锁 如果一个行记录有行锁就会被锁住写锁,只有本线程可以读、...原创 2020-01-07 10:59:14 · 1045 阅读 · 0 评论 -
MySQL_数据类型
数据类型整型数据类型存储范围字节tinyint有符号值:-128到127(-27到27-1)无符号:0到255(0到2^8-1)1smallint有符号值:-32768到32767(-215到215-1)无符号:0到65535(0到2^16-1) 6万多2mediumint有符号值:-8388608到8388607(-223到2123-1)无符号:0...原创 2020-01-07 09:28:07 · 223 阅读 · 0 评论 -
MySQL_使索引失效的几种操作
使索引失效的几种操作条件字段函数操作mysql> select count(*) from tradelog where month(t_modified)=7;隐式类型转换隐式字符编码转换学习检测索引失效的几个场景多表查询驱动表和被驱动表的关系学习总结条件字段做了函数操作,=号左边不要做函数操作,索引字段不能进行函数操作,但是索引字段的参数可以...原创 2020-01-06 18:20:05 · 1351 阅读 · 3 评论 -
MySQL_order by 是怎么工作的
order by 是怎么工作的学习检测order by 是怎么工作(流程)的?全字段排序受什么影响?全字段排序的流程?全字段排序的缺点?rowid排序是什么?什么条件触发rowid排序?rowid排序的和全字段排序流程的不同?rowid排序的缺点?全字段排序和rowid排序比较?避免排序的方法?总结order by 取出数据...原创 2020-01-06 18:11:01 · 333 阅读 · 0 评论 -
MySQL_count(?)效率对比
count(*)慢的原因MyISAM引擎是把一个表的总行数存在了磁盘上,因此count(*)的时候回直接返回这个数,效率很高**(当有where条件的时候,不会这么快)**InnoDB,在count(*)的时候需要吧数据一行一行从引擎里面读出来,然后累计计数学习检测MyISAM 和InnoDB count(*)的区别?InnoDB count(*)是怎么做的优化?count...原创 2020-01-06 18:07:09 · 759 阅读 · 0 评论 -
MySQL_问题汇总
MVCC中的alterMYSQL怎么知道binlog是完整的一个事务的binlog是有完整格式的 statement 格式的binlog,最后会有COMMIT; row格式的binglog,最后会有一个XIDevent另外,在 MySQL 5.6.2 版本以后,还引入了 binlog-checksum 参数,用来验证 binlog 内容的正确性。对于 binlog 日志由于磁盘原因...原创 2020-01-06 18:05:55 · 261 阅读 · 0 评论 -
MySQL_共享表空间和独立表空间
共享表空间和独立表空间学习检测什么是共享表空间,什么事独立表空间?数据删除流程(行和页)?删除行和页的区别?什么情况会产生空洞?具体说明online DDL重建表过程online DDL 锁的变化?online inplace 和copy的区别删除数据释放表空间的方式?方式的区别给表加全文索引和空间索引是阻塞的吗?总结数据和空间表...原创 2020-01-06 18:04:41 · 1305 阅读 · 0 评论 -
脏页刷入磁盘
脏页刷入磁盘学习检测什么是脏页?什么情况触发刷脏页行为?刷脏页行为对性能的消耗对比?InnoDB刷脏页的策略?影响磁盘刷脏页的因素?刷新脏页速度的策略?为什么不直接淘汰内存,加载数据的时候,直接用redo log来校验?什么事刷脏页 连坐行为?脏页发现标准?总结当内存中的数据和磁盘中的数据不一致的时候,就是”脏页”触发刷脏页的情况...原创 2020-01-03 17:22:31 · 784 阅读 · 0 评论 -
mysql_字符串加索引选择
字符串加索引选择学习检测字符串加索引方式?都有什么优缺点?两种方式的执行过程时什么?前缀索引有什么优劣?怎么定义前缀索引的长度(区分度较大)?前缀索引对索引覆盖的影响?倒序索引和hash增列的方法异同点?答案总结字符串加索引有全字段和索引前缀的加法,区分度高的话,前缀会节省空间,区分度不高,会增加回表次数全字段的索引在索引树找到数据回表查询,...原创 2020-01-03 17:19:20 · 623 阅读 · 0 评论 -
mysql 为什么会选错索引
mysql 为什么会选错索引学习检测mysql如何判断一个查询的扫描行数?流程?索引基数如何计算? 通过哪个参数可以设置索引统计的存储方式?可以重新统计索引信息的命令是什么?扫描采样记录的存储方式?如何定位索引选择异常这样的问题?索引选择异常的问题可以有哪几种处理方式?答案总结通过采样统计的方式,统计可能扫描的行数取N个数据页,找出数据中不同...原创 2020-01-03 17:16:13 · 539 阅读 · 4 评论 -
change buffer 唯一索引和普通索引
唯一索引和普通索引 change buffer学习检测什么是change buffer?唯一索引和普通索引查找数据流程及性能对比?唯一索引和普通索引更新数据流程及性能对比?change buffer 适用场景?change buffer 和 redo log 的区别?change buffer 是持久化的吗?chabge buffer 的merge 操作...原创 2020-01-03 16:55:51 · 1812 阅读 · 0 评论 -
MVCC
MVCCMulti-Version Concurrency ControlMVCC并没有简单的使用数据库的行锁,而是使用了行级锁,row_level_lock,而非InnoDB中的innodb_row_lock总结什么是MVCC ?MVCC适用隔离级别?RR 隔离级别下,insert update delete 和select 的工作原理?mysql 两个视图概念是什...原创 2020-01-03 16:49:12 · 800 阅读 · 0 评论 -
死锁和死锁检测
死锁和死锁检测死锁的概念死锁是指两个或者两个以上的事务在执行过程中,因争夺资源而造成的一种相互等待的现象当并发系统中不同线程出现循环资源依赖,涉及的线程都在等待别的线程释放资源时,就会导致这几个线程都进入无限等待的状态,称为死锁。这时候,事务 A 在等待事务 B 释放 id=2 的行锁,而事务 B 在等待事务 A 释放 id=1 的行锁。 事务 A 和事务 B 在互相等待对方的资源释放,...原创 2020-01-03 16:44:13 · 736 阅读 · 0 评论 -
行锁---两阶段锁
行锁总结为什么最可能影响并发的事务尽量往后放?什么是死锁?什么是两阶段锁?死锁检测策略?各有什么利弊怎么样避免死锁?两阶段锁在InnoDB事务中,行锁是在需要的时候才加上的,但并不是不需要了就释放了,而是等待事务结束时才释放,这个就是两阶段锁在执行语句的时候加锁,在事务commit或者rollback时候释放锁这个问题的结论取决于事务 A 在执行完两条...原创 2020-01-03 16:43:15 · 482 阅读 · 0 评论 -
锁的介绍
锁总结问题问什么要存在全局锁?全局锁有几种方式,优缺点是什么数据库备份方式?什么是元数据锁?元数据锁什么情况互斥?为什么?online DDL 过程给表加字段,修改字段,加索引会扫描全表吗?MDL 是在server 中实现的set global readonly=true的从是super用户,不会影响从复制总结全局锁一般用来做数据...原创 2020-01-03 16:41:44 · 388 阅读 · 0 评论