pt-online-schema-change和MySQL原生online DDL对比
测试环境:MySQL5.7pt-online-schema-change 3.2.0第一次加索引,使用MySQL原生的online DDL。做一个超级慢的update,模拟长事务。mysql> update test set user_id='aa' where user_id like '
MySQL自增主键和随机字符串主键insert性能对比
测试环境:MySQL 5.7创建测试表:mysql> create table test1 -> (id bigint auto_increment, -> aaa varchar(40), &nbs
MySQL死锁案例五(两条更新导致死锁)
测试环境:MySQL 5.7.26创建测试表: create table t5(id int); Query OK, 0 rows affected (0.01 sec)插入测试数据:mysql> insert into t5 values(1);
MySQL死锁案例四(删除和插入导致死锁)
测试环境:MySQL 5.7.26创建测试表: mysql> create table t4(id int,name varchar(10),primary key(id),unique key(name)); Query OK, 0 rows affected 
MySQL死锁案例三(事务提交导致死锁)
测试环境:MySQL 5.7.26创建测试表: mysql> create table t3(id int not null default '0',primary key(id)); Query OK, 0 rows affected
MySQL死锁案例二(自增列导致死锁)
测试环境:MySQL 5.7.26创建测试表:create table t2(id int auto_increment,status int default null,primary key(id),unique key(status)); Query OK, 0 rows&
MySQL死锁案例一(回滚导致死锁)
测试环境:MySQL 5.7.26创建测试表:create table t1 (id int not null,name int,primary key(id),unique key(name));死锁模拟过程如下:会话1rollback之后会话2和3出现死锁,innodb选择kill掉会话3并抛出:ERRO
MySQL基准测试多线程复制的效率
测试环境:MySQL 5.7.26 主从异步复制(GTID)测试数据:测试数据:10张表,每张表500万行数据,共12G的数据。每次测试,主实例服务器测试脚本不变,线程为30。分别将从库复制线程设置为1,6,12,18,24,30,36/usr/local/bin/sysbench /tmp/sysbench-master/src/lua/oltp_read_write.lua
配置pt-heartbeat监控主从复制延迟
主库创建监控用户:mysql> grant select,process,super,replication slave on *.* to 'pt_checksum'@'%' identified by 'mysql'; Query 
MySQL开启多线程复制
关闭复制mysql> stop slave; Query OK, 0 rows affected (0.00 sec)设置并发同步类型为逻辑时钟方式mysql> set global slave_parallel_type=logical_clock; Query 
MySQL半同步复制之rpl_semi_sync_master_wait_point
MySQL5.7之前的版本半同步复制rpl_semi_sync_master_wait_point默认值为after_commitMySQL5.7半同步复制rpl_semi_sync_master_wait_point默认值为after_sync看一下官方文档怎么说AFTER_SYNC (the default): The master writes each transaction to its
MySQL半同步复制rpl_semi_sync_master_timeout测试
测试环境:mysql5.7.26 一主两从查看主库状态:mysql> show status like 'Rpl_semi_sync_master_status'; +-----------------------------+-------+ | Variable_name
binlog2sql解析binlog
资料来源:https://github.com/danfengcao/binlog2sql1、安装git和pipyum -y install git python-pip2、安装binlog2sql[root@server-254-163 tmp]# git clone https://github.com/danfe
Xtrabackup+mysqlbinlog完全恢复
一、备份:1、数据备份1)做一次全备:innobackupex --defaults-file=/mysql/mysql3307/etc/my.cnf --user=backup --password=mysql --no-timestamp --no-lock --parallel=4 /mysql/backup/xtraba
MySQL基准测试redo大小对性能影响
测试数据:10张表,每张表500万行数据,共12G的数据。在其他参数不变的情况下,逐渐调整innodb_log_file_size大小,测试MySQL的QPS和TPS。innodb_log_file_size大小分别为50M,100M,200M,500M,1024M。测试脚本如下:# /usr/local/bin/sysbench /tmp/sysbench-master/sr
MySQL基准测试参数innodb_flush_log_at_trx_commit对性能影响
测试数据:10张表,每张表500万行数据,共12G的数据。在其他参数不变的情况下,将innodb_flush_log_at_trx_commit分别设置为0,1,2,测试MySQL的QPS和TPS。[root@server-254-163 ~]# /usr/local/bin/sysbench /tmp/sysbench-master/src/lua/oltp_rea
MySQL基准测试开启Binlog对性能影响
测试数据:10张表,每张表500万行数据,共12G的数据。在其他参数不变的情况下,分别开启Binlog和关闭Binlog,测试MySQL的QPS和TPS。测试脚本如下:/usr/local/bin/sysbench /tmp/sysbench-master/src/lua/oltp_read_write.lua --mysql-user=sysbenchuser --
MySQL基准测试Can't create more than max_prepared_stmt_count statements
用sysbench做MySQL基准测试,出现报错Can't create more than max_prepared_stmt_count statements。通过查阅相关资料。 max_prepared_stmt_count 参数限制了同一时间在mysqld上所有session中
MySQL基准测试innodb_buffer_pool_instances对性能影响
测试数据:10张表,每张表500万行数据,共12G的数据。innodb_buffer_pool_size=24576M不变,修改innodb_buffer_pool_instances大小测试对性能的影响,分别为1,2,4,8,16,24,32。测试脚本如下:/usr/local/bin/sysbench /tmp/sysbench-master/src/lua/oltp_read_wr
MySQL基准测试innodb_buffer_pool_size对性能影响
测试数据:10张表,每张表500万行数据,共12G的数据。innodb_buffer_pool_instances = 1不变,每次测试只修改innodb_buffer_pool_size大小,分别为256M,1G,6G,12G,24G。测试脚本如下:# /usr/local/bin/sysbench /tmp/sysbench-master/src/lua/oltp_read