-
MYSQL学习系列--DDL语言
所属栏目:[MySql教程] 日期:2022-03-29 热度:196
DDL语句: 对数据库内部的对象进行创建、删除、修改等操作的语言,DDL语句更多的是由数据库管理员(DBA)使用,开发人员一般很少使用登录mysql之后就可以使用sql语句对数据库进行各种操作啦! 实践操作: 在基础操作之前,如果没有安装mysql的可以参考我之前写[详细]
-
为什么不倡议在 MySQL 中使用 UTF-8?
所属栏目:[MySql教程] 日期:2022-03-29 热度:67
最近我遇到了一个bug,我试着通过Rails在以utf8编码的MariaDB中保存一个UTF-8字符串,然后出现了一个离奇的错误: Incorrect string value: for column summary at row 1 我用的是UTF-8编码的客户端,服务器也是UTF-8编码的,数据库也是,就连要保存的这个字[详细]
-
Mysql 从库每隔一段时间就重开
所属栏目:[MySql教程] 日期:2022-03-29 热度:148
背景:HuaYun_Interface-SLAVE从库每隔一段时间slave复制进程便停掉,zabbix发送告警短信 mysql show slave statusG; *************************** 1. row *************************** Slave_IO_State: Master_Host: ***** Master_User: repl Master_Port:[详细]
-
从业务层面对MySQL高可用方案实行分解
所属栏目:[MySql教程] 日期:2022-03-29 热度:145
相对于传统行业的相对服务时间9x9x6或者9x12x5,因为互联网电子商务以及互联网游戏的实时性,所以服务要求7*24小时,业务架构不管是应用还是数据库,都需要容灾互备,在mysql的体系中,最好通过在最开始阶段的数据库架构阶段来实现容灾系统。所以这里从业务[详细]
-
innodb两次编辑 double write 实现解析
所属栏目:[MySql教程] 日期:2022-03-29 热度:157
在innodb存储引擎中,有一个叫doublewrite技术模块,是可选的。它通过参数InnoDB_doublewrite的值来控制,如果为0表示不启用,可以通过show status like %InnoDB_dblwr%来查看,doublewrite技术带给innodb存储引擎的是数据页的可靠性,下面对doublewrite技术[详细]
-
MySQL使用binlog2sql闪回误删掉数据
所属栏目:[MySql教程] 日期:2022-03-29 热度:91
查询数据库相关配置参数 root [test] show global variables like binlog%format%; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | binlog_format | ROW | +---------------+-------+ 1 row in set (0.00 sec) root [tes[详细]
-
MySQL 5.5 mysqldump备份解说
所属栏目:[MySql教程] 日期:2022-03-29 热度:166
mysqldump客户端工具可以执行逻辑备份,生成一系列可以执行的SQL语句。通过这个工具可以备份出一个或多个MySQL数据库。mysqldump命令也可以生成CSV格式、分隔符格式或XML格式的输出文件。 --where=where_condition, -w where_condition 只导出符合指定WHERE[详细]
-
MySQL整体架构与内存构架
所属栏目:[MySql教程] 日期:2022-03-29 热度:81
MySQL整体架构与内存结构: 一 mysql 整体框架: MySQL是由SQL接口,解析器,优化器,缓存,存储引擎等组成的。 1. Connectors指的是不同语言中与SQL的交互。 2. Management Serveices Utilities: 系统管理和控制工具。 3. Connection Pool: 连接池。管理[详细]
-
mysql亿级大表重构方案解说
所属栏目:[MySql教程] 日期:2022-03-29 热度:84
mysql亿级大表重构方案介绍 生产环境favourite表5.8亿,情况如下: 表名 表结构 rows 数据库版本 favourite CREATE TABLE `favourite` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL, `target_type` int(11) NOT NULL, `target_id` i[详细]
-
MySQL自增列主从不一致的测验
所属栏目:[MySql教程] 日期:2022-03-29 热度:104
MySQL里面有一个问题尤其值得注意,那就是自增列的重复值问题,之前也简单分析过一篇,但是在后续我想了下,还有很多地方需要解释,一个就是从库的自增列是如何维护的,是否重启从库,自增列会受到影响。 我们继续来测试一下。首先复现这个问题。 创建表t1,[详细]
-
Percona Toolkit 装置
所属栏目:[MySql教程] 日期:2022-03-29 热度:95
Percona Toolkit(pt工具)是一组用于维护数据库的命令行工具, 大部分是Perl脚本, 其连接数据库, 需要DBI和DBD::mysql的支持. 直接使用yum安装这两个软件包就行. # yum install perl-DBI perl-DBD-MySQL 安装pt工具的依赖后, 就是安装pt本身了(percona-toolkit[详细]
-
MySQL 最容易忽视的常识
所属栏目:[MySql教程] 日期:2022-03-28 热度:137
开发反馈一个表的数据大小已经130G,对物理存储空间有影响,且不容易做数据库ddl变更。咨询了开发相关业务逻辑,在电商业务系统中,每笔订单成交之后会有一条对应的订单物流信息,因此需要设计一个物流相关的表用来存储该订单的物流节点信息,该表使用text字段[详细]
-
MySQL数据库数据文件路径迁移过程
所属栏目:[MySql教程] 日期:2022-03-28 热度:104
MySQL数据库数据文件路径迁移步骤: 一、关闭mysql. $ service mysqld stop 二、将/data/mysql下的mysql目录mv(移动)到data目录。 mysql show variables like datadir; +---------------+-----------------+ | Variable_name | Value | +---------------+-[详细]
-
MySQL5.7+MHA+Keepalived failover自动更换
所属栏目:[MySql教程] 日期:2022-03-28 热度:112
数据库架构:一主两从 master:192.168.8.57 slave1:192.168.8.58 slave2:192.168.8.59 manager:192.168.8.60 MHA工具包: mha4mysql-manager-0.58.tar.gz mha4mysql-node-0.58.tar.gz keepalived-1.4.5.tar.gz 一、环境配置过程如下: http://blog.itpub[详细]
-
MYSQL CLENT SERVER数据包传输及net packet buffer用途解析
所属栏目:[MySql教程] 日期:2022-03-28 热度:99
水平有限再加上源码的复杂性,难免出现错误,请共同研究予以纠正 本文参考源码: Net_serv.cc(主要参考) Mysql.h.pp Mysql_socket.h Violite.h Viosocket.c Vio.c 参考书籍: 深入理解MYSQL核心技术 MYSQL核心内幕 internals-en MYSQL官方手册 LINUX系统编程[详细]
-
mysql之 MySQL 主从基于 GTID 复制原理阐述
所属栏目:[MySql教程] 日期:2022-03-28 热度:116
mysql之 MySQL 主从基于 GTID 复制原理概述: 一、 什么是GTID ( Global transaction identifiers ): MySQL-5.6.2开始支持,MySQL-5.6.10后完善,GTID 分成两部分,一部分是服务的UUid,UUID保存在mysql数据目录的auto.cnf文件中, 这是一个非常重要的文件[详细]
-
如何确认Single-Primary模式下的MGR主节点
所属栏目:[MySql教程] 日期:2022-03-28 热度:67
MySQL 5.7 可以通过global status group_replication_primary_member 确定 root@db20:59: [mgr] SELECT VARIABLE_VALUE - FROM performance_schema.global_status - WHERE VARIABLE_NAME = group_replication_primary_member; +----------------------------[详细]
-
MySQL执行计划explain的key_len剖析
所属栏目:[MySql教程] 日期:2022-03-28 热度:64
当用Explain查看SQL的执行计划时,里面有列显示了 key_len 的值,根据这个值可以判断索引的长度,在组合索引里面可以更清楚的了解到了哪部分字段使用到了索引。下面演示中,表结构的合理性这边暂且不说,只是证明一下索引长度的计算方法。目前大部分博文是字[详细]
-
mysql 大事物commit慢造成全库堵塞难题
所属栏目:[MySql教程] 日期:2022-03-28 热度:168
原创转载请注明出处 本文使用引擎INNODB版本MYSQL5.7.13 sync_binlog = 1 innodb_flush_log_at_trx_commit = 1 也就是双1设置, 1、问题由来 在线上环境一次同事删除了1000W的数据,在commit的时候,整个数据库 大约有几十秒的全部hang住的情况,本文就是为[详细]
-
MySQL案例--磁盘空间不够 MTS Group recovery失败
所属栏目:[MySql教程] 日期:2022-03-28 热度:119
线上业务,最后一次内测阶段; 背景:MySQL-5.7.12 问题发生的现象: 收到报警信息,业务主库A的心跳检测失败,将备库B升级为业务主库; 问题发生的原因: 业务主库A的数据文件目录的磁盘空间剩余量为0%; 与此同时,不管是start slave还是change master都无[详细]
-
MySql入门基本知识
所属栏目:[MySql教程] 日期:2022-03-28 热度:117
MySql入门--基础知识: 一、Mysql 物理文件组成 (一)日志文件 1、错误日志:Error Log 错误日志记录了MyQL Server 运行过程中所有较为严重的警告和错误信息,以及MySQLServer 每次启动和关闭的详细信息。在默认情况下,系统记录错误日志的功能是关闭的,错[详细]
-
计算mysql buffer的命中率及使用率
所属栏目:[MySql教程] 日期:2022-03-28 热度:114
MyISAM Key buffer命中率: 100 - ( (Key_reads * 100) / Key_read_requests ) MyISAM Key buffer的使用率: 100 - ( (Key_blocks_unused * key_cache_block_size) * 100 / key_buffer_size ) InnoDB Buffer Pool 的命中率 (Innodb_buffer_pool_read_request[详细]
-
MySQL5.7新版本的运维,性能和新特性介绍
所属栏目:[MySql教程] 日期:2022-03-28 热度:60
运维 在线启停GTID 在线配置Replication Filter,无需重启 Change Master到另外一个主库无需停止apply线程 Change Master修改一些日志apply属性(例如master_delay)无需停止IO线程 增加大量Performance Schema表用于监控复制 性能 更好的复制性能(logical_c[详细]
-
MySQL 5.6对大表做归档
所属栏目:[MySql教程] 日期:2022-03-28 热度:103
环境:MySQL 5.6 主从环境(Keepalived架构) 4000W行大表进行历史数据归档。 方案:为尽量降低对业务影响,决定采取下列方案。 1、在主库建立 2016、2017、2018、2019的4个历史表结构。 2、在从库建立test库,并建立 2016、2017、2018、2019的4个历史表结构[详细]
-
MySQL 5.7中新增sys schema后,会有什么变化
所属栏目:[MySql教程] 日期:2022-03-28 热度:159
MySQL 5.7中引入了一个新的sys schema,sys是一个MySQL自带的系统库,在安装MySQL 5.7以后的版本,使用mysqld进行初始化时,会自动创建sys库,sys库里面的表、视图、函数、存储过程可以使我们更方便、快捷的了解到MySQL的一些信息,比如哪些语句使用了临时表[详细]