Windows设置一键安装Mysql数据库的方法()

Windows设置一键安装Mysql数据库的方法

前言

因为MySQL数据库的8126 65536 以及3072最大索引长度等问题
研发这边提交的补丁总是出现稀奇古怪的问题.
mysql数据库又因为DBO比较慢.研发总是懒的进行修改.
又因为linux大部分人都不熟.
没办法的情况下,我这边验证了下MySQL数据库一键安装的脚本
感觉还可以能够启动成功, 这里简单总结一下
需要说明
我这边数据库是mysql 8.0.31 并且里面带一个数据库产品使用的.
是我绿色安装后关机冷备出来.
然后编写脚本一键启动.
适配的操作系统可能不多. 仅供测试.

模板搭建

官网下载mysql的zip安装包
需要说明一定要下载zip不要下载msi
猛男都是用zip,弱鸡才用msi.
(我linux喜欢用rpm !-_-! )

安装初始化

注意配置文件一定是之前写好的:
[mysqld]
datadir=C:\mysql\data
max_allowed_packet = 1G
innodb_log_file_size = 512M
innodb_log_buffer_size = 512M
innodb_file_per_table = 1
innodb_buffer_pool_size=8G
innodb_flush_log_at_trx_commit=0
#innodb_file_format=barracuda
max_connections=2000
lower-case-table-names=1
innodb_strict_mode = 0
character_set_server=utf8
secure_file_priv = 
#character_set_results=utf8
default-time-zone='+08:00'
expire_logs_days = 1
transaction-isolation = READ-COMMITTED
default_authentication_plugin=mysql_native_password
#skip-grant-tables
skip-log-bin 
[mysql]
prompt="\\u@\\h : \\d \\r:\\m:\\s>"
default-character-set=utf8 

初始化过程

之前都总结过了
第一步
#打开cmd
cd c:\mysql\bin
#执行命令
mysqld --initialize-insecure
#会发现在 c:\mysql\data 目录下面产生很多文件。
#如果有错误可以查看同目录下面的log信息进行排错。
mysqld --install 
#这一步会注册为mysql服务
net start mysql
#这一步可以启动mysql数据库
#注意启动完后需要立即修改密码
第一步修改 root@'localhost' 的密码
alter user root@'localhost'  identified with mysql_native_password by 'Testxxxxxxxx';
第二部可以创建一个 可以任意ip地址访问的用户和密码
create user 'root'@'%' identified with mysql_native_password by 'Testxxxxxxxx';

手工创建业务数据库以及更新补丁.

忽略不提.

创建一键启动脚本

这里学习自:
https://blog.csdn.net/m0_37929803/article/details/108010928

我这边在mysql的目录下面搭建了一个oneStepMySQL.bat
具体内容如下:
思路为:
第一步: 先替换相对路径,保证目录准确
第二步: 关闭和清理服务,为了防止影响,我这边关闭的是非mysql服务
        如果端口冲突,请自行修改.
第三步: 重新安装服务
第四步: 说明业务库的信息.


@echo off
set "pth=%~dp0"
set "pth=%pth:\=/%"
set "pth=%pth:~,-1%"
(for /f "tokens=1,2* delims=:=" %%a in ('findstr /n .* my.ini') do (
  if "%%c" neq "" (
    if /i not "%%b"=="basedir" (
      if /i not "%%b"=="datadir" (echo,%%b=%%c
      ) else echo,%%b="%pth%/Data/"
    ) else echo,%%b="%pth%"
  ) else echo,%%b
))>$
move $ my.ini

cd bin

net stop mysqlzhaobsh && sc delete mysqlzhaobsh

mysqld --install  mysqlzhaobsh
net start mysqlzhaobsh

echo "Mysql is installed, Please manual check database status!"
echo "ServiceName: mysqlzhaobsh"
echo "Username: xxxxxx"
echo "Password: Testxxxxxx"

pause

————————

Windows设置一键安装Mysql数据库的方法

前言

因为MySQL数据库的8126 65536 以及3072最大索引长度等问题
研发这边提交的补丁总是出现稀奇古怪的问题.
mysql数据库又因为DBO比较慢.研发总是懒的进行修改.
又因为linux大部分人都不熟.
没办法的情况下,我这边验证了下MySQL数据库一键安装的脚本
感觉还可以能够启动成功, 这里简单总结一下
需要说明
我这边数据库是mysql 8.0.31 并且里面带一个数据库产品使用的.
是我绿色安装后关机冷备出来.
然后编写脚本一键启动.
适配的操作系统可能不多. 仅供测试.

模板搭建

官网下载mysql的zip安装包
需要说明一定要下载zip不要下载msi
猛男都是用zip,弱鸡才用msi.
(我linux喜欢用rpm !-_-! )

安装初始化

注意配置文件一定是之前写好的:
[mysqld]
datadir=C:\mysql\data
max_allowed_packet = 1G
innodb_log_file_size = 512M
innodb_log_buffer_size = 512M
innodb_file_per_table = 1
innodb_buffer_pool_size=8G
innodb_flush_log_at_trx_commit=0
#innodb_file_format=barracuda
max_connections=2000
lower-case-table-names=1
innodb_strict_mode = 0
character_set_server=utf8
secure_file_priv = 
#character_set_results=utf8
default-time-zone='+08:00'
expire_logs_days = 1
transaction-isolation = READ-COMMITTED
default_authentication_plugin=mysql_native_password
#skip-grant-tables
skip-log-bin 
[mysql]
prompt="\\u@\\h : \\d \\r:\\m:\\s>"
default-character-set=utf8 

初始化过程

之前都总结过了
第一步
#打开cmd
cd c:\mysql\bin
#执行命令
mysqld --initialize-insecure
#会发现在 c:\mysql\data 目录下面产生很多文件。
#如果有错误可以查看同目录下面的log信息进行排错。
mysqld --install 
#这一步会注册为mysql服务
net start mysql
#这一步可以启动mysql数据库
#注意启动完后需要立即修改密码
第一步修改 root@'localhost' 的密码
alter user root@'localhost'  identified with mysql_native_password by 'Testxxxxxxxx';
第二部可以创建一个 可以任意ip地址访问的用户和密码
create user 'root'@'%' identified with mysql_native_password by 'Testxxxxxxxx';

手工创建业务数据库以及更新补丁.

忽略不提.

创建一键启动脚本

这里学习自:
https://blog.csdn.net/m0_37929803/article/details/108010928

我这边在mysql的目录下面搭建了一个oneStepMySQL.bat
具体内容如下:
思路为:
第一步: 先替换相对路径,保证目录准确
第二步: 关闭和清理服务,为了防止影响,我这边关闭的是非mysql服务
        如果端口冲突,请自行修改.
第三步: 重新安装服务
第四步: 说明业务库的信息.


@echo off
set "pth=%~dp0"
set "pth=%pth:\=/%"
set "pth=%pth:~,-1%"
(for /f "tokens=1,2* delims=:=" %%a in ('findstr /n .* my.ini') do (
  if "%%c" neq "" (
    if /i not "%%b"=="basedir" (
      if /i not "%%b"=="datadir" (echo,%%b=%%c
      ) else echo,%%b="%pth%/Data/"
    ) else echo,%%b="%pth%"
  ) else echo,%%b
))>$
move $ my.ini

cd bin

net stop mysqlzhaobsh && sc delete mysqlzhaobsh

mysqld --install  mysqlzhaobsh
net start mysqlzhaobsh

echo "Mysql is installed, Please manual check database status!"
echo "ServiceName: mysqlzhaobsh"
echo "Username: xxxxxx"
echo "Password: Testxxxxxx"

pause