![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 63
与数据交流的路上
这个作者很懒,什么都没留下…
展开
-
mysql-orchestrator(一)配置
orcherstrator的配置涉及到很多的内容,详细可查看,下面所说的一些状态的详细解释也可以查看。原创 2024-05-19 16:26:32 · 844 阅读 · 0 评论 -
mysql-5.6.16的内存泄漏问题
有一台物理机上一个版本为5.6.16的从库出现了内存的增高,观测其日志可以发现,这台数据库已经oom很多次了,并且stop slave的时候会卡住非常长的时间才能停止。原创 2023-12-27 15:55:49 · 648 阅读 · 0 评论 -
gh-ost详解
gh-ost是MySQL的无触发器在线DDL。它是可测试的,并提供可暂停性、动态控制/重新配置、审计和许多操作特权。DDL时master会生成少量工作负载,与迁移表上的现有工作负载分离。详细内容请看。原创 2023-12-11 11:04:18 · 660 阅读 · 0 评论 -
mysql-norebuild的ddl测试
为了保证需要注意的有norebuild和ignore两种。原创 2023-09-06 14:08:17 · 315 阅读 · 0 评论 -
mysql-tokudb使用qa
安装tokudb引擎的前提条件是物理机要关闭大页,并需要注意物理机所剩内存和配置文件中tokudb_cache_size(内存主要占用部分),innodb_buffer_pool_size的使用,另外tokudb的安装一定要安装libjemalloc依赖,不然无法安装tokudb引擎。原创 2023-08-14 15:14:06 · 456 阅读 · 0 评论 -
mysql-xtrabackup的使用
文件名用途xtrabackup的软链,目前仍可使用,但是现在已经弃用,将在下一个主要版本中删除xtrabackup提供备份功能xbcrypt用于加密和解密备份文件的程序xbstream允许流式传输文件和从中提取文件的程序xbcloud用于从云中下载或者上传的程序通过官网了解详细参数解释,下面介绍一些用到的参数参数意义是否xtrabackup独有参数通过应用位于同一目录中名为 xtrabackup_logfile 的事务日志文件(即redo),在 BACKUP-DIR 中准备备份。原创 2023-05-31 17:24:04 · 1045 阅读 · 0 评论 -
pt工具的使用(8) pt-deadlock-logger的使用
pt-deadlock-logger 记录有关给定 DSN 上的 MySQL 死锁的信息。信息打印到 STDOUT,也可以通过指定 --dest 将其保存到表中。pt-deadlock-logger 通过轮询和解析 SHOW ENGINE INNODB STATUS 打印有关 MySQL 死锁的信息。当一个新的死锁发生时,它被打印到 STDOUT,如果指定 --dest,可以保存到对应的表中。仅打印新的死锁。原创 2023-05-22 16:34:54 · 685 阅读 · 0 评论 -
pt工具的使用(7) pt-archiver的使用
pt-archiver 是归档表的工具,在 sql 中写入高效归档和清除作业。目标是在不对 OLTP 查询产生太大影响的情况下,将旧数据从表中蚕食掉,从而实现低影响、仅向前的作业。您可以将数据插入到另一个表中,而不必在同一台服务器上。您也可以将其写入适合 LOAD DATA INFILE 格式的文件。或者你两者都不能做,在这种情况下它只是一个增量删除。原创 2023-04-13 17:46:31 · 1651 阅读 · 0 评论 -
mysql-online-ddl是否需要rebuild
源码地址/**/**源码地址/**public :/*/**/**/**/**初次探索源码,有很多地方可能理解的不对,之后会学习些DDL相关的如加MDL锁,rebuild等等的具体操作,欢迎各位大佬指出不足之处。原创 2023-03-17 19:00:38 · 784 阅读 · 0 评论 -
mysql-闪回操作
数据库上总会有一些误操作,这时候需要闪回怎么办,有两种情况情况一:二进制日志保留在数据库server层,即通过show binary logs能查到数据库日志情况二:二进制日志不在server层,但对binlog做了备份,如rds的做法。原创 2023-01-17 14:42:16 · 647 阅读 · 0 评论 -
mysql-prepare用法
一、基本用法# 准备可以引用的语句,?代表参数:# 准备好的语句特定于创建它的会话。 如果您终止会话而不释放先前准备的语句,则服务器会自动释放它。# 准备好的语句对于会话也是全局的。 如果在存储过程中创建准备好的语句,则在存储过程结束时不会释放它。PREPARE stmt1 FROM 'SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse';# 设置变量SET @a = 3;SET @b = 4;#调用准备好的语句EXECUTE stmt1 U原创 2022-04-20 14:02:19 · 2100 阅读 · 0 评论 -
mysql-archery的查询权限
一、背景因为业务需求需要给开发开通查询权限到生产库,那么就需要一个最小的权限,接下来是操作的步骤二、操作步骤1.创建用户并授权所需权限如下2.添加查询权限的审批流程3.用户自己申请需要查询的库表4.填写指定内容并提交申请4.1 报错但是这里会有个问题,提交申请的时候报错:AttributeError: ‘QueryPrivilegesApply’ object has no attribute ‘syntax_type’4.2 排查进入到archery,查看archery下的l原创 2022-03-02 15:40:47 · 1376 阅读 · 2 评论 -
mysql-修改字符集和排序规则
官网文档:https://dev.mysql.com/doc/refman/5.7/en/alter-table.html# 仅改变表定义的字符集和排序规则alter table table_name character set utf8mb4 collate utf8mb4_general_ci;# 改变表定义和字符类型字段的字符集和排序规则alter table table_name convert to character set utf8mb4 collate utf8mb4_genera原创 2022-01-06 17:12:54 · 711 阅读 · 0 评论 -
mysql-archery的脱敏功能
1.脱敏需要配置inception注: 这里不用启用inception审核也可,但是要配置inception信息2.开启脱敏3.后台中脱敏规则配置官网链接:https://archerydms.com/configuration/原创 2021-12-23 16:40:24 · 1448 阅读 · 0 评论 -
mysql-federated引擎表导致的主从主键冲突
一、背景今天突然看到一个朋友遇到了这个表产生的主键冲突的问题,如果了解这个表的原理其实很容易知道原因二、原因这个引擎的表只在本地存储表结构,数据是在远端存储,增删改也是在远端操作,此时主从表结构一致,都是这种引擎,那么就好理解了。角色ip表主键数据远端数据源192.168.1.1a(1,2)主192.168.1.2a(1,2)从192.168.1.3a(1,2)操作步骤:主从同步过滤a表向主库插入3这条数据查看三个节点a表对的数据,原创 2021-12-23 14:08:02 · 774 阅读 · 0 评论 -
mysql-字符串转换成数字的源码解析
一、问题现象mysql> select 0='abc';+---------+| 0='abc' |+---------+| 1 |+---------+二、排查原因今天开发找我说了个查询现象,0值和字符串相比竟然想等,以前没有遇到过该现象,所以排查了下重点: 数据库开发规范中一定要要求等值对比或者其他运算的时候一定要要求数据类型一致mysql> select cast('abc' as signed);+-----------------------+|原创 2021-12-08 09:53:23 · 1130 阅读 · 0 评论 -
mysql-审计功能
一、获取插件1.下载mariadb的压缩包重点:如果是mysql5.7不要使用mariadb10.6版本的插件下载链接:https://downloads.mariadb.org/mariadb/2.找到对应的审计插件find ./* | grep server_audit.so二、mysql安装插件1.将插件迁移到mysql插件目录下# 这个插件目录要根据自己的为准cp server_audit.so /usr/local/mysql/lib/plugin2.更改文件属主、组ch原创 2021-11-30 18:24:47 · 2068 阅读 · 7 评论 -
mysql的错误日志与系统时间不一致
对比log_timestamps与time_zone是否一致,如果不一致改为一致即可原创 2021-11-30 15:56:54 · 838 阅读 · 0 评论 -
mysql-主从slave I/o for channel, error_code 1045
一、背景几天前一个朋友重启了下主库,主从链接断掉了,报错error_code 1045二、解决从报错上来看是因为链接认证出问题,可以对比下密码和从库的master_info文件的密码是否一致,多半是因为某些原因密码不一致造成的解决办法:stop slave;change master to master_password='new_password';start slave;...原创 2021-11-10 10:31:11 · 1495 阅读 · 0 评论 -
pt工具的使用(6) pt-table-sync的使用
一、描述pt-table-sync同步表数据,解决主从不一致的利器,使用之前注意做好备份,当使用–replicate或–sync-to-master方法同步作为复制从属的服务器时,它总是 在复制主服务器上进行更改,而不是直接在复制从属服务器上进行二、实践ps: 以下是三种使用方式不是执行顺序,可以print重定向后生成并执行sql文件,也可以通过excucte直接执行1.打印结果# 填写主库链接,用户名,密码pt-table-sync --print --charset=utf8 --recu原创 2021-09-28 15:34:01 · 1385 阅读 · 0 评论 -
pt工具的使用(5) pt-table-checksum的使用
一、用途pt-table-checksum通过在 master 上执行校验和查询来执行在线复制一致性检查,这会在与 master 不一致的副本上产生不同的结果。可选的 DSN 指定主控主机。如果发现任何差异,或者出现任何警告或错误,则该工具的“退出状态”为非零值,该工具专注于有效地查找数据差异。如果有任何数据不同,您可以使用 pt-table-sync 解决问题。二、基本使用三、参数详解参数意义–binary-index此选项修改 --create-replicate-tabl原创 2021-09-26 13:36:31 · 733 阅读 · 0 评论 -
mysql-账户,密码及权限
一、背景接触数据库离不开的就是创建账户及授权,好的密码及权限控制能帮助DBA避免许多不必要的麻烦二、用户创建及密码相关三、权限权限名称作用域意义ALL [PRIVILEGES]服务器除GRANT OPTION外的所有权限ALTER表允许使用该ALTER TABLE语句来更改表的结构。 ALTER TABLE还需要 CREATE和 INSERT权限。如重命名表ALTER ROUTINE存储过程和函数允许更改或删除存储过程和函数的语句。CREATE数原创 2021-09-24 14:13:32 · 469 阅读 · 0 评论 -
python-paramiko的初步使用(二)mysql部署
一、背景自动化部署mysql二、初步实现功能的脚本import paramikoimport time# 检验接收到的数据,来决定是否恶意进行下一步def check_end(channel, end_str): buff = '' while not buff.endswith(end_str): resp = channel.recv(9999) # 获取数据,最大9999字节 buff += resp.decode('utf-8')def原创 2021-09-23 18:49:27 · 159 阅读 · 0 评论 -
mysql-安装部署
一、下载1.下载地址:http://dev.mysql.com/downloads/mysql/2.下载压缩包 wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz二、环境准备1.创建用户及用户组# 创建组:groupadd mysql# 创建用户 -g 指定用户的组,-r -s /sbin/false,/sbin/nologin 表示mysq原创 2021-09-22 16:43:00 · 79 阅读 · 0 评论 -
AWS-rds 表主从不一致如何解决
一、背景因为某些修改造成了表的主从不一致,所以需要备份表恢复数据,物理机大家都有很多种做法,但是因为aws rds限制了账户的权限,所以这里用不到普通的办法,想了一阵想到一种可行性的方法,暂时没有发现隐患,或者更好的办法,如果有大佬知道的话,欢迎随时指教二、步骤1.查看主库二进制状态(主库执行)# 记录当前的二进制和pos点,mysql-bin.123,111show master status2.等待一段时间,确定所要备份的表没有还未执行完的大事务,开始备份 这里可以用多种方式,我使用的为m原创 2021-09-17 14:22:46 · 340 阅读 · 0 评论 -
mysql-主从延迟
show variables like '%innodb_flush_method%';+---------------------+----------+| Variable_name | Value |+---------------------+----------+| innodb_flush_method | O_DIRECT |+---------------------+----------+show variables like '%slave_paralle原创 2021-09-08 18:42:36 · 331 阅读 · 0 评论 -
archery-dml放宽审批流程
一、背景dml审核的时候只要研发leader通过即可,这样可以减少dba工作量二、修改修改archery代码vim /sql/utils/workflow_audit.py def audit(audit_id, audit_status, audit_user, audit_remark): else: # 向审核主表插入待审核数据 audit_detail = WorkflowAudit() audi原创 2021-09-07 18:41:46 · 620 阅读 · 0 评论 -
archery适配tidb
一、背景因为有些业务需要使用tidb,所以想对tidb接入工单系统,工单系统使用的是archery二、问题在提交工单的时候发现了工单提交不了,因为提交工单的时候有个备份,而goinception的备份过程如下配置备份数据库,并在执行SQl时开启备份功能在执行SQL前记录binlog位置和线程号(逐条执行逐条记录)执行SQL在执行SQL后记录binlog位置和线程号开始备份,解析远程服务器binlog(问题出现的地方)在备份服务器创建备份库创建备份信息表,写入执行信息和binlog位置信原创 2021-09-03 16:47:14 · 451 阅读 · 0 评论 -
mysql复制(四)- 基于GTID的复制的搭建
复制相关总结第一章 复制的概念及用途第二章 基于二进制日志的复制的搭建第三章 基于二进制日志的复制的问题及处理第四章 基于GTID的复制的搭建第五章 基于GTID的复制的问题及处理第六章 复制所涉及的相关参数提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录复制相关总结前言一、在线搭建二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就原创 2021-07-09 18:23:14 · 105 阅读 · 0 评论 -
mysql-AWS-RDS骚操作
一、背景目前云时代,好多公司都上云了,但是rds的使用方法和物理机上的自建传统数据库可能有些不一样,这里慢慢来做对比。二、操作处理问题一、kill thread描述: 我们自己在aws上创建的超级用户并不能kill其他用户的线程解决: aws封装了一个存储过程在里面,不同的rds可能名字不一样,可以通过 select * from ROUTINES where routine_name like '%kill%'来查询。**使用: **call mysql.rds_kill(thread_id)原创 2021-07-02 14:24:21 · 519 阅读 · 0 评论 -
mysql复制(二)- 基于二进制日志的复制的搭建
复制相关总结第一章 复制的概念及用途第二章 基于二进制日志的复制的搭建第三章 基于二进制日志的复制的问题及处理第四章 基于GTID的复制的搭建第五章 基于GTID的复制的问题及处理第六章 复制所涉及的相关参数文章目录复制相关总结一、概述二、复制的搭建1.配置主库(源)2.迁移数据3.配置从库(副本)4.开启复制总结一、概述作为源(数据库更改的源)运行的 MySQL 实例将更新和更改作为“事件”写入二进制日志。根据记录的数据库更改,二进制日志中的信息以不同的日志格式存储。副本配置为从源原创 2021-06-29 10:44:21 · 193 阅读 · 0 评论 -
mysql复制(一)- 复制的概念及用途
第一章 复制概念提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录第一章 复制概念前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,原创 2021-06-28 14:58:26 · 445 阅读 · 0 评论 -
mysql-archery安装部署
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、部署Docker1.通过 uname -r 命令查看你当前的内核版本2 确保 yum 包更新到最新3 卸载旧版本4 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的5 设置yum源6、可以查看所有仓库中所有docker版本,并选择特定版本安装7 安装docker8 启动并加入开机启动9 验证安装是否成功(有client和service两部分表示d原创 2021-06-07 10:16:52 · 1658 阅读 · 1 评论 -
mysql-binlog2sql
一、部署1.安装binlog2sql前先安装git和pip:yum -y install epel-release yum -y install git python-pip2.安装binlog2sql:git clone https://github.com/danfengcao/binlog2sql.git && cd binlog2sqlpip install -r requirements.txt3.用户权限SELECT, REPLICATION原创 2021-05-20 15:20:54 · 221 阅读 · 0 评论 -
mysql-mysqlbinlog的使用详解
一、背景最近总在学习新知识,担心老的知识不用会忘,所以梳理一下,新欢旧爱都要宠着二、介绍1.参数简介Option Name Description Introduced Deprecated --base64-output Print binary log entries using base-64 encoding --bind-address Use specified network interface to connec...原创 2021-04-17 13:26:20 · 12891 阅读 · 0 评论 -
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
一、背景创建用户报错:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements二、查看原因:SHOW VARIABLES LIKE 'validate_password%';三、调整对应参数即可,或者密码满足复杂度即可原创 2021-03-03 11:00:40 · 282 阅读 · 0 评论 -
pt工具的使用(4) pt-osc的使用
--alter = s 模式修改,不带ALTER TABLE关键字 --alter-foreign-keys-method = s 如何修改外键以便它们引用新表 -[no]交换前分析在新表上执行ANALYZE TABLE 与旧的交换之前(默认 是) --ask-pass ...原创 2020-07-03 11:43:36 · 1669 阅读 · 0 评论 -
趣味解读MySQL的事务及隔离级别
一、理论1.简介事务可由一条非常简单的SQL语句组成,也可以由一组复杂的SQL语句组成。事务是访问并更新数据库中的各种数据项的一个程序执行单元。事务中的操作要么都做修改,要么都不做MySQL包含诸如InnoDB存储引擎严格遵循ACID模型,因此数据不会损坏,结果不会因软件崩溃和硬件故障等异常情况而失真。当您依靠符合ACID的功能时,无需重新发明一致性检查和崩溃恢复机制。如果您有其他软件保护措施,超可靠的硬件或可以容忍少量数据丢失或不一致的应用程序,则可以调整MySQL设置,以权衡一些ACID可靠性以原创 2020-07-01 22:25:25 · 149 阅读 · 0 评论 -
MHA搭建--基于gtid的半同步复制
基础环境: Mha_1_master 192.168.153.136 Mha_1_slave 192.168.153.137 Mha_1_slave 192.168.153.138 Mha_2_master 192.168.153.129 Mha_2_slave 192.168.153.130原创 2020-07-01 10:27:28 · 255 阅读 · 0 评论 -
mydumper的安装与使用
安装首先去官网https://launchpad.net/mydumper下载对应的版本rpm -qa|grep 检测下面的包是否有未安装的glib2-develzlib-develpcre-developenssl-devel cmake有没安装的用yun -y install 安装解压压缩包:tar -zxvf mydumper-0.9.1.tar.gz然后继续安装cd mydumper-0.9.1cmake .makemake install...原创 2020-06-03 16:39:52 · 994 阅读 · 0 评论