mysql 非安装版的一个自动安装脚本及工具(更新版)

2023-11-06

原文地址:http://blog.csdn.net/iihero/article/details/5596401


脚本如下,将其放到解压以后的目录里边执行即可。

[plain]  view plain copy print ?
  1. @echo off  
  2. echo "This is a demo script for auto installation of noninstall version of MySQL on Windows.  "  
  3. echo "Copyright: iihero@CSDN, when you distribute it, please copy this section above the head."  
  4. echo "================================iiihero@hotmail.com====================================="  
  5. set MYSQL_HOME=%~dp0  
  6. echo MYSQL_HOME=%MYSQL_HOME%  
  7. del /F my.ini  
  8. echo [client] >> my.ini  
  9. echo port = 3306 >> my.ini  
  10. echo default_character_set=gbk >> my.ini  
  11. echo [mysqld] >> my.ini  
  12. echo default_character_set=utf8 >> my.ini  
  13. echo default_storage_engine=InnoDB >> my.ini  
  14. echo basedir=%MYSQL_HOME%>>my.ini  
  15. echo datadir=%MYSQL_HOME%data>> my.ini  
  16. echo innodb_data_file=ibdata1:50M;ibdata2:10M:autoextend >> my.ini  
  17. echo transaction-isolation=READ-COMMITTED >> my.ini  
  18. echo port=3306 >> my.ini  
  19. echo max_allowed_packet = 64M >> my.ini  
  20. echo "my.ini in %MYSQL_HOME% created."  
  21. set PATH=%MYSQL_HOME%/bin;%PATH%  
  22. if exist "%MYSQL_HOME%/bin/mysqld-nt.exe" call mysqld-nt --install-manual mysql55 --defaults-file="%MYSQL_HOME%/my.ini"  
  23. if not exist "%MYSQL_HOME%/bin/mysqld-nt.exe" call mysqld --install-manual mysql55 --defaults-file="%MYSQL_HOME%/my.ini"  

 

继续整理:

 

随然前边写了一篇用于命令行下安装mysql非安装版。但总觉不够。
我承认自己很懒,每次下载,并手动配置一些东西,很浪费时间。于是做了这么一个东东。
直接将mysql_install_auto.zip解压到某盘,如d://mysql_install_auto下边。
然后进到d:/mysql_install_auto下边,使用命令行执行:
mysql_install.bat <fullversion> [arch] [ROOTDIR] [server_port]


参数:
     fullversion,  必须指定, 如5.6.14, 5.1.72, 4.1.22, 5.5.34, 6.0.11-alpha等等
     arch, 可选,不指定时,为win32, 有效值可以是win32或者winx64
     ROOTDIR, 可选,安装的最终根目录,默认值为d:, 不用带后边的"\".此目录必须事先存在或创建好
     server_port, 可选,默认值为3306.
     
最终生成的服务名为: iihero-<主版本号>


如果你想卸载,也非常简单,先用sc delete iihero-<主版本号>
接着进到%ROOTDIR%\%MYSQL_HOME%, 直接删除整个目录就可以了. 非常方便。


有什么问题,欢迎联系:iiihero AT hotmail.com
http://blog.csdn.net/iihero
http://blog.chinaunix.net/uid/40286.html
http://blog.chinaunix.net/topic/hexiong/

确定一个完整的版本号,比如:5.6.14, 5.1.72, 5.5.34, 如何确定,
访问网址:
http://download.softagency.net/MySQL/Downloads/MySQL-<主版本号>/ (主版本号为5.1, 5.6, 5.5之类)
找到win32.zip, 或者winx64.zip结尾的文件名,比如:mysql-5.5.34-win32.zip, 中间的串:5.5.34就是
完整的版本号.


选定是32位的, 还是64位的,32位用win32, 64位的用winx64, 默认为32位。

由于网站空间实在有限,没地方放附件。我将附件放到CSDN上了,有兴趣的可以去下载试用一下。

下载地址:http://download.csdn.net/detail/iihero/6604375

原来的那个包:http://download.csdn.net/source/2998831,需要修改一些东西才能用。

有什么问题,欢迎发邮件给我。


针对刚上传的包,似乎发现了一些小问题,又改了改,下载完以后,修改: mysql_install.bat 以及my_ini_gen.bat,它们的内容分别如下:

mysql_install.bat:

[plain]  view plain copy print ?
  1. @echo off  
  2. set fullversion=%1  
  3. set fullname=""  
  4. set server_default_character_set=default_character_set  
  5. set arch=%2  
  6. set ROOTDIR=%3  
  7. set server_port=%4  
  8. set mysql_dir=""  
  9.   
  10. :: example:  
  11. :: mysql_install.bat 4.1.22  
  12. :: mysql_install.bat 5.0.95 winx64  
  13. :: mysql_install.bat 5.6.14 winx64  
  14. :: mysql_install.bat 5.1.72 winx64  
  15. :: mysql_install.bat 5.5.34 winx64  
  16. :: mysql_install.bat 6.0.11-alpha win32  
  17.   
  18. if "[%fullversion%]" == "[]" goto HELP  
  19. if not "[%fullversion%]" == "[]" goto TOINSTALL  
  20. :HELP  
  21.     echo mysql_install.bat ^<fullversion^> [arch] [ROOTDIR] [server_port]  
  22.     echo valid ^<fullversion^> :4.1.22, 5.1.xx, 5.5.xx, e.g. 5.1.72, 5.6.14, 6.0.11-alpha etc.  
  23.     echo valid xx, you can open http://download.softagency.net/MySQL/Downloads/MySQL-^<major_version^> to find it.  
  24.     echo e.g. to get the target fullversion of 5.1, you can open:  
  25.     echo http://download.softagency.net/MySQL/Downloads/MySQL-5.1 to get the full name end with winx64.zip or win32.zip.  
  26.     echo valid value of arch:  win32,  winx64  
  27.     echo ROOTDIR,  the root directory of mysql installation. The default value is d:  It should be already existed/created.  
  28.     echo default server_port is 3306  
  29.     echo Please input valid value of the fullversion.  
  30.     goto END  
  31.       
  32. :TOINSTALL      
  33. if "%arch%" == "" set arch=win32  
  34. if "%server_port%" == "" set server_port=3306  
  35. if "[%ROOTDIR%]" == "[]" echo ROOTDIR is not set, will be using default value. && set ROOTDIR=d:  
  36. set version=%fullversion:~0,3%  
  37. echo The major version is: %version%  
  38. set version_arch=%fullversion%-%arch%  
  39. echo The full version with arch is: %version_arch%  
  40. :: 4.1版本只有32位的  
  41. if "%version%" == "4.1" (  
  42.     set fullname="mysql-noinstall-%version_arch%"  
  43.     set mysql_dir="%ROOTDIR%\mysql-%version_arch%"  
  44.     echo You will fetch %fullname% ......  
  45.     goto DOWNLOAD  
  46. )  
  47.   
  48. if "%version%" == "5.0" (  
  49.     set fullname="mysql-noinstall-%version_arch%"  
  50.     set mysql_dir="%ROOTDIR%\mysql-%version_arch%"  
  51.     echo You will fetch %fullname% ......  
  52.     goto DOWNLOAD  
  53. )  
  54.   
  55. if "%version%" == "5.1" (  
  56.     set fullname="mysql-noinstall-%version_arch%"  
  57.     set mysql_dir="%ROOTDIR%\mysql-%version_arch%"  
  58.     echo You will fetch %fullname% ......  
  59.     goto DOWNLOAD  
  60. )  
  61.   
  62. if "%version%" == "5.5" (  
  63.     set fullname="mysql-%version_arch%"  
  64.     set mysql_dir="%ROOTDIR%\mysql-%version_arch%"  
  65.     set server_default_character_set=character_set_server  
  66.     echo You will fetch %fullname% ......  
  67.     goto DOWNLOAD  
  68. )  
  69.   
  70. if "%version%" == "5.6" (  
  71.     set fullname="mysql-%version_arch%"  
  72.     set mysql_dir="%ROOTDIR%\mysql-%version_arch%"  
  73.     set server_default_character_set=character_set_server  
  74.     echo You will fetch %fullname% ......  
  75.     goto DOWNLOAD  
  76. )  
  77.   
  78. if "%version%" == "6.0" (  
  79.     set fullname="mysql-noinstall-%version_arch%"  
  80.     set mysql_dir="%ROOTDIR%\mysql-%version_arch%"  
  81.     set server_default_character_set=character_set_server  
  82.     echo You will fetch %fullname% ......  
  83.     goto DOWNLOAD  
  84. )  
  85.   
  86. :ERROR  
  87.     echo the version should be 4.1, 5.0, 5.1, 5.5, 5.6, 6.0 for now!!  
  88.   
  89. :DOWNLOAD  
  90. if not exist %fullname%.zip (  
  91.     wget http://download.softagency.net/MySQL/Downloads/MySQL-%version%/%fullname%.zip  
  92.     if not exist %fullname%.zip (  
  93.         echo download %fullname% error!!  
  94.         goto EOF  
  95.     )  
  96. )  
  97. if not exist %mysql_dir% (  
  98.     7z x -y -o%ROOTDIR%\ -x!*\data\ib* %fullname%.zip  
  99. )  
  100. copy /Y my_ini_gen.bat %mysql_dir%  
  101. cd /d %mysql_dir%  
  102. :: copy /Y ..\my_ini_gen.bat .  
  103. call my_ini_gen.bat  
  104. :EOF  
  105. echo The installation finished....  
  106. :END  
  107. @echo on  



my_ini_gen.bat:

[plain]  view plain copy print ?
  1. @echo off  
  2. echo "This is a demo script for auto installation of noninstall version of MySQL on Windows.  "  
  3. echo "Copyright: iihero, when you distribute it, please copy this section above the head."  
  4. echo "================================iihero.com====================================="  
  5. set MYSQL_HOME=%~dp0  
  6. echo MYSQL_HOME=%MYSQL_HOME%  
  7. del /F my.ini  
  8. echo [client] >> my.ini  
  9. echo port = %server_port% >> my.ini  
  10. echo default_character_set=gbk >> my.ini  
  11. echo [mysqld] >> my.ini  
  12. echo %server_default_character_set%=utf8 >> my.ini  
  13. echo default_storage_engine=InnoDB >> my.ini  
  14. echo basedir=%MYSQL_HOME%>>my.ini  
  15. echo datadir=%MYSQL_HOME%data>> my.ini  
  16. :: echo innodb_data_file_path=%MYSQL_HOME%data>> my.ini  
  17. echo innodb_data_file=ibdata1:50M;ibdata2:10M:autoextend >> my.ini  
  18. echo transaction-isolation=READ-COMMITTED >> my.ini  
  19. echo port=%server_port% >> my.ini  
  20. echo max_allowed_packet = 64M >> my.ini  
  21. echo "my.ini in %MYSQL_HOME% created."  
  22. set PATH=%MYSQL_HOME%\bin;%PATH%  
  23. echo Forcely delete the service iihero-%version% if existing.  
  24. sc delete iihero-%version%  
  25. if exist "%MYSQL_HOME%\bin\mysqld-nt.exe" call %MYSQL_HOME%\bin\mysqld-nt --install-manual "iihero-%version%" --defaults-file="%MYSQL_HOME%my.ini"  
  26. if not exist "%MYSQL_HOME%\bin\mysqld-nt.exe" call %MYSQL_HOME%\bin\mysqld --install-manual "iihero-%version%" --defaults-file="%MYSQL_HOME%\my.ini"  
  27.   
  28.   
  29. echo .........................................................................................  
  30. echo Finished creating service "iihero-%version%" for mysql-%version_arch%. Please check it in the service panel.  
  31. echo You can use net start iihero-%version% to start the mysql service. Good luck.  
  32. echo If you want to delete the install, just do as below:  
  33. echo 1. If you have started the service, just run: net stop iihero-%version% to stop it.  
  34. echo 2. sc delete iihero-%version% to delete the service  
  35. echo 3. Delete the whole directory of %MYSQL_HOME%  
  36. echo .........................................................................................  

将上述两个文件的内容覆盖一下就好。主要是修复路径以及版本号的错误, 支持4.1, 5.0, 5.1, 5.5, 5.6, 6.0主版本的下载及安装。

已经重新上传到:

http://download.csdn.net/detail/iihero/6604375







本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql 非安装版的一个自动安装脚本及工具(更新版) 的相关文章

  • 在 MySQL 中使用 COUNT 时如何返回 0 而不是 null

    我使用此查询返回存储在 sTable 中的歌曲列表以及存储在 sTable2 中的总项目数 SQL queries Get data to display sQuery SELECT SQL CALC FOUND ROWS str repl
  • Laravel leftJoin 仅右表的最后一条记录

    我是 Laravel 的新手 我有两张桌子 1 产品 2 价格 products id product int p key name varchar prices id price int p key id product int
  • 如何使用 vitess 仅对特定表进行分片

    我创建了一个包含三个表的未分片键空间 现在我想对前两个表的键空间进行分片 但不想对第三个表进行分片 如何才能做到这一点 Vitess 文档不包含任何与此相关的信息或示例 请帮忙 Thanks vitess 中的垂直分片与水平分片类似 您应该
  • 在服务器上找不到本地主机或 phpMyAdmin:如何修复?

    我按照安装说明进行操作PHP MySQL and PHPMyAdmin 但是当我尝试访问时http localhost phpmyadmin 我收到此错误 未找到 在此找不到请求的 URL phpmyadmin 服务器 然后我尝试访问loc
  • gem install mysql:无法构建 gem 本机扩展 (Mac Lion)

    我为 Mac OS X Lion 安装了 MySQL 5 5 27 来自 dmg 现在我尝试安装 mysql gem gem install mysql Building native extensions This could take
  • 如何使用 Perl 更改 mysql 密码

    我需要使用 Perl 脚本更改一些 mysql 密码 以下内容在更改数据库条目时有效 但是当我针对 mysql 用户更改修改它时 它将它们重置为空白密码 最后 刷新权限 也很好 但我还没有找到方法 usr bin perl use DBI
  • INSERT..RETURNING 在 JOOQ 中不起作用

    我有一个 MariaDB 数据库 我正在尝试在表中插入一行users 它有一个生成的id我想在插入后得到它 我见过this http www jooq org doc 3 8 manual sql building sql statemen
  • 如何从shell脚本自动登录MySQL?

    我有一个 MySQL 服务器 其中有一个用户和密码 我想在 shell 脚本中执行一些 SQL 查询而不指定密码 如下所示 config sh MYSQL ROOT root MYSQL PASS password mysql sh sou
  • 从按日期时间排序的 MySQL 表中获取用户的最后一个条目

    我有一张看起来像这样的桌子 USERNAME DATA DATETIME Jhon text1 2010 06 01 16 29 43 Mike text2 2010 06 01 16 29 22 Silver text3 2010 05
  • 仅当值发生更改时如何插入数据库?

    我需要更新 替换 MySQL 数据库中的字段 但前提是它们已更改 该表包含 ID 文本字段和更改日期 用户根据更改日期通过 ID 查询数据 即 如果该日期早于用户上次查询数据的时间 则他不想要它 仅当文本字段与具有相同 ID 的现有文本字段
  • 海量记录的bulk_create最佳实践

    I use bulk create将 1 mio 记录插入到新表中 需要 80 秒 Django 只使用一个 CPU 核心 大约 25 CPU 但没有一个核心达到 100 我相信有改进的潜力 这是代码 class Stock models
  • MySQL 通过 current_timestamp 选择上个月的数据

    直到今天 当我使用 MySQL 并需要对日期 时间执行操作时 我使用带有 unix 时间戳的 int 列 没有出现任何问题 但今天在阅读了一些指南后 我决定默认使用 current timestamp 测试时间戳列 所以我感兴趣如何按列选择
  • db:schema:load 与 db:migrate 使用 capistrano

    我有一个 Rails 应用程序 我正在将其移动到另一台服务器 我认为我应该使用 db schema load 来创建 mysql 数据库 因为这是推荐的 我的问题是我正在使用 capistrano 进行部署 并且它似乎默认为 rake db
  • 只获取倒数第二条记录 - mysql-query

    我有一个如下表记录 my table id rating description 1 0 0 bed 2 1 0 good 3 0 0 bed 4 1 0 good 5 0 0 bed 6 0 0 bed 7 0 0 bed 现在我通过评级
  • libmysqlclient.a 和 libmysqlclient_r.a 有什么区别?

    我应该使用哪个来链接 mysqlclient 库 它们之间有什么区别 我似乎找不到答案 谢谢 较新版本的 MySQL 客户端发行版不包含 r 版本 有些可能有从 libmyqslclient r a 到 libmyqslclient a 的
  • 每月获取记录,但如果该月没有记录,则为零

    如果我有以下 SQL 表 Tests id type receiveDate 1 Blood 2012 01 18 2 Blood 2012 01 20 3 Blood 2012 01 18 4 Blood 2012 03 01 5 Blo
  • 错误代码:1305。函数或过程不存在

    因此 我在 MySQL 中创建一个函数 然后尝试向用户授予使用该函数的权限 但我无法这样做 这就是我正在做的 DELIMITER USE rxhelp36 scbn DROP FUNCTION IF EXISTS businessDayDi
  • MySQL 错误 1172 - 结果包含多行

    在存储过程中运行查询时 我从 MySQL 收到此错误 错误代码 1172 结果包含多行 我理解错误 我正在做一个SELECT INTO var list 因此查询需要返回单行 当我使用LIMIT 1 or SELECT DISTINCT 错
  • 非常大的字段会对 MySQL 数据库产生负面影响吗?

    我目前正在使用 Django 构建一个网站 并希望托管用户生物样式页面 该页面可能长达几 KB 这些字段不一定需要搜索 但在查找用户名时确实需要提供 将这些数据存储在数据库中会产生负面影响吗 如果我使用带有数据库链接的静态文本文件 我的服务
  • 用 pandas DataFrame 替换 mysql 数据库表中的行

    Python 版本 2 7 6 熊猫版本 0 17 1 MySQLdb 版本 1 2 5 在我的数据库中 PRODUCT 我有一张桌子 XML FEED 表 XML FEED 很大 数百万条记录 我有一个 pandas DataFrame

随机推荐

  • C++基础:for循环

    美好的知识点从出题开始 输出1 100所有的奇数 看到这道题 你可能有点懵 回顾标题 你找到办法了 但你不知道怎么写 来看看for循环的代码框架吧 for 控制变量初始化表达式 条件表达式 增量表达式 语句1 刚看到这 你肯定不太懂 我实际
  • 面试:Tomcat如何优化

    一 增大tomcat运行内存 例如 从默认的 256M增大到2G SET CATALINA OPTS Xms2048m Xmx4096m XX MaxNewSize 512m XX MaxPermSize 256m set JAVA OPT
  • “此帐户并未得到从这个工作站登录的授权”问题

    此帐户并未得到从这个工作站登录的授权 问题 转自 http blog 163 com yumin wang 126 blog static 36293550201210303413140 问题 访问网络共享文件夹时 出错提示为 此帐户并未得
  • [创业-33]:股权、期权、期股的区别

    目录 1 基本概念 1 1 股权 1 2 期权 1 3 期股 二 比较 2 1 享有的权益 2 2 在退出机制 2 3 兑现机制 2 4 分配方式 2 5 获利方式 附录 雷军关于创业公司的股权解读 1 基本概念 1 1 股权 股权 是有限
  • 数据包协议设计(通讯协议的设计)

    一 为什么要设计通讯协议 通常 多设备之间进行通讯多使用数据包的方式 如何从一堆的数据中确定哪些是有效数据 以及这些数据要表达什么意思 为解决这些问题 通常我们需要设计一个通讯协议 依照通讯协议对数据进行解析 就能够正确的找到并使用这些数据
  • 上下文相关音素-状态绑定

    在发音过程中 因为协同发音的影响 同一个音素在不同的位置 其发音变化很大 如下图所示 同样的元音 eh 在不同的单词中的发音在频域上区分非常明显 因为单音素monophone 是上下文独立的 context independent 为了能够
  • RabbitMQ中的限流、return机制、死信队列

    目录 优点 缺点 1 限流 2 return机制 3 死信队列 优点 高可用性 RabbitMQ支持集群和镜像队列等多种方式实现高可用性 保证系统稳定运行 可靠性强 RabbitMQ使用AMQP协议作为消息传递的标准 能够确保消息传递的可靠
  • TypeError: __init__() got an unexpected keyword argument 'categorical_features'

    我的代码 scikit learn 0 22 1 python 3 7 4 错误如下 TypeError init got an unexpected keyword argument categorical features 错误提示的意
  • Visio中插入Mathtype公式

    Visio中插入Mathtype公式 打开visio软件 依次点击 插入 对象 mathtype 6 0 equation 确定 也可以得到我们想要的公式 点击 对象 然后显示出Mathtype公式 点击 Mathtype 7 0 然后显示
  • step7-micro/win 在win10系统下安装步骤

    1 摘要 安装不成功可以多尝试几次 别人安装N次 下载过N个安装包 也就这个安装包安装成功了 其他的不成功 原因尚未可知 2 准备工作 软件包链接 https pan baidu com s 1VcKuwNO3czAi0zSbJiqjDw
  • 关于老赵让改成bootstrap框架搭建的过程

    客户就是上帝 你大爷的 jsp代码 数据与springMvc交互
  • 做一个Spring Boot小例子

    在我的 Spring Boot 框架介绍和使用 里介绍了Spring Boot 但是没有例子 所以这一篇的主要内容就是来做一个小例子 结合我上面那篇一起看效果更佳 运行项目 创建项目和上篇文章一样 我用了2 0的快照版本的Spring Bo
  • sum1(2,3)和sum1(2)(3)

    function sum1 x y var n x if y return x y else return function y return n y sum1 2 3 sum1 2 3 function sum var num argum
  • Python的nonlocal与global关键字

    nonlocal和global是Python中用于在函数内部访问外部作用域变量的关键字 一 nonlocal关键字 nonlocal用于在嵌套函数中修改外部函数的局部变量 当在一个函数内部定义了另一个函数 并且内部函数想要修改外部函数的局部
  • IAP与APP(一):两个固件使用Keil5默认设置编译后,利用J-Flash偏移APP的地址然后合并IAP烧写,运行时出现在跳转APP时无限重启的现象

    最近做了个在线升级 并没有使用系统 芯片 STM32F103C8T6 环境 Keil 5 STM32CubeMX 5 2 1 跳转和写FLASH在网上一搜其实不少 主要注意要重定向中断向量表和跳转前要关闭所有中断 在写好IAP和APP两个固
  • linux嵌入式开发常用下载链接

    linux kernel ARM 开源wike ARM GNU编译工具链下载
  • DS18B20温度传感器简介和1-Wire驱动程序

    目录 DS18B20简介 DS18B20的两种供电方式 64位ROM 温度传感器 1 Wire Bus简介 DS18B20通信时序 初始化 ROM相关命令 后续包含任何数据交换的操作 功能相关命令 后续包含任何数据交换的操作 单个DS18B
  • python数据库编程:Python连接Mssql基础教程之Python库pymssql

    前言 pymssql模块是用于sql server数据库 一种数据库通用接口标准 的连接 另外pyodbc不仅限于SQL server 还包括Oracle MySQL Access Excel等 另外除了pymssql pyodbc还有其他
  • SQL 表连接学习总结

    1 3种连接 完全外部连接 所有表都连接 允许null值存在 内连接 select字段名 from表名1 inner join表名2 on表名1 字段名 表名2 字段名 注意内连接inner可以省略 直接使用join默认为内连接 剔除含有空
  • mysql 非安装版的一个自动安装脚本及工具(更新版)

    原文地址 http blog csdn net iihero article details 5596401 脚本如下 将其放到解压以后的目录里边执行即可 plain view plain copy print echo off echo