mysql精简单机版,免登录,可复制,不启动服务,与本机mysql无冲突

突然有了个需要在本地使用的mysql需求,要求不用安装,随拷随用,不影响其他mysql服务,占用空间小.基于这种需求做了个精简版的mysql

首先下载mysql的zip安装包

windows 64位 https://repo.huaweicloud.com/mysql/Downloads/MySQL-5.7/mysql-5.7.36-winx64.zip

windows 32位https://repo.huaweicloud.com/mysql/Downloads/MySQL-5.7/mysql-5.7.36.zip

建议32位和64位按系统下载,实测不同位对动态链接库的需求区别还是比较大.32位并不一定可以在64位下运行.

将需要的版本压缩包解压

解压后删除docs,include文件夹,对于bin目录下的.pdb文件,和一些用不到的辅助程序都可以删除.

最后bin目录如下

mysql精简单机版,免登录,可复制,不启动服务,与本机mysql无冲突

lib目录如下

mysql精简单机版,免登录,可复制,不启动服务,与本机mysql无冲突

share目录如下

mysql精简单机版,免登录,可复制,不启动服务,与本机mysql无冲突

share目录除各个国家的语言之外sql脚本不要轻易删除,而且这个目录中的sql在初始化时会使用,占用空间都不大。

文件处理完成之后整个文件夹大小在100M左右,压缩后能到40M左右

编写my.ini配置文件

python;gutter:true; [mysqld] 设置13307端口 port = 13307 允许最大连接数 max_connections=200 服务端使用utf8符集 character-set-server=utf8 创建新表时将使用INNODB存储引擎 default-storage-engine=INNODB</p> <h1>绑定127.0.0.1地址,最后是以skip-grant-tables模式启动,限制本地连接,增加安全性bind-address=127.0.0.1</h1> <p>

编写启动脚本setup.bat

@echo off
rem simple mysql.5.7.35 win32
copy “C:\Windows\system32\msvcr120.dll” %~dp0bin
copy “C:\Windows\system32\msvcp120.dll” %~dp0bin
if not exist “%~dp0data” md “%~dp0data”
if not exist “%~dp0data\ibdata1” (
%~dp0bin\mysqld.exe –initialize –console
xcopy %~dp0template_data %~dp0data /s /f /h /q /e /y
)
start /b %~dp0bin\mysqld.exe –defaults-file=%~dp0my.ini –skip-grant-tables –shared-memory
echo ‘mysqld server is running…’

最终目录

mysql精简单机版,免登录,可复制,不启动服务,与本机mysql无冲突

脚本说明

1.template_data和bin同级别,此文件夹存储复制过来的schema,注意复制的时候需要把ibdata1文件也复制过来

2.之所以复制msvcr120.dll和msvcp120.dll 因为在windows7系统中可能在运行32位/64位程序时会提示这两个dll文件缺失(其实并没有缺失,只是没有找到)

3.因为使用的是innodb引擎,所以mysql的数据表复制时是需要ibdata1文件的(innodb引擎下将表结构存储在ibdata1文件中,myisam则不用),因此以data文件夹下是否存在ibdata1文件来判断mysql是否被初始化,若没有初始化,则进行mysqld初始化,然后将tempalte_data文件夹中的所有文件都复制到data文件夹下

4.加入–skip-grant-tables,有了这个参数,本机可以直接进入mysql,而不用管用户名密码是多少.因为初始化之后系统会生成一个复杂密码,这个用脚本修改挺麻烦的,所以就直接跳过权限表的加载了,

启动

直接双击setup.bat就行,建议不要在C盘进行上述操作,C盘可能需要管理员权限。

经测试一般的增删查改功能都能正常使用,mysql,navicat,jdbc都可以正常连接和使用。

Original: https://www.cnblogs.com/lingdurebing/p/114514_.html
Author: 零度热冰
Title: mysql精简单机版,免登录,可复制,不启动服务,与本机mysql无冲突

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/505310/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Nginx基础入门篇(2)—编译参数介绍

    查看命令 nginx -V nginx version: nginx/1.22.0 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (…

    数据库 2023年6月14日
    082
  • Java对象的序列化和反序列化小结

    在进入正文之前我们先明白两个概念,序列化和反序列化; 序列化:将对象的状态信息转换为可以存储或者传输格式的过程; 反序列化:从网络或者存储读取对象的状态信息,重新创建该对象的过程;…

    数据库 2023年6月14日
    087
  • Linux中的进程的服务和控制

    Linux中的进程 进程:已经启动的可执行程序的运行实例 1、PID:进程的ID(每一个新进程都有一个唯一的PID) 2、PPID:父进程的ID 3、任何一个进程都可以创建一个子进…

    数据库 2023年6月16日
    055
  • Cookie和Session的关系和区别

    4.请简述Cookie和Session的区别 4.1什么是Cookie HTTP是无状态协议,他不能以状态来区分和管理请求和响应。也就是说服务器但从网络连接上无从知道客户身份。所以…

    数据库 2023年6月14日
    086
  • xtrabackup2版本和xtrabackup8版本对比

    导语在使用xtrabackup8版本对mysql8版本进行备份恢复搭建从库的时候,继续使用xtrabackup2版本的方式,从xtrabackup_binlog_info 文件中找…

    数据库 2023年6月16日
    0120
  • MySQL-配置参数时 报错:remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu……

    报错:remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu…… 原因: 1、第一次配置参数时,不完整…

    数据库 2023年6月14日
    098
  • kubectl 最新常用命令 –V1.24版本

    alias k=kubectl complete -F __start_kubectl k Kubectl 上下文和配置 kubectl config view # &#x…

    数据库 2023年6月14日
    073
  • cobbler

    cobbler 1. cobbler简介 2. cobbler服务端部署 cobbler简介 Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速…

    数据库 2023年6月14日
    077
  • Mysql之Binlog

    1、简述 binlog 二进制日志文件,这个文件记录了MySQL所有的DML操作。通过binlog日志我们可以做数据恢复,增量备份,主主复制和主从复制等等。 2、Docker中无法…

    数据库 2023年5月24日
    0138
  • Docker常用命令

    镜像:Docker 镜像是用于创建 Docker 容器的模板容器:容器是独立运行的一个或一组应用仓库:用来保存镜像,可以理解为代码控制中的代码仓库 一个仓库中包含多个镜像,以镜像为…

    数据库 2023年6月11日
    087
  • Mysql_视图

    视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由…

    数据库 2023年6月11日
    088
  • PHP array_reduce()

    array_reduce array_reduce() 将回调函数 callback 迭代地作用到 array 数组中的每一个单元中,从而将数组简化为单一的值。 示例一: 示例二:…

    数据库 2023年6月14日
    096
  • Servlet中跨域问题详解

    一、什么是跨域 跨域,是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript实施的安全限制。 浏览器从一个域名的网页去请求另一个域名的资源时…

    数据库 2023年6月14日
    098
  • Redis-主从

    数据库的发展总是从 单机 -> 主从 -> 分片集群 Redis的主从复制 从单机到主从的根本优势在于: 可实现读写分离,分摊读压力;某个从库用于做统计等后台功能 数据…

    数据库 2023年6月11日
    0103
  • MySQL启动过程详解四:crash recovery

    当 MySQL关闭后,重启MySQL时,会进行 crash recovery操作,这里分析一下MySQL是如何进行的: 首先在启动Innodb存储引擎时会回滚事务系统的事务列表中未…

    数据库 2023年6月9日
    099
  • Eureka详解系列(三)–探索Eureka强大的配置体系

    通过前面的两篇博客,我们知道了:什么是 Eureka?为什么使用 Eureka?如何使用 Eureka?今天,我们开始来研究 Eureka 的源码,先从配置部分的源码开始看,其他部…

    数据库 2023年6月6日
    0206
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球