shell实现快速将mysql数据生成脚本制备成一个可执行文件

本文介绍了如何通过shell脚本在Linux环境下,利用data.conf配置文件中的参数,安全地执行MySQL语句,包括数据库连接信息的读取和SQL操作的执行,以简化技术支持或非专业人员的工作流程。
摘要由CSDN通过智能技术生成

背景:

在linux执行mysql语句对于技术人员来讲是家常便饭,但对技术支持或者小白来讲,步骤复杂且执行出错概率大。要么鞭笞提升人员素质,要么只能从执行方式入手了。

思路:

本质是通过mysql-client和shell脚本来时实现文件执行

mysql -h 数据库IP -P 数据库端口 -u数据库用户 -p数据库密码 -e "mysql语句"

data.conf配置文件内容

server_host=127.0.0.1

server_port=9906

mysql_user=tester

mysql_pwd=123456

database_name=test_Database

all_uesr_num=10000

department_headcount=100

具体实现内容:

检查读取 data.conf 配置文件中的参数信息并执行相应的操作。

请将代码中的 mysql语句 替换为你实际需要执行的 MySQL 语句并进行执行

#!/bin/sh
#####获取当前系统信息
echo "=========================================="
curPath=$(dirname $(readlink -f "$0"))
#echo "当前目录:[ $curPath ]"
nowtime=$(date "+%Y-%m-%d %H:%M:%S")
echo "当前时间:[ $nowtime ]"

####检测是否有配置文件
if [ -f "./data.conf" ];then
    echo "[初始化检查]检查配置文件存在 ..........[success]"
  else
    echo "[初始化检查]缺少配置文件data.conf或未在指定目录运行 ..........[failure]"
    echo "[初始化检查]为避免对系统造成破坏,本次将退出!"
    exit 0
fi

server_host=""
server_port=""
mysql_user=""
mysql_pwd=""
database_name=""
all_uesr_num=""
department_headcount=""

server_host=`sed '/^server_host=/!d;s/.*=//' ./data.conf`
server_port=`sed '/^server_port=/!d;s/.*=//' ./data.conf`
mysql_user=`sed '/^mysql_user=/!d;s/.*=//' ./data.conf`
mysql_pwd=`sed '/^mysql_pwd=/!d;s/.*=//' ./data.conf`
database_name=`sed '/^database_name=/!d;s/.*=//' ./data.conf`
all_uesr_num=`sed '/^all_uesr_num=/!d;s/.*=//' ./data.conf`
department_headcount=`sed '/^department_headcount=/!d;s/.*=//' ./data.conf`

echo ""
echo "=========================================="
echo "[配置信息检查]数据库服务器地址:$server_host"
echo "[配置信息检查]数据库服务器端口:$server_port"
echo "[配置信息检查]数据库服务器用户:$mysql_user"
echo "[配置信息检查]数据库库名:$database_name"
echo "[配置信息检查]总共多少个用户:$all_uesr_num"
echo "[配置信息检查]每个部门分配多少人:$department_headcount"



if [[ $mysql_pwd == "" ]]; then
    echo ""
    echo "=========================================="
    echo "[配置信息检查-密码检查]未检测到mysql_pwd..........failed"
    echo "启动失败!本次将退出  ..........failed"
    echo "======================================================="
    exit 0
fi


if [[ $server_host == "" || $server_port == "" || $database_name == "" || $all_uesr_num == "" || $department_headcount == ""  || $mysql_user == "" ]]; then
    echo ""
    echo "=========================================="
    echo "Version: j1.0.1"
    echo "配置文件参数有误,请检查配置信息"
    echo "启动失败!本次将退出  ..........failed"
    echo "======================================================="
    exit 0
fi



echo""
echo "=========================================="
echo "[数据铺底]开始执行数据铺底"
############################
#在这里将自己的数据语句填入#
############################
mysql -h $server_host -P $(($server_port+0)) -u$mysql_user -p$mysql_pwd -e "use testDatabases;DROP PROCEDURE IF EXISTS test_initData;CREATE PROCEDURE test_initData() BEGIN ...... END......"

if [[ $? -eq 0 ]]
  then
    echo "[数据铺底] 成功..........success"
  else
    echo "[数据铺底] 过程出现异常..........failed"
fi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值