备份MySQL脚本-shell版
发表于|更新于|基础运维
|浏览量:
备份数据库, 并排除系统库, 使用 mysqldump
1 | #!/bin/bash |
文章作者: 张理坤
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 杂烩饭!
相关推荐
2025-07-24
MySQL Binlog 常用操作记录
本文记录一些日常使用 MySQL binlog 的命令记录,方便日后查询。 开启 binlog 日志 (在 [mysqld] 下修改或添加如下配置)123server-id=1log-bin=mysql-binbinlog_format=MIXED binlog 日志模式12345678910Mysql复制主要有三种方式:基于SQL语句的复制(statement-based replication, SBR),基于行的复制(row-based replication, RBR),混合模式复制(mixed-based replication, MBR)。对应的,binlog的格式也有三种:STATEMENT,ROW,MIXED。1、STATEMENT模式(SBR)每一条会修改数据的sql语句会记录到binlog中。优点是并不需要记录每一条sql语句和每一行的数据变化,减少了binlog日志量,节约IO,提高性能。缺点是在某些情况下会导致master-slave中的数据不一致(如sleep()函数, last_insert_id(),以及user-defined functions...
2026-02-21
bat命令修改windows环境变量
在 bat 下修改环境变量有几种方式, 比如 set setx vmic ENVIRONMENT setwindows 的 set 和 bash 里面直接赋值类似, 只在当前脚本中生效, 比如 1234set a=becho %a%b vmicwmic 常用命令1234567891011# 创建系统变量wmic ENVIRONMENT create name="PPTV_HOME",username="<system>",VariableValue="%home%"# 创建用户变量(替换一下计算机名和用户名)wmic ENVIRONMENT create name="PPTV_HOME",username="计算机名\\用户名",VariableValue="%home%"# 查看环境变量wmic environment where "name='Path'" get UserName,VariableVal...
2026-04-26
Windows命令行使用其他用户身份运行
比如说我一个脚本使用管理员权限运行,那么它调用的其他程序默认都是以管理员权限运行的。我想要以普通用户程序来运行,有以下几种方法: runas 方式指定权限运行0x20000 是标准用户权限0x40000 是管理员权限 1runas /trustlevel:0x20000 "wt.exe" 这种方式我测试会造成 wsl 报错“UtilTranslatePathList” 指定用户执行1runas /user:iuxt wt.exe" 这种方式会弹窗让你输入密码(每次) psexecpsexec 是微软官方的一组小工具:https://learn.microsoft.com/zh-cn/sysinternals/downloads/psexec 需要用到里面的 psexec64.exe 然后调用此工具。 1psexec.exe -u iuxt -p YourPassword C:\Path\To\wt.exe 缺点: 需要在命令行指定用户名和密码(有安全隐患) 运行的时候会有个黑框框一闪而过,并且第一次启动会有个窗口,需要点一下 agree
2025-07-24
MySQL查询出所有没有主键的表
作者:May22Night链接:https://www.jianshu.com/p/f484c63e5c96 压缩版:1SELECT a.TABLE_SCHEMA,a.TABLE_NAME FROM (SELECT TABLE_SCHEMA,TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA NOT IN('mysql','information_schema','performance_schema','sys','sysdb')) as a LEFT JOIN (SELECT TABLE_SCHEMA,TABLE_NAME FROM information_schema.TABLE_CONSTRAINTS WHERE CONSTRAINT_TYPE='PRIMARY KEY' AND TABLE_SCHEMA NOT IN('mysql','informati...
2026-04-26
自动清理日志脚本
公司的业务服务会打日志到磁盘, 程序已经做了日志切割, 时间一长磁盘占满会导致业务异常, 普通的清理逻辑是使用 crontab 定时删除文件, 比如每天 1 点删除创建日期超过 30 天的日志文件, 大部分情况下工作是 OK 的, 但是执行周期太长, 如果当天日志暴增, 不能及时删除文件. 也会有隐患, 优化版脚本如下: 日志清理分以下几种: 历史日志, 并且未在写入的日志, 这种可以直接删除掉. 当前正在写入的日志, 需要清理, 这种不能删除, 可以通过清空文件的方式来释放空间 set -euo pipefail 的作用:set -e: 脚本中有任何一条命令执行失败, 整个脚本就失败set -u: 脚本中的变量有任何一个变量为空, 整个脚本执行失败-o pipefail: 脚本中的管道中任何一条命令执行失败, 也会认为脚本执行失败 脚本内容: 123456789101112131415161718192021222324252627282930313233#!/bin/bashset -uo pipefail# 磁盘的文件系统(df -h里面显示的)FILESYSTEM...

2025-03-24
java容器entrypoint.sh参数传递的隐藏陷阱
构建容器镜像对运维来说已经轻车熟路了,但是最近遇到个问题百思不得其解,准确的说就是手动执行 java -jar 带上所有参数,可以正常启动,但是打包成镜像就会报错: 先附上 entrypoint.sh 123456789101112131415161718192021222324252627#!/bin/bashif [ -n "$JVM_PARAM" ];then echo "JVM_PARAM: $JVM_PARAM"else JVM_PARAM="-Xms2g -Xmx2g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m"fiif [ -n "$JVM_OPTS" ];then echo "JVM_OPTS: $JVM_OPTS"else JVM_OPTS="-XX:+UseConcMarkSweepGC -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiating...
评论
公告
此博客为我记录运维工作总结所用,供网友阅读参考,如有侵权,请通知我,我会核实后进行处理。
欢迎加入技术交流群:

