-
MySQL垂直拆分和水平拆分的优缺点和共同点归纳
所属栏目:[MySql教程] 日期:2022-03-29 热度:149
数据的拆分(Sharding)根据其拆分分规则的类型,可以分为两种拆分模式。一种是按照不同的表(或者Schema)来切分到不同的数据库(主机)之上,这种切可以称之为数据的垂直(纵向)拆分; 另外一种则是根据表中的数据的逻辑关系,将同一个表中的数据按照某[详细]
-
Mysql运用mysql_multi配置一台主机多个实例
所属栏目:[MySql教程] 日期:2022-03-29 热度:65
在Mysql官方帮助文档中,详细记录中Mysql的启动方式,有mysqld_safe、mysql.server、mysql_multi这三种。关于mysql_multi的介绍: Mysqld_multi可以管理多个帧听不同Unix套接字文件和TCP/IP端口的连接的mysqld 进程。它可以启动或停止服务器,或报告它们的[详细]
-
MySQL源码安置
所属栏目:[MySql教程] 日期:2022-03-29 热度:91
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-d[详细]
-
分享一个批量产生随机测试数据的MySQL存储步骤
所属栏目:[MySql教程] 日期:2022-03-29 热度:104
批量产生随机测试数据: 内容如下: # 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(DATABAS[详细]
-
设定密码复杂度
所属栏目:[MySql教程] 日期:2022-03-29 热度:141
设置密码复杂度: 1,密码验证插件安装 要使服务器可以使用,插件库文件必须位于MySQL插件目录( plugin_dir 系统变量指定的目录)中。插件库文件基本名是 validate_password.so 。 show variables like %plugin%; 在运行时注册插件,请使用此语句 INSTALL[详细]
-
为什么不倡议在 MySQL 中使用 UTF-8?
所属栏目:[MySql教程] 日期:2022-03-29 热度:73
最近我遇到了一个bug,我试着通过Rails在以utf8编码的MariaDB中保存一个UTF-8字符串,然后出现了一个离奇的错误: Incorrect string value: for column summary at row 1 我用的是UTF-8编码的客户端,服务器也是UTF-8编码的,数据库也是,就连要保存的这个[详细]
-
MYSQL CLENT SERVER数据包传输及net packet buffer用途解析
所属栏目:[MySql教程] 日期:2022-03-28 热度:100
水平有限再加上源码的复杂性,难免出现错误,请共同研究予以纠正 本文参考源码: Net_serv.cc(主要参考) Mysql.h.pp Mysql_socket.h Violite.h Viosocket.c Vio.c 参考书籍: 深入理解MYSQL核心技术 MYSQL核心内幕 internals-en MYSQL官方手册 LINUX系统编[详细]
-
计算mysql buffer的命中率及使用率
所属栏目:[MySql教程] 日期:2022-03-28 热度:54
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_reque[详细]
-
MySQL中的show命令
所属栏目:[MySql教程] 日期:2022-03-28 热度:146
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 [FRO[详细]
-
关于mysql5.6 的排序问题
所属栏目:[MySql教程] 日期:2022-03-28 热度:143
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` b[详细]
-
cmake源码编译安装mysql-5.5.32 多实例遇到的坑
所属栏目:[MySql教程] 日期:2022-03-28 热度:153
授人以鱼,我是怎么找到的? 坑2:cmake配置报错因为后面有空格导致的,cmake编译参数正确的为如下: cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 -DMYSQL_DATADIR=/application/mysql-5.5.32/data -DMYSQL_UNIX_ADDR=/application/my[详细]
-
生产mysql在线配置主从
所属栏目:[MySql教程] 日期:2022-03-28 热度:72
生产mysql在线配置主从: 一、将主库数据导出 mysqldump -uuser -ppassword -S /tmp/mysql.sock --single-transaction --master-data=2 --all-databases --triggers --routines --events /root/master_dump.sql 二、在主库创建主从复制用户 mysqlgrant rep[详细]
-
mysql加快alter操作
所属栏目:[MySql教程] 日期:2022-03-28 热度:152
mysql的alter table 操作的性能对大表来说是个大问题.mysql执行大部分修改表结构的操作方法是用新的结构创建一个空表,从旧表中查出所有数据插入新表,然后删除旧表.这样操作可能花费很长时间,如果内存不足而表又很大,而且还有很多索引的情况下,此种情况更甚[详细]
-
MySQL 5.7中新增sys schema后,会有什么变化
所属栏目:[MySql教程] 日期:2022-03-28 热度:154
MySQL 5.7中引入了一个新的sys schema,sys是一个MySQL自带的系统库,在安装MySQL 5.7以后的版本,使用mysqld进行初始化时,会自动创建sys库,sys库里面的表、视图、函数、存储过程可以使我们更方便、快捷的了解到MySQL的一些信息,比如哪些语句使用了临时[详细]
-
关于mysql中root权限丢失的问题
所属栏目:[MySql教程] 日期:2022-03-28 热度:157
听说执行了一条语句:revoke all on *.* from root@localhost; --呵呵,当时到底是怎样的心理活动,这是怎样的恨。。。 于是小菜就做了一个实验,心里感觉应该和密码丢失后跳过权限重新设置密码的解决方法是一样的,当然这只是思路,试试才知道。 首先停止[详细]
-
MySQL 5.6对大表做归档
所属栏目:[MySql教程] 日期:2022-03-28 热度:180
环境:MySQL 5.6 主从环境(Keepalived架构) 4000W行大表进行历史数据归档。 方案:为尽量降低对业务影响,决定采取下列方案。 1、在主库建立 2016、2017、2018、2019的4个历史表结构。 2、在从库建立test库,并建立 2016、2017、2018、2019的4个历史表结[详细]
-
MySQL5.7新版本的运维,性能和新特性介绍
所属栏目:[MySql教程] 日期:2022-03-28 热度:189
运维 在线启停GTID 在线配置Replication Filter,无需重启 Change Master到另外一个主库无需停止apply线程 Change Master修改一些日志apply属性(例如master_delay)无需停止IO线程 增加大量Performance Schema表用于监控复制 性能 更好的复制性能(logical[详细]
-
Centos7编辑安设mysql
所属栏目:[MySql教程] 日期:2022-03-28 热度:97
数据库的必要性:使用数据库可以高效且条例分明的存储数据,使人们能够更加迅速、方便管理数据。 数据库的3个特点: 可以结构化存储大量的数据信息,方便用户进行有效的检索和访问。 可以有效的保持数据信息的一致性,完整性,降低数据冗余。 可以满足应用[详细]
-
MySQL8.0之跳跃区域扫描
所属栏目:[MySql教程] 日期:2022-03-28 热度:177
跳跃范围扫描是MySQL在8.0.13版本新增加的用于提高性能的新特性,跳跃范围扫描可以使以前部分无法使用到联合索引的SQL利用联合索引进行查询,并且可以更高效的利用联合索引,这对于使用MySQL联合索引进行查询的应用意义重大。 | 环境信息 MySQL版本:8.0.1[详细]
-
msyql 的半同时复制
所属栏目:[MySql教程] 日期:2022-03-28 热度:112
mysql的半同步复制: mysql的异步复制:mysql默认使用异步方式进行同步,master在执行客户端提交的事务后会将结果返回给客户端,表示客户端的操作已经生效,同时会将该操作的binlog通过dumper通知slave来取,再正常情况下,slave会将该binlog写入本地,并[详细]
-
mysql备份恢复实例丢失事务解析
所属栏目:[MySql教程] 日期:2022-03-28 热度:111
看到了一篇server id导致mysql备份恢复的时候丢失事务的文章,特此重现一下。 主备开启了GTID,实验过程如下: 1.主库执行: create database test1; create database test2; 2.主从没有延迟后备份,利用从库备份,物理或者逻辑都可以: mysqldump -uroot[详细]
-
聊聊MySQL死锁
所属栏目:[MySql教程] 日期:2022-03-28 热度:183
数据越来越和我们的生活离不开,数据在生命周期的各个阶段有着不同的痛点和需求以及特殊场景。 CURD是数据的四大基本需求:写入,更新,读取,删除. 今天,来谈一谈死锁问题 死锁是高并发下MySQL不可回避的一个问题。 这句话可以引申四个问题: 1.什么是死锁[详细]
-
mysql5.6 — mysql5.7 GTID模式下多源复制之实践案例
所属栏目:[MySql教程] 日期:2022-03-28 热度:52
背景说明:公司有多个mysql实例,单实例多个数据库,而且版本还是5.6,这给数据查询分析增加了不少繁琐的事情。所以推荐使用mysql5.6的实例多源复制到mysql5.7实例下方便数据的查询、分析以及权限的管理 环境说明:10.89.3.224 mysql5.6.39 master1 10.89.3[详细]
-
heartbeat 3.0.4-drbd 8.9-Mysql 5.6--双机互备高可用布局
所属栏目:[MySql教程] 日期:2022-03-28 热度:102
heartbeat 3.0.4-drbd 8.9-MySQL 5.6协同工作原理:首先,heartbeat作为高可用的控制角色,负责drbd存储服务目录的挂载(这里,drbd的启动个人理解是随主机启动自动启动的,其作用就是将主节点本地的一块盘与对端备节点的一块盘做数据同步、保证两端主机dr[详细]
-
mysql innodb 主键INT、BIGINT、VARCHAR并发插入性能比较
所属栏目:[MySql教程] 日期:2022-03-28 热度:67
10个并发共插入10万行 总耗时(s) 第一次 第二次 第三次 NT(-2147483648-2147483647) 198.13 197.25 197.56 BIGINT(-9223372036854775808-9223372036854775807) 195.83 197.75 197.85 VARCHAR[0-65535] 203.95 205.37 202.87 INT与BIGINT相差不大,VARCHAR[详细]