bat连接mysql执行sql文件并传参

单语句执行:username,password,hostname,dbname替换为你的mysql信息。

mysql -uusername -ppassword -hhostname -Ddbname -e "UPDATE table1 SET column1='value1'; UPDATE table2 SET column2='value2';"

同时执行多条语句:并传参

1. 编写bat文件

格式如下:

mysql -u[username] -p[database_name] < /path/to/file.sql --init-command="SET @param1='value1';SET @param2='value2';"

例子:

@echo off

set IP=服务IP(如10.0.2.12)

set localFolder=%~dp0
%localFolder%mysql5.7.40\bin\mysql -uroot -p123456 -h127.0.0.1 -Dtestdb < %localFolder%mysql5.7.40\ip_update.sql --init-command="SET @IP='%IP%';"

localFolder=%~dp0  意思是获取当前bat文件路径。

%localFolder%mysql5.7.40\bin\mysql  意思是指定mysql路径。因为我没设置全局变量,所以需要指定。 设置了全局变量的,此处可以直接是 mysql。

--init-command="SET @IP='%IP%';"  传参

2.编写sql文件

UPDATE sys_oss_config SET endpoint=concat(@IP,':9000') WHERE oss_config_id = 1;
update xxx set field=@IP where key = 1;

文件中的@IP为接收的参数。

### 如何使用 BAT 文件启动 MySQL 服务 可以通过编写批处理 (BAT) 脚本来实现 MySQL 服务的自动化管理。以下是具体的命令示例以及说明: #### 启动 MySQL 服务 要通过批处理文件启动 MySQL 服务,可以使用 `sc` 或 `net` 命令来完成。 ```batch @echo off :: 使用 net start 命令启动 MySQL 服务 net start MySQL ``` 上述代码中的 `net start MySQL` 是用于启动名为 "MySQL" 的 Windows 服务[^2]。如果服务名称不同,则需替换为实际的服务名。 另一种方法是使用 `sc` 命令: ```batch @echo off :: 使用 sc start 命令启动 MySQL 服务 sc start MySQL ``` 此命令同样能够启动指定的服务,且适用于更复杂的场景配置。 #### 设置 MySQL 自启动 为了确保系统重启后自动加载 MySQL 服务,可以在脚本中加入如下命令: ```batch @echo off :: 将 MySQL 服务设置为开机自启模式 sc config MySQL start= auto ``` 这条指令将把 MySQL 服务的状态改为自动启动状态。 #### 安装 MySQL 服务 如果尚未安装 MySQL 作为一项服务,可利用以下命令创建它: ```batch @echo off :: 创建一个新的 MySQL 服务 sc create MySQL binPath= "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe" ``` 注意路径应指向本地计算机上 mysqld 可执行程序的位置。 #### 备份数据库功能扩展 除了基本的操作外,还可以在同一个 .bat 文件里集成数据备份逻辑。例如: ```batch @echo off :: 导出整个数据库到指定位置 "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump.exe" -u root -p db_test > D:\backups\db_test_backup_%date:~10,4%-%date:~4,2%-%date:~7,2%.sql ``` 这段脚本会调用 `mysqldump` 工具导出数据库保存至目标磁盘上的特定日期命名文件中[^3]。 以上就是关于如何构建一个简单的 bat 文件用来控制 MySQL 服务的方法介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值