数据库批处理文件
程序员文章站
2024-02-29 23:48:28
...
数据库批处理文件
第一步配置环境变量
cd /d %~dp0
%1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",1)(window.close)&exit
setx Path "%Path%;%~dp0\bin" -m
第二步安装数据库以及基本的配置
cd /d %~dp0
::cd /d %~dp0的意思就是cd /d d:\qq
::%0代表批处理本身 d:\qq\a.bat
::~dp是变量扩充
::d既是扩充到分区号 d:
::p就是扩充到路径 \qq
::dp就是扩充到分区号路径 d:\qq
%1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",1)(window.close)&exit
::以管理员身份运行bat文件
@echo off
::这个命令叫做“回显”
cd /d %~dp0
::同上
del /F %cd%\my.ini
::删除一个或数个文件。
::DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
::names 指定一个或数个文件或目录列表。通配符可被用来
::删除多个文件。如果指定了一个目录,目录中的所
::有文件都会被删除。
::/P 删除每一个文件之前提示确认。
::/F 强制删除只读文件。
::/S 从所有子目录删除指定文件。
::/Q 安静模式。删除全局通配符时,不要求确认。
::/A 根据属性选择要删除的文件。
::attributes R 只读文件 S 系统文件
::H 隐藏文件 A 存档文件
::- 表示“否”的前缀
::如果命令扩展名被启用,DEL 和 ERASE 会如下改变:
::/S 开关的显示句法会颠倒,即只显示已经
echo delete my.ini completely
::Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。命令格式:
echo [client]>> my.ini
::新增my.ini文件初始化配置
echo port = 3306>> my.ini
::配置端口号
echo default-character-set=utf8>>my.ini
::设置mysql客户端默认字符集
echo [mysqld]>> my.ini
echo collation-server=utf8_general_ci>>my.ini
echo log-error=%cd:\=\\%\\error>>my.ini
echo character_set_server=utf8>>my.ini
echo default_storage_engine=MYISAM>> my.ini
::创建新表时将使用的默认存储引擎
echo basedir=%cd:\=\\%\\>>my.ini
::该参数指定了安装 MySQL 的安装路径,填写全路径可以解决相对路径所造成的问题。
echo datadir=%cd:\=\\%\\data>> my.ini
::该参数指定了 MySQL 的数据库文件放在什么路径下。数据库文件即我们常说的 MySQL data 文件。
echo transaction-isolation=READ-COMMITTED>> my.ini
::事务隔离级别READ-COMMITTED
echo port=3306>> my.ini
::配置端口号
echo max_allowed_packet=64M>> my.ini
::每个连接独立的大小.大小动态增加
echo tmp_table_size=64M>> my.ini
::# 此选项为了防止意外创建一个超大的内存表导致永尽所有的内存资源.
echo produce my.ini completely
::以上是往my.ini写命令
cd /d %~dp0
echo "Registration for MySql service begins"
echo "Stop existing MySQL services"
sc stop MySQL
echo "Delete Existing MySQL Service"
sc delete MySQL
d:
::进入d盘
cd %~dp0\bin\
::到入bin目录下
mysqld.exe -install MySQL --defaults-file="%~dp0\my.ini"
echo "Delete service execution file entry"
REG Delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL /v ImagePath /f
::操作注册表 删除原来的服务
echo "Add service execution file entry"
REG add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL /v ImagePath /t REG_EXPAND_SZ /d "%~dp0\bin\mysqld.exe \"--defaults-file=%~dp0\my.ini\" MySQL"
echo "please wait for Initializing the data folder....."
mysqld --initialize-insecure
echo "start service"
net start MySQL
mysqladmin.exe -uroot password "123456"
PAUSE
第三步导入数据表
@echo off
echo "Starting create database and tables....."
cd /d %~dp0
%~dp0bin\mysql -uroot -p123456<%cd:\=\\%\\SQLFiles\cstk_new.sql
echo "create database and tables successful!"