自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 关于mysql重启后数据库自增id改变的坑

不同的引擎对于自增值的保存策略不同1.MyISAM引擎的自增值保存在数据文件中2.InnoDB引擎的自增值,在MySQL5.7及之前的版本,自增值保存在内存里,并没有持久化。每次重启后,第一次打开表的时候,都会去找自增值的最大值max(id),然后将max(id)+步长作为这个表当前的自增值select max(ai_col) from table_name for update;在MySQL8.0版本,将自增值的变更记录在了redo log中,重启的时候依靠redo log恢复重启之前的值ps

2022-04-13 19:33:07 1126

原创 【mysql】waiting for level lock分析与解决

问题:线上接口无响应,无法获取数据排查:执行mysql命令show processllist查询数据库中哪些线程正在执行.先怀疑是数据库操作死锁了,把程序代码反复也为发现可能出现死锁的地方后各种百度查询,看到大神的问题怀疑是数据库引擎myisam的问题(myisam读写的时候会加表锁),查看数据库引擎是innodb,这就怀疑人生了又是各种百度,看到MDL元数据锁会提示‘waiting for level lock’,但是程序中也没有执行操作更改表结构的操作呀;又是各种百度的也未找到原因,偶然间发

2021-12-14 15:13:52 997

原创 进制及进制转换

二进制: 0-1,满2进1八进制: 0-8,满8进1,以数字0开头十六进制: 0-9及A-F,满16进1,以0x或0X开头表示二进制转十进制从最低位开始(右边的),将每个位上的数提取出来,乘以2的(位数1)次方然后求和。八进制转十进制从最低位开始(右边的),将每个位上的数提取出来,乘以8的(位数-1)次方,然后求和。十六进制转十进制从最低位开始(右边的),将每个位上的数提取出来,乘以16的(位数-1)次方,然后求和。十进制转二进制将该数不断除以2,直到商为0为止,然后将每步得到的余数倒

2021-10-13 15:48:25 565

原创 Dos 常用命令

命令作用示例dir显示目录下所有文件md创建目录md testrd删除目录rd testecho新建文件或向文件追加内容echo test > test.txttype查看文本内容type test.txtmore分屏查看文本内容more test.txtcopy复制文件copy news.txt D:\goprojectmove移动文件move news.txt D:\goprojectdel删除...

2021-10-11 10:15:41 112

原创 go语言学习(二)

Golang执行流程分析说明:两种执行流程的方式区别如果我们先编译生成了可执行文件,那么我们可以将该可执行文件拷贝到没有go开发环境的机器上,仍然可以运行如果我们是直接go run go源代码,那么如果要在另外一个机器上这么运行,也需要go开发环境,否则无法执行。在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,所以,可执行文件变大了很多。...

2021-10-09 16:20:19 45

原创 go语言学习(一)

开发工具选择:Visual Studio Code下载地址:http://vscode.bianjiqi.net/SDK下载地址:https://golang.org/386表示32位系统amd64表示63位系统windows系统msi表示安装文件,zip表示免安装解压就可运行Windows下关于SDK配置配置变量GOROOT路径表示SDK文件路径配置GOPATH路径表示go项目所在路径环境变量path中新增SDK中go.exe可执行文件路径 目录结构参考新建文件

2021-10-09 16:10:27 5741

原创 shell学习(五)

文本排序及统计ls列表顺序默认按字母升序排列-S:按文档大小降序排列-t:按文档的修改时间降序排列--r :反序排列[root@localhost test]# ls -lh -S demo*.sh //ls -lh 显示文件大小-rw-r--r-- 1 root root 334 9月 26 14:18 demo14.sh-rw-r--r-- 1 root root 183 9月 26 14:42 demo15.sh-rw-r--r-- 1 root root 176 9月

2021-09-27 11:01:59 53

原创 linux 常用命令

命令作用who | wc -l当前系统登录用户数pgrep ‘’ | wc -l开启进程数pwd当前所在目录路径ping -c 3 -i 0.2 -W 3 192.168.100.22 &>/dev/nullping 192.168.100.22-c 3 表示发送3次 ; -i 0.2表示每0.2秒发送一次;-W 3 表示等待3秒vim /etc/passwd用户$#在shell脚本中使用表示执行shell 输入的参数个数...

2021-09-26 16:38:16 66

原创 shell学习(四)

流程控制if[root@localhost test]# cat demo12.sh #!/bin/bashSSH_TEST_DIR="/opt/test22/"if [ ! -d $SSH_TEST_DIR ]then mkdir -p $SSH_TEST_DIRfi[root@localhost test]# sh demo12.sh [root@localhost test]# ls -d /opt/test22/opt/test22#!/bin/bashping -c

2021-09-26 16:07:49 71

原创 shell学习(三)

条件测试test检查文件状态[root@localhost test]# test -e demo11.sh && echo truetrue[root@localhost test]# test 1 -eq 2 || echo falsefalse[root@localhost test]# [ $USESR='root' ] && echo $USERroot

2021-09-26 11:37:58 58

原创 shell学习(二)

字符串处理截取字符串expr:expr substr $var1 起始位置截取长度[root@localhost test]# expr substr "hello shell" 7 5shellcut: cut -c起始位置-结束位置;cut -d '分隔符’-f 字段编号…[root@localhost test]# cat demo10.sh #!/bin/bashvar1="Centos8.1"echo $var1 | cut -c 5-7#简略用法,缺省从1开始ech

2021-09-26 11:08:56 72

原创 shell学习(一)

shell执行方式调试免交互及输出处理组合命令变量变量值及范围控制数值运算及处理参考学习视频地址:https://www.bilibili.com/video/BV1sq4y1K7nM?p=1#!/bin/bash 声明shell环境#create user 注释echo 'create user as testuser';useradd testuser 2> /tmp/err.log#update passwordecho 'update password for te

2021-09-24 16:51:38 244

原创 Nginx环境下https默认端口转让部分请求到其他端口下

记一次【Nginx环境下https默认端口转让部分请求到其他端口下】的解决方案起因:对接了一个支付渠道,回调地址只支持使用默认端口,由于服务器配置原因,默认的http 的80端口和https的443端口都默认指向到前端的,需要解决有默认端口接受回调请求后转发到后端服务端口解决方案:server { listen 443 ssl; server_name a.com; #增加的这一段 location ^~ /callback/shan-de-callback/ {

2021-06-28 15:54:17 341

原创 tp5.1 create update 怎么判断是否操作成功

/** * 写入数据 * @access public * @param array $data

2020-08-21 11:27:34 1055

原创 【记】我的git常用命令

git 常用命令git checkout test 切换到test分支git pull 获取当前分支代码git branch 查看本地分支(当前使用分支颜色标识)git branch -r 查看远程分支git reset HEAD 就是回退到当前版本git add 添加文件git commit -m “描述” 提交文件并描述本次提交git push 推送到远程版本库git checkout – test.php 还原本地工作区test.php的修改git reset HEAD test.

2020-08-13 16:24:35 76

原创 MySql char和varchar

char:储存字符串,固定长度varchar:储存字符串,可变长度存储数据:char:根据设计长度自动补充空格,例如:char(5)保存数据user自动补充一个空格‘user ’varchar:根据数据长度变化,例如:varchar(5)保存数据user,数据长度4,如果存放的字符串长度不超过255,VARCHAR会额外申请一个字节用于存放实际字符串的长度,如果超过255,会额外申请两个字节的空间用于存放实际字符串的长度,所以根据VARCHAR实际存放的字符长度不同,其所占空间也会不同...

2020-08-10 10:03:01 113

原创 Web Services错误处理

SOAP-ERROR: Encoding: object has no ‘in0’ property出现这个错误是因为参数 “in0” 没给

2020-08-02 17:51:44 904

原创 php上传excel读取数据错误is not recognised as an OLE file

出现这个错误的原因可能是你上传的文件类型和你设置的不一致,处理方位如下 //保存 $info = $file->move( 'uploads/excel'); //文件类型获取首字母需大写 $info_each = $file->getInfo(); $img_suffix = explode(".", $info_each['name']); .

2020-07-31 15:32:10 8660

转载 mysql联合索引

1.联合索引失效的条件联合索引又叫复合索引。两个或更多个列上的索引被称作复合索引。对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是key index (a,b,c)。 可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 b,c进行查找 .当最左侧字段是常量引用时,索引就十分有效。利用索引中的附加列,您可以缩小搜索的范围,但使用一个具有两列的索引不同于使用两个单独的索引。复合索引的结构与电话簿类似,人名由姓和名构成,电话簿

2020-07-30 14:41:44 108

原创 编程中钩子和行为

tp文档中介绍的钩子和行为ThinkPHP中的行为是一个比较抽象的概念,你可以把行为想象成在应用执行过程中的一个动作。在框架的执行 流程中,例如路由检测是一个行为,静态缓存是一个行为,用户权限检测也是行为,大到业务逻辑,小到浏览器 检测、多语言检测等等都可以当做是一个行为,甚至说你希望给你的网站用户的第一次访问弹出 Hello,world! 这些都可以看成是一种行为,把这些行为抽离出来的目的是为了让你无需改动框架和应 用,而在外围通过扩展或者配置来改变或者增加一些功能。 而不同的行为之间也具有位置共同..

2020-07-29 15:40:38 279

原创 PHP 依赖/依赖注入/控制反转/反射

啥是依赖/依赖注入/控制反转/反射 ?依赖 :不能直接操作需要别人才能完成举例:到餐馆吃饭得厨师给你菜炒好,才能吃依赖注入:依赖注入是指将组件的依赖通过外部以参数或其他形式注入;举例:到餐馆吃饭自带酒水控制反转:控制反转是将组件间的依赖关系从程序内部提到外部来管理;举例:到餐馆吃饭之前吃的套餐,菜是厨师定的,换成点菜,吃啥自己说了算反射:直观理解就是根据到达地找到出发地和来源举例:有点像摸烤鸭屁股就知道是哪里的鸭子的笑话一样依赖注入/控制反转参考文档:https://zhuanlan.

2020-07-28 18:22:49 103

原创 PHP一些实用函数

ord转换字符串第一个字节为 0-255 之间的值小写字母>=97 <=122大写字母>=65 <= 90//解决字符串中包含字母数字中文转换为大写问题function mystrtoupper($a){ $b = str_split($a, 1); $r = ''; foreach($b as $v){ ...

2020-04-29 14:55:28 107

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除