MySQL GTID 主从复制部署
Write by lyc at 2018-11-14
MySQL GTID 主从复制部署GTID用于解决什么问题?主库上产生了多少事务,这个事务是谁产生的。
1.my.cnf 参数配置(M+S)确认主、从实例 my.cnf 打开以下配置:
12345678# master + slavegtid_mode=onenforce_gtid_consistency=1binlog_format=rowserver_id=3306100 # 主从 server_id 不能一样skip_slave_start=1
2.主库创建复制账号(M)在主库上创建主从复制账户
123create user 'slave'@'10.19.%.%' identified by '123456';grant replication slave on *.* to 'slave'@'10.19.%.%';flush privileges;
3.主库 mysqldump 导出全备(M)在主库上执行全量备份。 ...
mysql性能优化:整体性能调优参考(老叶推荐)
Modify by lyc at 2018-11-13:以下博文整理转自老叶茶馆博文。参考博文:老叶茶馆-比较全面的MySQL优化参考(上篇)老叶茶馆-比较全面的MySQL优化参考(下篇)
一、服务器硬件层面(略)
服务器硬件层的优化(略),请参考老叶博客原文。
关闭 bios NUMA:NUMA(Non Uniform Memory Access Architecture),按我的理解就是让系统跨越CPU分配内存。
二、操作系统内核参数优化1.锁住swap
散尽浮华-MySQL 针对Swap分区的运维注意点 (精华)
针对关键内核参数设定合适的值,目的是为了减少swap的倾向,并且让内存和磁盘I/O不会出现大幅波动,导致瞬间波峰负载
1234567$ cat /proc/sys/vm/swappiness60$ vim /etc/sysctl.confvm.swappiness=1 # 锁住内存,减少swap交换$ sysctl -p
2.系统脏页
文件系统缓存dirty_ratio与dirty_background_ratio两个参数区别
12345$ vi ...
sysbench mysql压力测试
Write by lyc at 2018-11-6sysbench Github详解MySQL基准测试和sysbench工具
sysbench mysql压力测试1.源码编译安装sysbench
安装指引参考github
安装依赖
123yum -y install make automake libtool pkgconfig libaio-devel gityum -y install mariadb-devel openssl-develyum -y install postgresql-devel
编译安装sysbench
1234567cd /usr/local/src/git clone https://github.com/akopytov/sysbench.gitcd sysbench/./autogen.sh./configuremake -jmake install
检查依赖
1ldd /usr/local/bin/sysbench
2.sysbench 给MySQL一点压力
prepare 准备好表和数据
run 执行综合压测
cleanup 清除测试的数据 ...
shell array数组
Write by lyc at 2018-10-21Update by lyc at 2021-3-22:整理自己早期的word版本到markdown
一、shell array数组1.数组定义12345678910111213141516# 方法一:横向定义array=(1 2 3)# 方法二:纵向定义array=(123)# 方法三:分别定义array[0]=a;array[1]=b;array[2]=c# 方法四:动态定义(命令)array=($(ls))array=(`ls`)
定义数组
1array=("a1" "a2" "a3")
增加一个数组元素
1array=("${array[@]}" "a4")
对数组元素赋值
1array[0]="Hello"
2.通过索引取单个value12345678echo ${array[0]}echo ${array[1]}echo ${arr ...
shell 循环语句
Write by lyc at 2018-10-21Update by lyc at 2021-3-22:整理自己早期的word版本到markdown
一、shell while循环语句1.while 语法1234while <条件表达式>do commanddone
示例:1加到100123456789101112131415# 脚本$ cat test.sh #!/bin/shi=1s=0while ((i<=100)) do ((s=s+i)) ((i++)) doneecho "$s"# 执行结果$ sh test.sh 5050
2.while read line 语法方法1:(推荐)
1234cat a.log | while read linedo echo $linedone
方法2:
12345exec < a.logwhile read linedo echo $linedone
方法3:
1234while read linedo echo $linedone < a ...
shell echo输出颜色
Write by lyc at 2018-10-21Update by lyc at 2021-3-18:整理自己早期的word版本到markdown
shell echo输出颜色1.语法12345# 语法$ echo -e "\033[显示方式;字体前景色;字体背景色m文本\033[0m"# 实例$ echo -e "\033[0;31;47mHello World\033[0m"
-e 参数来识别转义字符,shell echo必须加此参数
\E = \033 两者可以相互替代,但是我们常用的是 \033
2.显示方式
显示方式
说明
0
终端默认设置
1
加粗
4
使用下划线
5
闪烁
7
反白显示
8
不可见
3.字体颜色
字体前景色
字体背景色
颜色
30
40
黑色
31
41
红色
32
42
绿色
33
43
黃色
34
44
蓝色
35
45
紫红色
36
46
青蓝色
37
47
白色
4:示例:改变字体颜色123456789$ cat col ...
shell case条件语句
Write by lyc at 2018-10-21Update by lyc at 2021-3-18:整理自己早期的word版本到markdown
一、shell case条件语句1.shell if语法1234567891011case "${PARM}" invalue1) command ;;value2) command ;;*) command exit 1esac
2.例:控制脚本传参1234567891011121314151617181920212223242526$ cat sync.sh #!/bin/sh# 控制传入参数个数[ $# -ne 1 ]&&{ echo "$0" echo "USAGE: /bin/sh $0 {(A|a)|(B|b)}" exit 1}function main(){ choice=${1} ...
shell if条件语句
Write by lyc at 2018-10-18Update by lyc at 2021-3-18:整理自己早期的word版本到markdown
一、shell if条件语句1.shell if语法1234567891011121314151617181920# 单分支if <条件表达式>;then commandfi# 双分支if <条件表达式>;then commandelse commandfi# 多分支if <条件表达式>;then commandelif <条件表达式>;then commandelse commandfi
实例123456789# 单括号$ cat test.sh #!/bin/basha=5if [ $a -lt 10 ];then echo "sucess"else echo "false"fi
123456789# 双括号$ cat test.sh #!/bin/basha=5if [[ &quo ...
shell条件测试表达式
Write by lyc at 2018-10-18Update by lyc at 2021-3-17:整理自己早期的word版本到markdown
一、条件测试表达式语法1.条件测试表达式
序号
条件测试语法
说明
1
test <测试表达式>
这是利用 test 命令进行条件测试表达式的方法。test 命令和 <测试表达式> 之间至少有一个空格。
2
[ <测试表达式> ]
这是通过 [] 单中括号进行条件测试表达式的方法,和 test 命令的用法相同。[] 的边界和内容之间至少有一个空格。
3
[[ <测试表达式> ]]
这是通过 [[]] 双中括号进行条件测试表达式的方法,是比 test 和 [] 更新的语法格式。[[]] 的边界的内容之间至少与一个空格。
4
((<测试表达式>))
这是通过 (()) 双小括号进行条件测试表达式的方法,一般用于 if 语句里。(()) 双小括号两端不需要空格。
语法1和语法2等价,语法3是扩展的 test 命令,语法4常用于计算。
在语法3 [[] ...
shell变量的数值计算
Write by lyc at 2018-10-18Update by lyc at 2021-3-17:整理自己早期的word版本到markdown
shell变量的数值计算1.shell中常见的算术运算符号
shell算术运算符
说明
+ - * / % **
加,减,乘,除,取余(取模),幂运算
++ --
自增自减,可前置也可放在变量结尾
! && ||
逻辑非(取反)、逻辑与(and)、逻辑或(or)
< <= > >=
比较符号(小于、小于等于、大于、大于等于)
== != =
比较符号(相等、不等,对于字符串“=”也可以表示相当于)*
<< >>
向左移位、向右移位
~ | & ^
按位取反、按位异或、按位与、按位或
= += -= \*= /= %=
赋值运算符
例:shell算术运算符号计算1234567891011121314151617181920212223$ cat test.sh#!/bin/sha=$1b=$2[ $# -ne 2 ] ...