mysql
文章平均质量分 66
践行见远
暂时喜欢做技术希望能够学到更多东西
展开
-
阿里云ghost + DTS导致目标库数据丢失的问题解决方案
问题现象:当使用gh-ost对DTS正在同步的表进行表结构更改后,gh-ost完成后,发现目标端该数据表内容被清空。问题分析:gh-ost采用建幽灵表的方式进行同步,但是幽灵表并不在DTS的配置中,因此数据不能正常同步。目标端数据被清空是因为:DTS同步会同步涉及到该表的rename操作,不管该表是rename的源还是目标。因此在gh-ost 的操作 rename ...原创 2019-12-24 15:24:49 · 437 阅读 · 0 评论 -
【tool】sysbench IO压测
sysbench 1.0 安装下载https://github.com/akopytov/sysbench/tree/1.0解压unzipsysbench-1.0.zip安装依赖yum -y install make automake libtool pkgconfig libaio-devel vim-common编译安装(不安装mysql支持,若安装mysql支持,需要指定mysql-include和mysql-lib路径)./autogen.sh./config..原创 2020-11-10 11:56:47 · 117 阅读 · 0 评论 -
canal基础安装配置
jdk: 12.2canal.deployer-1.1.6.tar ### 服务端,伪装成mysql slave,进行binlog抽取和解析canal.adapter-1.1.6.tar ### 消费端,连接服务端,将消息写入目标canal.admin-1.1.6.tar ### 管理,暂时没用。原创 2023-07-12 18:32:05 · 389 阅读 · 0 评论 -
collations默认排序规则的坑
1、每个字符集有一个默认的排序规则,在mysql5.7,utf8mb4的默认排序规则为utf8mb4_general_ci,在mysql8.0,utf8mb4的默认排序规则为utf8mb4_0900_ai_ci。迁移后: 8.0上字符集为utf8mb4,排序规则自动变成了utf8mb4_0900_ai_ci(期望general_ci)迁移前:5.7上字符集为utf8mb4,排序规则为utf8mb4_general_ci。2、在建表的时候若没有显式指定排序规则,则自动使用字符集的默认排序规则。原创 2023-07-12 18:33:08 · 287 阅读 · 0 评论 -
ogg基础安装配置
测试通过ogg从mysql 8 同步数据至 mysql 5.7同时使用ogg的远程抽取功能,即ogg抽取进程与源端部署在不同的服务器。远程抽取 + 远程应用,省去了投递dat文件这一步。原创 2023-07-12 18:41:54 · 378 阅读 · 0 评论 -
mysql_to_clickhouse同步方案调研
调研时间:2021年08月,之后是否出现优化方案未知。原创 2023-07-12 18:39:48 · 490 阅读 · 0 评论 -
mysql单一场景容量测试
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fCgEuZTS-1689157490627)(D:\内部技术文档\mysql相关\img\020.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4YLoiq2J-1689157490629)(D:\内部技术文档\mysql相关\img\022.png)]python脚本,长连接,循环执行sql,多个窗口执行脚本模拟并行数。**监控方式:**innotop。**测试场景: **原创 2023-07-12 18:40:22 · 221 阅读 · 0 评论 -
mysql更新关联字段问题
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jqz3sqTJ-1689157530334)(D:\内部技术文档\mysql相关\img\019.png)]这个结果与标准SQL语义是不同的,可以测试下MSSQL、ORACLE,两个语句的结果是一致的。原创 2023-07-12 18:40:52 · 288 阅读 · 0 评论 -
mysql修改字符集utf8_to_utf8mb4
长度限制说明:https://dev.mysql.com/doc/refman/5.7/en/innodb-limits.html。1、修改字符集使用的语句,alter table convert/modify/defult 区别。1、varchar字段/index长度/text类字段长度检查。modify default:之修改表级别默认设置,不修改数据。ghost使用insert ignore, 超长会自动截取后。3、使用ghost方式遇到超长问题默认处理策略?2、加锁情况,线上执行的业务影响。原创 2023-07-12 18:41:25 · 844 阅读 · 0 评论 -
【mysql8】排序规则--Collations
mysql原创 2023-02-20 15:00:26 · 772 阅读 · 0 评论 -
【orchestrator】基本工作原理--未完待续
mysql ha orchestrator原创 2023-02-20 14:56:30 · 225 阅读 · 0 评论 -
【orchestrator】002、单机安装部署 + VIP切换
mysql ha orchestrator原创 2023-02-20 14:54:45 · 772 阅读 · 0 评论 -
【orchestrator】001架构说明
mysql ha orchestrator原创 2023-02-20 14:42:21 · 272 阅读 · 0 评论 -
【mysql】gh-ost编译安装
版本说明:go: 1.14.2gh-ost: 1.0.36linux: Red Hat Enterprise Linux Server release 7.2go环境安装https://mytecdb.com/blogDetail.php?id=125注意的点:1、操作系统本地源带的go版本为1.11.5,以下安装步骤需要先安装低版本,然后升级的步骤。2、go版本升级并不连续,比如1.16版本必须在1.14版本基础上升级,如果在1.11版本之上升级1.16版本会报错。安..原创 2021-05-12 17:12:03 · 286 阅读 · 0 评论 -
【mysql】003-pt-archiver测试准备
1、文档查看## 详细说明perldoc /bin/pt-archiver## 简化版pt-archiver --help2、打开调试输出## 操作系统层面设置export PTDEBUG=13、开启general log查看执行也可以在insert多个批次之间,锁定个别数据,查看分布式事务的控制情况4、查看pt-archiver脚本内容## 直接vim查看vim /bin/pt-archiver5、 perl脚本基本调试## 启动调试perl -d 脚本名 参数 …原创 2021-04-30 11:55:38 · 55 阅读 · 0 评论 -
【mysql】002-pt-archiver测试过程记录
测试环境说明环境信息source: 172.16.0.1 3355database: wjftable: wjf_test_archiverdest: 172.16.0.2 3355database: wjf_archivetable: wjf_test_archiver测试表create table wjf_test_archiver (id int not null auto_increment,created datetime,primary key(id));测原创 2021-04-30 11:54:58 · 83 阅读 · 0 评论 -
【mysql】001-pt-archiver工具使用说明
pt-archvier也是pt-toolkit工具箱的一员,可以用于历史数据归档,以及过期数据清理等场景。工作流根据使用场景,可以分成以下3中方式:1、归档数据源端读取数据------> 保存到目标端-------> 源端数据删除。2、拷贝数据,异地存储,源端不删除源端读取数据------> 保存到目标端。通过参数设置(–no-delete)3、直接源端删除,不拷贝数据源端读取数据------>进行删除。通过参数(–purge,不带–dest和–file)原创 2021-04-30 11:52:47 · 1073 阅读 · 0 评论 -
【mysql】utf8和utf8mb4关联字符集转化问题
环境介绍: ---DB version: percona server5.7.27-30-log ---utf8 CREATETABLE`emp` ( `id`bigint(20) unsignedNOTNULLAUTO_INCREMENT, `empno` mediumint(8) unsignedNOTNULLDEFAULT'0', `ename`varchar(20)NOTNULLDEF...原创 2020-11-10 11:55:18 · 269 阅读 · 0 评论 -
【mysql】MYSQL ONLINE DDL 操作影响说明
MYSQL ONLINE DDL操作影响说明 操作内容 HANG ghost支持 生产使用方案 demo 备注 DROP TABLE YES NO ...原创 2019-07-30 16:57:27 · 424 阅读 · 0 评论 -
mysql主从同步延迟问题处理
1、问题现象最近发现mysql从库应用延迟,通过show slave status \G;查看报错为2、问题分析通过报错语句发现为增加字段过程中,报表坏掉了。当时在主库上增加字段时,由于网络问题,增加字段执行过程中出现了闪断,后续增加了多次才最终完成。初步怀疑跟此次网络故障相关。3、处理思路从库上手工重建该表(包含新加字段),然后跳过应用增加字段的错误语句。3.1、主库上提取新加字段后的建表语句 ...原创 2018-05-02 14:00:31 · 355 阅读 · 0 评论 -
shell实现mysql快捷环境切换
脚本文件结构db_common_envs 存储mysql环境变量设置dblist.txt 存储mysql列表dblogin.sh 快捷脚本dblogin.shi=1if [ ! -z $1 ];then cat /data/dbadmin/dblogin/dblist.txt|grep -i "${1}" > /tmp/dblist.tmpelse ...原创 2019-12-24 16:29:20 · 157 阅读 · 0 评论 -
【MYSQL】权限何时生效
根据官方文档的如下链接内容可知:https://dev.mysql.com/doc/refman/5.6/en/privilege-changes.html当mysqld启动时,所有的权限都会被加载到内存中。 如果使用GRANT/REVOKE/SET PASSWORD/RENAME USER命令来更改数据库中的权限表,mysqld服务器将会注意到这些变化并立即加载更新后的权限表至...转载 2018-11-08 15:05:19 · 716 阅读 · 0 评论 -
【MYSQL】手工日志清理
首先可以设置日志的保留策略。即通过参数 expire_logs_days = 10 进行设置(保留多少天)。但手工清理是必需要了解的。一、手工binlog清理1.1 当前binlog查看show binary logs;1.2 清理---清理指定日期之前的日志purge master logs before '2018-10-01 00:00:00'---清理指定日志以前...原创 2018-11-08 14:38:20 · 545 阅读 · 0 评论 -
mysql备份脚本
#!/bin/bashdate_num=`date +"%Y%m%d"`backup_dir=/data/backupmy_cnf=/etc/my.cnfuser_name=wjf_backupv_passwd=wjf_pwd#----备份保留时长(天)v_retention_day=2db_list="mysql performance_schema information_schema wjf...原创 2018-05-03 10:50:54 · 210 阅读 · 0 评论 -
mysql主从延迟监控
方式1、从库参数查看从库执行show slave status \G;查看字段 Seconds_Behind_Master。说明:1、主从无延迟的时候Seconds_Behind_Master值为0。2、当从库IO线程或者SQL线程故障时,Seconds_Behind_Master值为NULL。存在的问题A:备库Seconds_behand_master值是通过将服务器当前的时间戳与二进制日志中的...原创 2018-05-02 13:58:53 · 4975 阅读 · 0 评论 -
percona-toolkit安装
1、工具简介2、 rpm安装2.1下载软件官网地址:https://www.percona.com/downloads/percona-toolkit/LATEST/当前最新版本为:percona-toolkit-3.0.9-r063ccb3-el6-x86_64-bundle.tarftp下载# mkdir -p /root/mysql/toolkit# cd /root/mysql/tool...原创 2018-05-02 13:55:02 · 284 阅读 · 0 评论 -
mysql主从搭建操作
1、搭建说明准备工作:主从库已安装mysql软件以及xtracbackup备份工具。具体操作可参见mysql rpm安装文档。介质版本操作系统Red Hat Enterprise Linux Server release 6.8 (Santiago)数据库MySQL-5.6.30角色IP主库172.16.81.90从库172.16.81.762、主库操作2.1 创建复制用户mysql> GR...原创 2018-05-02 13:53:39 · 2323 阅读 · 0 评论 -
rpm方式安装mysql
1、下载安装包测试环境介质 版本 操作系统 Red Hat Enterprise Linux Server release 6.8 (Santiago) 数据库 MySQL-5.6.30 下载rpm安装包和xtrabackup备份工具安装包。以root用户登录# mkdir -p /root/mysql# cd /root/mysql#...原创 2018-05-02 13:51:21 · 300 阅读 · 0 评论 -
【mysql】mysql5.6 小版本升级
mysql 5.6 小版本升级步骤参考以下脚本。需要停机时间。如果对数据要求较高,在升级前需要提前进行备份操作。#!/bin/bash## 5.6.40之下的版本升级为5.6.40# 需要先切换到对应实例,即加载该实例的环境变量# 公共变量v_5640_package_dir="/opt/software/mybase5640"v_sleep_time_after_sta...原创 2019-07-30 17:00:27 · 2380 阅读 · 0 评论 -
【MYSQL】MHA搭建过程
环境介绍IP角色172.16.20.105master172.16.20.106slave1(manage)172.16.20.107slave2安装mysql下载mha安装包https://code.google.com/archive/p/mysql-master-ha/downloads?page=1mha安装##安装依赖包(all no...原创 2019-07-30 16:59:25 · 535 阅读 · 0 评论 -
【mysql】gh-ost使用说明
gh-ost使用说明下载安装源码地址:https://github.com/github/gh-ost安装包下载地址:https://github.com/github/gh-ost/releases下载binary-linux版本直接下载解压可用。二、基本使用2.1获取帮助文档 ./gh-ost help 2.2使用示例: ./...原创 2019-07-30 16:56:04 · 1364 阅读 · 0 评论 -
一个mysql备份脚本
一个mysql备份脚本#!/bin/bash# 用于使用xtrabackup进行物理备份# 默认备份策略为周六全备,其他时间基于周六一级增量备份# 备份文件保留两周# created by wjf 20190724backup_dir_base="/Data/mysql/backup/"cmd_inno_xtraback="/bin/innobackupex"backup_st...原创 2019-09-06 15:46:53 · 214 阅读 · 0 评论 -
【oracle】根据oracle表生成mysql 建表语句的存储过程
写了一个从oracle表生成mysql 建表语句的过程如下。有些部分是定制化需求,需要根据实际使用场景微调。create or replace procedure p_wjf_ora_to_mysql(i_tablename in varchar2, i_tab_owner in varchar...原创 2019-07-30 17:00:53 · 718 阅读 · 0 评论 -
【mysql】gh-ost工具使用风险点说明
对于以下两种场景:1、存在null值的字段添加not null约束2、存在重复值的字段添加唯一约束Ghost操作结果:1、任何模式下,如果之前存在空值,则会把空值改为0(隐形默认值),存在业务涵义上的风险2、任何模式下,会把之前重复的数据删除,只保留第一次扫描到的记录原生sql操作结果:1、 Sql_mode严格模式下,失败。非严格模式下,成功,null值更...原创 2019-07-30 16:56:28 · 582 阅读 · 0 评论 -
【mysql】pt-kill 工具使用说明
工作过程说明pt-kill是percona工具箱里的成员之一,也是用perl写的。其主要工作过程为远程连上mysql实例 根据指定规则对会话进行筛选 对筛选出的问话执行操作,如kill。 根据指定的重复规则,重复执行以上2、3步骤。参数说明pt-kill --help 可以查看帮助信息,参数信息分类也十分的清晰。对照pt-kill的工作过程,参数内容也分为以下几类:...原创 2019-07-30 16:57:06 · 797 阅读 · 0 评论 -
【mysql】mysql not null和defaul
在mysql 5.6中,对字段设定not null且指定默认值,实际插入的值会与插入的方式的不同有些关系,下面是实验的结果。先看下表结构单条插入null值不指定任何值批量插入null 批量插入的情况就有点妖了,不但插入成功,插入的值还是个莫名其妙的0,既不是指定的null,也不是默认值-1。 关于插入0的解释如下:h...原创 2019-07-30 16:57:45 · 912 阅读 · 0 评论 -
mysql文章汇总
mysql半同步数据一致性探究https://www.cnblogs.com/hugb/articles/5827658.html原创 2019-02-26 10:42:46 · 315 阅读 · 0 评论 -
【mysql】mysql5.6 online ddl对系统影响测试
在mysql 5.6上,使用sysbench造5W QPS,2K TPS情况下,测试mysql online ddl对tps/qps的影响。具体数据如下:结论:add column操作开始时和结束时,对TPS都有较大影响。 change 操作整个过程中阻塞全部tps。 add index和add uk执行过程中对tps影响类似,没有明显区别。 add...原创 2019-07-30 16:58:53 · 227 阅读 · 0 评论 -
【sql】mysql查看表大小
#--------mysql查看表大小select TABLE_NAME, concat(truncate(data_length / 1024 / 1024, 2), ' MB') as data_size, concat(truncate(index_length / 1024 / 1024, 2), ' MB') as index_size from informa...原创 2018-02-08 11:06:37 · 776 阅读 · 0 评论