使用shell脚本统一定时更新数据库字段教程

日期: 栏目:文章分享 浏览:97 评论:0

使用shell脚本统一定时更新数据库字段教程-第1张图片-Ceacer网络

最近在数据库更新方面遇到点问题,于是写了个小脚本来批量更新某某个字段的脚本

代码如下:创建新文件:xxx.sh

注:以下带“字段”请改为表名里面需要修改的字段

以下带“表名”请改为需要修改的表名

以下带“数据用户名”、“数据库名”、“密码”请改为自己的数据库名及密码

#!/bin/bash

# 目标 字段
target_字段='123456'  //这里改为你需要替换的内容,这段需要改为要改的字段

# 连接数据库并查询当前表
current_字段=$(mysql -u 数据库用户名 -p密码 数据库名 -sN -e "SELECT 字段 FROM 表名;") //将“表名”改为你数据库的表名

# 检查当前 “字段” 是否等于目标 “字段”
if [ "$current_字段" != "$target_字段" ]; then //将字段改为表名里的字段,如:userid、id、pass等等
  # 如果不相等,执行更新语句
  mysql -u 数据库用户名 -p密码 数据库名 -e "UPDATE 表名 SET 字段 = '$target_字段';" //同上一样修改字段
  echo "字段 已更新为 $target_字段" //将两处字段改为你表名里需要修改的字段
else
  # 如果相等,输出提示信息
  echo "字段 已经是目标值,无需更新。" //将字段改为你表名里需要修改的字段
fi

用.my.cnf连接数据库,试过单独在shell脚本加数据库密码,拒绝访问,所有改用.my.cnf连接数据库

再xxx.sh目录创建一个名为“.my.cnf”的文件,写入以下代码:

[client]
user=数据库用户名 //改为你数据库用户名
password=密码 //改为你数据库密码

然后再终端执行以下shell命令

请根据自己的目录来执行,比如我的目录为:/www/wwwroot/xxxxx/xxx

使用bash命令执行:
bash /www/wwwroot/xxxxx/xxx/xxx.sh  //这里请改为你xxx.sh所在目录
[root@xxxxx ~]# bash /www/wwwroot/xxxxx/xxx/xxx.sh

这样就大功告成了,不算什么高科技,


标签:

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。发布前请先查看评论规则:点我查看