-
MySQL整体架构与内存构架
所属栏目:[MySql教程] 日期:2022-03-29 热度:192
MySQL整体架构与内存结构: 一 mysql 整体框架: MySQL是由SQL接口,解析器,优化器,缓存,存储引擎等组成的。 1. Connectors指的是不同语言中与SQL的交互。 2. Management Serveices Utilities: 系统管理和控制工具。 3. Connection Pool: 连接池。管理[详细]
-
mysql亿级大表重构方案解说
所属栏目:[MySql教程] 日期:2022-03-29 热度:74
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 热度:74
MySQL里面有一个问题尤其值得注意,那就是自增列的重复值问题,之前也简单分析过一篇,但是在后续我想了下,还有很多地方需要解释,一个就是从库的自增列是如何维护的,是否重启从库,自增列会受到影响。 我们继续来测试一下。首先复现这个问题。 创建表t1,[详细]
-
Percona Toolkit 装置
所属栏目:[MySql教程] 日期:2022-03-29 热度:109
Percona Toolkit(pt工具)是一组用于维护数据库的命令行工具, 大部分是Perl脚本, 其连接数据库, 需要DBI和DBD::mysql的支持. 直接使用yum安装这两个软件包就行. # yum install perl-DBI perl-DBD-MySQL 安装pt工具的依赖后, 就是安装pt本身了(percona-toolkit[详细]
-
从业务层面对MySQL高可用方案实行分解
所属栏目:[MySql教程] 日期:2022-03-29 热度:167
相对于传统行业的相对服务时间9x9x6或者9x12x5,因为互联网电子商务以及互联网游戏的实时性,所以服务要求7*24小时,业务架构不管是应用还是数据库,都需要容灾互备,在mysql的体系中,最好通过在最开始阶段的数据库架构阶段来实现容灾系统。所以这里从业务[详细]
-
分享一个批量产生随机测试数据的MySQL存储步骤
所属栏目:[MySql教程] 日期:2022-03-29 热度:129
批量产生随机测试数据: 内容如下: # cat populate.sql DELIMITER $$ DROP PROCEDURE IF EXISTS populate $$ CREATE PROCEDURE populate(in_db varchar(50), in_table varchar(50), in_rows int, in_debug char(1)) BEGIN | USAGE: call populate(DATABASE-[详细]
-
MySQL源码安置
所属栏目:[MySql教程] 日期:2022-03-29 热度:152
MySQL源码安置: 1,下载源码安装包 5.5后版本需用cmake编译 mysql-5.7 需要 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/data/boost_1_59_0 yum install -y gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-dev[详细]
-
Mysql运用mysql_multi配置一台主机多个实例
所属栏目:[MySql教程] 日期:2022-03-29 热度:173
在Mysql官方帮助文档中,详细记录中Mysql的启动方式,有mysqld_safe、mysql.server、mysql_multi这三种。关于mysql_multi的介绍: Mysqld_multi可以管理多个帧听不同Unix套接字文件和TCP/IP端口的连接的mysqld 进程。它可以启动或停止服务器,或报告它们的当[详细]
-
MySQL ORDER BY 的实现解析
所属栏目:[MySql教程] 日期:2022-03-29 热度:128
总的来说,在 MySQL 中的ORDER BY有两种排序实现方式,一种是利用有序索引获取有序数据,另一种则是通过相应的排序算法,将取得的数据在内存中进行排序。 下面将通过实例分析两种排序实现方式及实现图解: 假设有 Table A 和 B 两个表结构分别如下: [@more@[详细]
-
MYSQL学习系列--DDL语言
所属栏目:[MySql教程] 日期:2022-03-29 热度:113
DDL语句: 对数据库内部的对象进行创建、删除、修改等操作的语言,DDL语句更多的是由数据库管理员(DBA)使用,开发人员一般很少使用登录mysql之后就可以使用sql语句对数据库进行各种操作啦! 实践操作: 在基础操作之前,如果没有安装mysql的可以参考我之前写[详细]
-
MySQL垂直拆分和水平拆分的优缺点和共同点归纳
所属栏目:[MySql教程] 日期:2022-03-29 热度:82
数据的拆分(Sharding)根据其拆分分规则的类型,可以分为两种拆分模式。一种是按照不同的表(或者Schema)来切分到不同的数据库(主机)之上,这种切可以称之为数据的垂直(纵向)拆分; 另外一种则是根据表中的数据的逻辑关系,将同一个表中的数据按照某种[详细]
-
MySQL运用bin-log异库恢复到指定时间点
所属栏目:[MySql教程] 日期:2022-03-29 热度:65
MySQL使用bin-log异库恢复到指定时间点: 1、搭建初始化数据库 2、确定日志的位置position 3、备份数据库T0 4、模拟数据库发生变化T1 5、模拟数据库发生变化T2 6、恢复数据库到备份时间点T0 7、模拟数据库恢复到时间点T1 8、模拟数据库恢复到时间点T2 1、安[详细]
-
MySQL定期自动删掉表
所属栏目:[MySql教程] 日期:2022-03-29 热度:191
单位8亿多条的日志表,经过自动分表之后,需要自动删除30天前创建的日志表。 但是只是在Master下线这些日志表,而Slave还需要保持在线,以备查询。 由于Master-Slave结构,在Drop表之前,设置@@session.sql_log_bin=0,那么Drop的行为就没有记录到binlog,所[详细]
-
Mysql在windows上安装后卸载重新安置需要root用户密码
所属栏目:[MySql教程] 日期:2022-03-29 热度:173
今天准备继续学习Mysql,把当前windows上的Mysql环境给卸载了重装,在安装的过程中一直报需要current root password,一直不知道咋回事,下面是解决办法。 1.清除MYSQL的安装目录,默认是C:Program Files (x86) 2.清除MYSQL数据存放目录,我的机器上在C:Pro[详细]
-
Mysql 从库每隔一段时间就重开
所属栏目:[MySql教程] 日期:2022-03-29 热度:194
背景: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-28 热度:105
开发反馈一个表的数据大小已经130G,对物理存储空间有影响,且不容易做数据库ddl变更。咨询了开发相关业务逻辑,在电商业务系统中,每笔订单成交之后会有一条对应的订单物流信息,因此需要设计一个物流相关的表用来存储该订单的物流节点信息,该表使用text字段[详细]
-
MySQL数据库数据文件路径迁移过程
所属栏目:[MySql教程] 日期:2022-03-28 热度:134
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 热度:118
数据库架构:一主两从 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 热度:66
水平有限再加上源码的复杂性,难免出现错误,请共同研究予以纠正 本文参考源码: Net_serv.cc(主要参考) Mysql.h.pp Mysql_socket.h Violite.h Viosocket.c Vio.c 参考书籍: 深入理解MYSQL核心技术 MYSQL核心内幕 internals-en MYSQL官方手册 LINUX系统编程[详细]
-
MySQL执行计划explain的key_len剖析
所属栏目:[MySql教程] 日期:2022-03-28 热度:105
当用Explain查看SQL的执行计划时,里面有列显示了 key_len 的值,根据这个值可以判断索引的长度,在组合索引里面可以更清楚的了解到了哪部分字段使用到了索引。下面演示中,表结构的合理性这边暂且不说,只是证明一下索引长度的计算方法。目前大部分博文是字[详细]
-
MySQL中的show命令
所属栏目:[MySql教程] 日期:2022-03-28 热度:186
mysql help show Name: SHOW Description: SHOW has many forms that provide information about databases, tables, columns, or status information about the server. This section describes those following: SHOW [FULL] COLUMNS FROM tbl_name [FROM[详细]
-
关于mysql5.6 的排序问题
所属栏目:[MySql教程] 日期:2022-03-28 热度:74
mysql 5.6 的排序进行了优化. 同样的sql , 在5.5 跟5.6 上可能得到不同的结果: CREATE TABLE `TestCase2` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `aValue` decimal(19,2) NOT NULL, `accuracyClassType_id` bigint(20) NOT NULL, `productType_id` big[详细]
-
cmake源码编译安装mysql-5.5.32 多实例遇到的坑
所属栏目:[MySql教程] 日期:2022-03-28 热度:95
授人以鱼,我是怎么找到的? 坑2:cmake配置报错因为后面有空格导致的,cmake编译参数正确的为如下: cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 -DMYSQL_DATADIR=/application/mysql-5.5.32/data -DMYSQL_UNIX_ADDR=/application/mysq[详细]
-
生产mysql在线配置主从
所属栏目:[MySql教程] 日期:2022-03-28 热度:170
生产mysql在线配置主从: 一、将主库数据导出 mysqldump -uuser -ppassword -S /tmp/mysql.sock --single-transaction --master-data=2 --all-databases --triggers --routines --events /root/master_dump.sql 二、在主库创建主从复制用户 mysqlgrant repli[详细]
-
mysql加快alter操作
所属栏目:[MySql教程] 日期:2022-03-28 热度:132
mysql的alter table 操作的性能对大表来说是个大问题.mysql执行大部分修改表结构的操作方法是用新的结构创建一个空表,从旧表中查出所有数据插入新表,然后删除旧表.这样操作可能花费很长时间,如果内存不足而表又很大,而且还有很多索引的情况下,此种情况更甚.[详细]