C#运行bat实现对免安装MySQL的启停
一、bat文件:
1、修改mysql的my.ini文件
port=3306
basedir="你的应用安装路径/MySQL"
datadir="你的应用安装路径/MySQL/data/"
character-set-server=utf8
2、查询是否有mysql进程在运行,有关闭。安装自己的服务,并运行服务。
@ echo off
rem 获取管理员权限运行bat
echo 正在获取管理员权限...
%1 %2
ver|find "5.">nul&&goto :st
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :st","","runas",1)(window.close)&goto :eof
:st
copy "%~0" "%windir%\system32\"
rem 判断mysql进程是否在运行
set /a count=0
for /f "tokens=1 delims= " %%i in ('tasklist /nh ^| find /i "mysqld"') do (set /a count+=1)
rem 转到mysql安装目录bin下
cd /d %~dp0
rem 进程存在则关闭,再安装自己的mysql服务并运行
if %count% neq 0 (
taskkill /F /IM mysqld.exe /T
mysqld --install "cdjhMySQL"
net start "cdjhMySQL"
exit
)
rem 没有mysql进程运行,则安装服务并启动
if %count% equ 0 (
mysqld --install "cdjhMySQL"
net start "cdjhMySQL"
exit
)
3、退出应用时,关闭服务,移除安装的服务。
@ echo off
echo 获取管理员权限...
%1 %2
ver|find "5.">nul&&goto :st
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :st","","runas",1)(window.close)&goto :eof
:st
copy "%~0" "%windir%\system32\"
rem 停止MySQL服务并移除服务
net stop "cdjhMySQL"
cd /d %~dp0
mysqld --remove "cdjhMySQL"
echo 服务已移除
4、备份mysql数据库
echo 开始备份...
cd /d %1 %2 %3
mysqldump %4 %5 %6> %7
5、恢复mysql数据库
echo 开始恢复...
cd /d %1 %2 %3
mysql %4 %5 %6< %7
二、 C#代码
备份部分代码,主要就是值参并执行bat文件。
/**
rem bat文件内容
echo.正在执行备份...
cd / d % 1
mysqldump % 2 % 3 % 4 > % 5\home.dump
pause
**/
if (Directory.Exists(tb_FolderPath.Text.Trim())) {
Process p = new Process();
ProcessStartInfo pi = new ProcessStartInfo(path, args);//第二个参数为传入的参数,string类型以空格分隔各个参数
pi.UseShellExecute = false;
pi.RedirectStandardOutput = true;//为true
pi.RedirectStandardError = true;
//pi.Arguments = "-uroot -proot nersinghome"; //传参的另一种形式
pi.CreateNoWindow = false;//不创建窗口
p.StartInfo = pi;
p.Start();
p.WaitForExit();
string output = p.StandardOutput.ReadToEnd();//回调
- js小技巧:tab页切换
- c#字符串操作方法实例
- Android中Fragment+ViewPager的配合使用
- 结合机器学习与生物医学技术,寻找Uber司机出行模式
- ASP.NET MVC 4 - 测试驱动 ASP.NET MVC
- LVS+Keepalived高可用环境部署梳理(主主和主从模式)
- 随着区块链的火爆,相关顶级域名“矿池”KC.com已建站
- Flash/Flex学习笔记(50):3D线条与填充
- LVM常规操作记录梳理(扩容/缩容/快照等)
- Flash/Flex学习笔记(55):背面剔除与 3D 灯光
- 资源等待类型sys.dm_os_wait_stats
- NVIDIA不再允许数据中心用GeForce驱动,提供区块链服务除外
- 非常强悍并实用的双机热备+负载均衡线上方案
- Apache 压力测试工具ab
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解