随笔分类 -  MySql

摘要:Master_Log_File IO线程延迟,并不是Relay_Master_Log_File SQL线程延迟,可能的原因如下: 1.由于sync_relay_log值过低,导致Slave频繁刷新relay_log文件,使 Slave的硬盘资源消耗过高,所以导致SlaveIO Thread很慢。 2 阅读全文
posted @ 2020-10-21 13:15 Tech_Shrimp 阅读(90) 评论(0) 推荐(0)
摘要:使用MySQL client连接到MySQL server, 请求简单的Select, 而后断开, 在其过程中抓包, 解释如下内容: 主机名 ip地址 对象 端口 liu-03 10.186.64.137 server 3306 liu-04 10.186.64.138 client server开 阅读全文
posted @ 2020-04-17 16:15 Tech_Shrimp 阅读(167) 评论(0) 推荐(0)
摘要:按员工的编号升序生成一列累计值, 结果按累计值升序排序 结果集举例: + + + + | ename | sal | sum | + + + + | SMITH | 800.00 | 800.00 | | ALLEN | 1600.00 | 2400.00 | | WARD | 1250.00 | 阅读全文
posted @ 2020-03-03 17:01 Tech_Shrimp 阅读(2415) 评论(0) 推荐(0)
摘要:前提开启gitd主从,制造主从数据延迟, Retrieved_Gtid_Set:中的值4-6650与Executed_Gtid_Set::1-4477 6650与4477之间的差值是应用延迟,即Read_Master_Log_Pos: 3633450与Exec_Master_Log_Pos: 194 阅读全文
posted @ 2020-02-26 08:30 Tech_Shrimp 阅读(136) 评论(0) 推荐(0)
摘要:gtid跳过错误的方法 在show slave status \G中 Retrieved_Gtid_Set: 59222b34-04f6-11ea-8e77-02000aba408a:209 Executed_Gtid_Set: 2e8ed7a5-050f-11ea-84a0-02000aba408 阅读全文
posted @ 2020-02-26 08:22 Tech_Shrimp 阅读(597) 评论(0) 推荐(0)
摘要:利用sys库进行IO信息诊断 1、 table 相关 1.1 查询表的IO请求数量 mysql> select concat_ws('.',table_schema,table_name) 'table', io_read_requests, io_write_requests, io_misc_r 阅读全文
posted @ 2020-02-26 08:19 Tech_Shrimp 阅读(275) 评论(0) 推荐(0)
摘要:环境描述 IP 配置 角色-主机名 服务端口 MySQL版本 10.186.64.136 cpu:4core,mem:4G,disk:40G MySQL-yang 3306 mysql-5.7.25-linux-glibc2.12-x86_64 P3: Phantom 开启两个事务,从事务1中查看t 阅读全文
posted @ 2019-11-21 10:41 Tech_Shrimp 阅读(787) 评论(0) 推荐(0)
摘要:Linux+shell+network知识 ext4、ext3和xfs的区别 *Awk命令 网卡重启之后IP失效的原因: 1.网卡设备不存在或者设备未连接,或者DEVICE位置的设备冲突 2.BOOTPROTO=DHCP是动态获取IP,在配置文件中配置了静态IP也不能使用 3.IP冲突 linux怎 阅读全文
posted @ 2019-10-17 20:26 Tech_Shrimp 阅读(151) 评论(0) 推荐(0)
摘要:闪回原理 既然binlog以event形式记录了所有的变更信息,那么我们把需要回滚的event,从后往前回滚回去即可。 对于单个event的回滚,我们以表test.user来演示原理 mysql> show create table test.user \G ******************1. 阅读全文
posted @ 2019-10-17 20:20 Tech_Shrimp 阅读(453) 评论(0) 推荐(0)
摘要:1、表需要有主键 2、表需要有合理的索引 3、假设业务每次修改的数据量都很小,尽量使用row模式 row模式有个特点,所有的dml都走主键 4、假设主库存在大量的批量业务,建议采用mixed模式 或者将批量业务放在从库上独立执行 (临时性在主库session级别关闭binlog) 5、从库的性能要和 阅读全文
posted @ 2019-09-09 16:11 Tech_Shrimp 阅读(126) 评论(0) 推荐(0)
摘要:数据库管理介绍 定义:保证数据库系统正常运行和服务质量 安装:编译、yum 配置:配置文件、连接数、缓存大小、存储引擎 调优:硬件优化、Raid10、应用程序使用nosql、表设计优化、分库分表、索引优化、慢查询优化 备份:定期对数据库做全量备份、增量备份 恢复:应急恢复、版本恢复、恢复测试 监控: 阅读全文
posted @ 2019-09-09 16:11 Tech_Shrimp 阅读(991) 评论(0) 推荐(0)
摘要:例如,delete一张表时,忘加where条件,整张表没了,接下来进行快速回滚数据。 1、传统解法: 用全备重搭实例,再利用增备binlog备份,恢复到误操作之前的状态,然后跳过误操作SQL,再继续应用binlog,此法费事费力,不推荐使用。 2、利用binlog2sql快速闪回 首先确认MySQL 阅读全文
posted @ 2019-09-09 16:10 Tech_Shrimp 阅读(16848) 评论(0) 推荐(0)
摘要:Mysql5.5特性,相对于Mysql5.1 性能提升 默认InnoDB plugin引擎。具有提交、回滚和crash恢复功能、ACID兼容。 行级锁(一致性的非锁定读 MVCC)。 表与索引存储在表空间、表大小无限制。 支持dynamic(primary key缓存内存 避免主键查询引起的IO ) 阅读全文
posted @ 2019-09-09 16:08 Tech_Shrimp 阅读(13583) 评论(0) 推荐(1)
摘要:总体解释: DML(data manipulation language): 它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言。 DDL(data definition language): DDL比DML要多,主要的命令 阅读全文
posted @ 2019-09-09 16:06 Tech_Shrimp 阅读(1316) 评论(0) 推荐(0)
摘要:1、MySQL5.5.5之前的默认存储引擎,适合数据仓库,MyISAM表中只有s锁和x锁 2、优点: 1、行结构简单,数据紧凑,同样的空间容量大; 2、因为没有redo和undo,因此dml提交速度非常快 3、适合数据仓库,报表数据库系统 3、缺点: 1、MyISAM表使用的是表锁,并发性很差 2、 阅读全文
posted @ 2019-08-26 09:29 Tech_Shrimp 阅读(176) 评论(0) 推荐(0)
摘要:MySQL数据库由三层组成,连接层,server层、存储引擎层,其中连接层指的是不同语言中与SQL的交互,server层包括SQL接口,连接池、分析器、优化器、执行器和查询缓存,存储引擎层最重要的就是存储引擎 以一条SQL语句的执行为例,SQL语句执行时,通过连接层和server层建立连接,进行权限 阅读全文
posted @ 2019-08-26 09:24 Tech_Shrimp 阅读(178) 评论(0) 推荐(0)
摘要:1、DDL会出现锁表的情况,exclusive锁表 2、DDL会带来海量IO,出现全表扫描 对于DDL的正确处理方法 1、分析DDL是否会带来海量IO或者长时间锁表 2、建立一张大表,至少100万行以上(建议千万行表),进行DDL操作测试 DDL期间对表进行dml,测试锁表时间 DDL期间对OS进行 阅读全文
posted @ 2019-08-13 16:03 Tech_Shrimp 阅读(264) 评论(0) 推荐(0)
摘要:不可重复读(幻影现象)可重复读 MySQL默认情况下是可重复读,解决了幻影问题 mysql> show variables like ‘%tx%’; + + + | Variables_name | Value | + + + | tx_isolation |REPEATABLE-READ | | 阅读全文
posted @ 2019-08-13 16:02 Tech_Shrimp 阅读(350) 评论(0) 推荐(0)
摘要:开始事务前的提交事务数: mysql> SHOW GLOBAL STATUS LIKE '%com_comm%'; + + + | Variable_name | VALUE | + + + | Com_commit | 109 | + + + 1 ROW IN SET (0.01 sec) mys 阅读全文
posted @ 2019-08-13 16:01 Tech_Shrimp 阅读(656) 评论(0) 推荐(0)
摘要:永久性: 积分赠送的业务:A账户把100M流量赠送给B账号 1:start transaction; 2:A:update 流量减少100 3、B:update 流量增加100 4、commit 提交了之后,MySQL会把这两个SQL产生的redo log写到磁盘上,这时候就算数据库崩了,数据库重新 阅读全文
posted @ 2019-08-13 16:00 Tech_Shrimp 阅读(365) 评论(0) 推荐(0)