mysql的几个常用用例

几个常用用例:
1.导出整个数据库
 mysqldump -u 用户名 -p 数据库名 > 导出的文件名    
 mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
2.导出一个表
 mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
 mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
3.导出一个数据库结构
  mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:/wcnc_db.sql
 -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table 
4.导入数据库
  常用source 命令
  进入mysql数据库控制台,
  如mysql -u root -p 
  
  mysql>use 数据库
  然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
  mysql>source d:/wcnc_db.sql
<think>好的,用户想要获取常用的Shell脚本,我需要根据他们的需求整理一些典型场景的代码。首先,我应该回顾之前提供的引用内容,特别是引用[2]提到的应用场景,比如系统管理、自动化任务、软件部署等。用户可能需要具体的子来理解如何编这些脚本。 接下来,我需要确保脚本符合Shell语法规范,并且每个示都有注释说明。如,系统备份、日志清理、软件安装这些都是常见的用。此外,用户可能对如何测试和优化这些脚本感兴趣,比如使用shellcheck进行静态分析,或者集成到Jenkins中,这部分在引用[1]和[3]中有提到,可以适当引用。 还要注意用户提到的格式要求,行内数学表达式用$...$,但这里主要是Shell脚本,可能涉及的不多。不过如果有变量或表达式,需要正确应用格式。每个示需要单独用代码块展示,并附上说明。 另外,用户可能需要了解如何实际应用这些脚本,比如定时任务使用crontab,或者结合CI/CD工具。所以,在示之后,可以加入一些注意事项,比如权限设置、测试方法,以及扩展建议,帮助用户进一步应用。 最后,生成相关问题,帮助用户深入探索,比如优化方法、调试技巧、结合其他工具等。这些问题应该基于提供的脚本,引导用户了解更多相关知识。</think>### 常用Shell脚本及解析 以下是5个典型场景的Shell脚本,涵盖系统管理、自动化任务和工具开发等方向,均符合POSIX标准并附详细注释: #### 1. 系统备份脚本(带时间戳和压缩) ```bash #!/bin/bash # 功能:全量备份指定目录到/tmp,保留7天历史版本 BACKUP_DIR="/var/www/html" # 待备份目录 DEST_DIR="/backups" # 备份存储目录 DATE=$(date +%Y%m%d-%H%M%S) # 生成时间戳格式:20240320-143022 # 创建目标目录 mkdir -p $DEST_DIR &> /dev/null # 执行压缩备份(排除临时文件) tar -zcpf "$DEST_DIR/web_backup_$DATE.tar.gz" \ --exclude="*.tmp" \ $BACKUP_DIR 2>> $DEST_DIR/error.log # 清理7天前的备份文件 find $DEST_DIR -name "web_backup_*.tar.gz" -mtime +7 -exec rm {} \; ``` **应用场景**:网站目录定期归档[^2] #### 2. 日志清理工具(带邮件通知) ```bash #!/bin/bash # 自动清理Nginx日志,保留最近30天 LOG_DIR="/var/log/nginx" MAX_DAYS=30 ADMIN_EMAIL="admin@example.com" # 删除旧日志 find $LOG_DIR -name "access.log.*" -mtime +$MAX_DAYS -delete # 发送清理报告 echo "已清理 $(date) 之前的日志" | mail -s "Nginx日志清理报告" $ADMIN_EMAIL ``` **最佳实践**:建议通过`crontab -e`添加`0 3 * * * /path/to/script.sh`实现每日自动执行[^1] #### 3. 服务监控脚本(带自动重启) ```bash #!/bin/bash # 监控Apache服务状态 SERVICE_NAME="httpd" MAX_RETRY=3 if ! systemctl is-active --quiet $SERVICE_NAME; then echo "[$(date)] 服务异常,尝试重启..." >> /var/log/service_monitor.log for i in $(seq 1 $MAX_RETRY); do systemctl restart $SERVICE_NAME sleep 5 if systemctl is-active --quiet $SERVICE_NAME; then echo "重启成功" >> /var/log/service_monitor.log exit 0 fi done echo "严重错误:无法恢复服务!" | mail -s "服务故障" admin@example.com fi ``` **优化方向**:可添加性能指标监控(如内存使用率超过90%触发告警) #### 4. 软件批量安装脚本 ```bash #!/bin/bash # 自动安装LAMP环境 PACKAGES=("httpd" "mariadb-server" "php" "php-mysqlnd") yum update -y for pkg in "${PACKAGES[@]}"; do if ! rpm -q $pkg &> /dev/null; then yum install -y $pkg systemctl enable $pkg systemctl start $pkg fi done # 验证安装结果 which httpd && which mysql && which php ``` **安全建议**:生产环境应添加数字签名验证步骤[^2] #### 5. 网络诊断工具 ```bash #!/bin/bash # 网络连通性测试脚本 TARGETS=("google.com" "8.8.8.8" "内部服务器IP") for target in "${TARGETS[@]}"; do if ping -c 3 $target &> /dev/null; then echo "$target 可达" else echo "[警报] $target 无法访问!" >> /var/log/network_check.log fi done # 显示当前路由表 echo -e "\n当前路由配置:" ip route show ``` **扩展功能**:可添加带宽测试(使用`speedtest-cli`)或DNS解析检查 --- ### 关键注意事项 1. **权限管理**:所有脚本需先添加执行权限 `chmod +x script_name.sh` 2. **调试方法**:使用`-x`参数显示执行过程 `bash -x your_script.sh` 3. **代码检查**:使用`shellcheck`进行静态分析[^1] `shellcheck your_script.sh` 4. **日志规范**:建议统一存储在`/var/log/scripts/`目录 5. **安全加固**:敏感操作前添加`set -euo pipefail`防止意外执行 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值