之前做mysql一键安装部署,初始化数据库、表及数据时找了好多帖子,在测试时有好多坑。处理之后测试成功。可用。
在确保有免安装版mysql文件后,在其目录下添加mysqlinstall.bat文件与executesql.bat文件内容
//mysqlinstall.bat内容
@echo off
rem **********************************MySQL环境变量部署*****************************************
cd /d %~dp0
del /F %cd%\my.ini
echo 删除完成
echo [client]>> my.ini
echo port = 3306>> my.ini
echo default-character-set=utf8>>my.ini
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
echo datadir=%cd:\=\\%\\data>> my.ini
echo innodb_data_file=ibdata1:50M;ibdata2:10M:autoextend>> my.ini
echo transaction-isolation=READ-COMMITTED>> my.ini
echo port=3306>> my.ini
echo max_allowed_packet=64M>> my.ini
echo tmp_table_size=64M>> my.ini
echo my.ini生成成功
cd /d %~dp0
echo "注册MySql服务开始"
echo "停止已存在的服务MySQL"
net stop MySQL
echo "删除已存在的服务MySQL"
sc delete MySQL
echo "删除服务执行文件项"
REG Delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL /v ImagePath /f
"%~dp0"\bin\mysqld.exe -install
echo "添加服务执行文件项"
REG add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL /v ImagePath /t REG_EXPAND_SZ /d "%cd%\bin\MySqld.exe --defaults-file=\"%cd%\my.ini\" MySQL" /f
net start mysql
"%~dp0"bin\mysqladmin.exe -uroot password "root" //此部分 为 修改mysql密码
rem **********************************数据执行*****************************************
executesql.bat
pause
//executesql.bat文件内容
executesql.bat文件里是执行创建数据库和导入表数据等操作。注意,在执行每个sql文件时需要修改库。
@echo off
rem ******************************************
cd /d %~dp0
"%~dp0"bin\mysql -uroot -proot<%cd:\=\\%\\tablefiles\0createDB.sql
echo "create database mytest successful!"
"%~dp0"bin\mysql -uroot -proot<%cd:\=\\%\\tablefiles\1tables.sql
tablefiles 是存放所有sql文件的文件夹。它放在mysql目录下