欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

批處理自動安裝Mysql與Redis的實現(xiàn)示例

 更新時間:2023年06月02日 09:18:45   作者:一個有夢有戲的人  
本文主要介紹了批處理自動安裝Mysql與Redis的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧

前言

在全新環(huán)境中安裝MySQL與Redis操作是挺麻煩的,于是就想使用腳本來自動安裝,使用批處理進行一步到位的安裝,后面還能使用工具進行打包成exe可執(zhí)行文件,一鍵安裝,最后能夠更好的部署項目到windows系統(tǒng)的服務(wù)器。

代碼與實現(xiàn)

本次是安裝mysql8.0和redis5.0,安裝在windows系統(tǒng)。

整體思路

流程很簡單,需要獲取安裝的路徑,文件所在路徑,配置環(huán)境變量,安裝服務(wù),修改mysql密碼。接下來一步一步解析。

安裝mysql

1)、下載mysql壓縮包

首先需要下載免安裝的MySQL壓縮包,https://dev.mysql.com/downloads/mysql/

下載完后解壓,就會看到以下目錄,接下來我們需要創(chuàng)建data文件 以及 my.ini的配置文件!

2)、添加配置文件my.ini

當然,配置文件也是可以通過dos指令輸入進去的,只是為了方便,我們這里可以通過事先配置好存放進去,詳細配置可以看如下:

[mysql]
default-character-set=utf8
[mysqld]
port=13306
basedir=D:\Desktop\tested\mysql-8.0.30 
datadir=D:\Desktop\tested\mysql-8.0.30\data 
max_connections=200
max_connect_errors=10
character-set-server=utf8
default-storage-engine=INNODB
[client]
port=13306
default-character-set=utf8

basedir:mysql解壓所在的文件路徑
datadir:數(shù)據(jù)存放的地址
注:要注意的是在輸入路徑地址的時候要使用’//’

3)、命令代碼

前置工作準備完成,接下來就可以看一下批處理命令。

①、設(shè)置安裝路徑

首先就是對變量的過去與設(shè)置

set cds=%~dp0
set mysql_path=%cds%mysql-8.0.30

%~dp0:獲取當前的路勁地址(絕對路徑)

②、配置環(huán)境變量

將mysql\bin下的路徑設(shè)置到path環(huán)境變量里面,后面是輸出此時path的環(huán)境變量,以下代碼包括設(shè)置了redis的環(huán)境變量。

echo 配置環(huán)境變量
echo.
setx path "%redis_path%;%mysql_path%\bin;%path%" /m
IF ERRORLEVEL 1 (
echo.
echo 配置環(huán)境變量失敗,即將退出
echo.
goto END
)
echo.
echo 打印環(huán)境變量
echo.
echo >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
set str=%path%
echo 所有變量:%str%
echo >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
echo.

③、安裝mysql服務(wù)

先設(shè)置MySQL服務(wù)的名字,為了防止存在相同的服務(wù),將設(shè)置好的服務(wù)名稱的服務(wù)通過net stop %service_name%停掉,并且將mysql的data刪除(這部需要謹慎處理),接著對mysql進行初始化,接著通過mysqld.exe去安裝服務(wù)。

:: 設(shè)置mysql服務(wù)名字:mysql82
set service_name=mysql82
net stop %service_name%
echo >>>>刪除原DATA
:: 刪除原本的MySQL數(shù)據(jù)
rd /s /q %mysql_path%\data
echo >>>>刪除原MYSQL服務(wù)
%mysql_path%\bin\mysqld.exe --remove %service_name%
echo >>>>初始化DATA
md %mysql_path%\data
echo >>>>安裝MYSQL SERVICE
%mysql_path%\bin\mysqld.exe --initialize --user=mysql --console
%mysql_path%\bin\mysqld.exe --install %service_name%

④、修改密碼

mysql8.0之后的版本,不能通過修改mysql.user 表來修改用戶密碼,取消了password函數(shù),使用authentication_string=password("123456")去修改密碼會報錯。按照只是用解壓縮+配置文件.ini來安裝是需要先通過初始化之后生成的隨機臨時密碼登錄,在進行修改密碼。對于這個修改密碼,我也是找了很久,看了很多篇文章,最后發(fā)現(xiàn)了解決方案。

解決辦法:

首先有一種,通過mysqld --console --skip-grant-tables --shared-memory的方法啟動服務(wù)器,在是使用修改密碼命令去改變密碼。可是,這種在使用批處理的時候遇到了許多問題,因為是新手,對指令這些邏輯還不是很清楚,因為使用這種方式啟動MySQL,原來的思路是,等它啟動服務(wù)后,用新的命令窗口去執(zhí)行修改密碼,接著關(guān)閉新窗口往下繼續(xù)進行,但是會出現(xiàn)這條啟動服務(wù)的任務(wù)不會自動完成。通過跳過密碼驗證就會使得無法往下繼續(xù)執(zhí)行,需要使用新的窗口來進行修改密碼。這也就會導(dǎo)致接下來的命令就會無法執(zhí)行。

接著后面使用第二種方式,需要在外部新建一個配置文件,用來進行修改密碼的。使用-init-file重置MySQL Root密碼。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

思路也很簡單,只要使用新的窗口來執(zhí)行這條語句,在把這個新的窗口關(guān)掉,就能夠恢復(fù)初始窗口繼續(xù)執(zhí)行。

start "更改密碼" cmd /c "%mysql_path%\bin\mysqld.exe --user=mysql --init-file=%cds%init-file.ini --console" 
timeout /t 5
echo >>>>終止mysqld進程
taskkill /f /im mysqld.exe

start:執(zhí)行命令,”更改密碼“是命令窗口的標題,后面是使用mysqld

timeout /t 5 :倒計時5秒

taskkill /f /im mysqld.exe:殺死這個進程

詳細方案可以看一下這位大佬寫的,我的靈感也是得之于他:如何在MySQL 8.0中重置Root密碼 - 騰訊云開發(fā)者社區(qū)-騰訊云

⑤、按照完畢

安裝完畢就可以去執(zhí)行啟動mysql服務(wù)

net start %service_name%

安裝redis

安裝redis就更簡單了,就直接使用安裝指令就行

cd /d%redis_path%
redis-server.exe --service-install redis.windows.conf --service-name %redis_server_name% --loglevel verbose
echo 啟動redis服務(wù)
redis-server.exe --service-start --service-name %redis_server_name%

代碼附件

以下是所有的代碼

@echo off
chcp 65001
title 安裝MYSQL與Redis
echo.
echo >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
echo 開始安裝MYSQL8.0
echo >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
echo.
set cds=%~dp0
set mysql_path=%cds%mysql-8.0.30
set redis_path=%cds%Redis5.0
echo.
echo 數(shù)據(jù)庫安裝路徑:%mysql_path%
echo Redis安裝路徑:%redis_path%
echo.
echo 配置環(huán)境變量
echo.
setx path "%redis_path%;%mysql_path%\bin;%path%" /m
IF ERRORLEVEL 1 (
echo.
echo 配置環(huán)境變量失敗,即將退出
echo.
goto END
)
echo.
echo 打印環(huán)境變量
echo.
echo >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
set str=%path%
echo 所有變量:%str%
echo >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
echo.
echo >>>>正在安裝MYSQL服務(wù)
echo.
:: 設(shè)置mysql服務(wù)名字:mysql82
set service_name=mysql82
net stop %service_name%
echo.
echo >>>>刪除原DATA
echo.
:: 刪除原本的MySQL數(shù)據(jù)
rd /s /q %mysql_path%\data
echo.
echo >>>>刪除原MYSQL服務(wù)
echo.
%mysql_path%\bin\mysqld.exe --remove %service_name%
echo.
echo >>>>初始化DATA
echo.
md %mysql_path%\data
echo.
echo >>>>安裝MYSQL SERVICE
echo.
%mysql_path%\bin\mysqld.exe --initialize --user=mysql --console
%mysql_path%\bin\mysqld.exe --install %service_name%
echo >>>>關(guān)閉mysql服務(wù)
net stop %service_name%
:: 修改密碼
echo >>>>執(zhí)行更改密碼
start "更改密碼" cmd /c "%mysql_path%\bin\mysqld.exe --user=mysql --init-file=%cds%init-file.ini --console" 
timeout /t 5
echo >>>>終止mysqld進程
taskkill /f /im mysqld.exe
net start %service_name%
echo.
echo >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
echo 啟動MYSQL SERVICE,SERVICE NAME 》mysql82
echo.
echo 修改密碼:root
echo.
echo >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
echo.
echo 安裝redis
:: 設(shè)置redis服務(wù)名字:redis5
set redis_server_name=redis5
echo.
echo ****正在安裝REDIS服務(wù)****
echo.
echo 停止原REDIS服務(wù)
echo.
net stop %redis_server_name%
echo 刪除redis服務(wù)
sc delete %redis_server_name%
echo.
cd /d%redis_path%
redis-server.exe --service-install redis.windows.conf --service-name %redis_server_name% --loglevel verbose
echo 啟動redis服務(wù)
redis-server.exe --service-start --service-name %redis_server_name%
:END

到此這篇關(guān)于批處理自動安裝Mysql與Redis的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)批處理自動安裝Mysql與Redis內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論