?
mysql 服務啟動出現1067錯誤的一個解決方法:
當服務啟動出現1067錯誤時,可查看“windows 事件查看器”,發現類似錯誤提示
Can't find messagefile 'F:\??? ools\mysql\mysql-5.6.22-winx64\share\errmsg.sys',
但是配置似乎沒問題:
basedir=F:\tools\mysql\mysql-5.6.22-winx64
datadir=F:\tools\mysql\mysql-5.6.22-winx64\data
于是,猜想是否路徑問題,解決方案:
basedir=F:
/
tools\mysql\mysql-5.6.22-winx64
datadir=F:
/
tools\mysql\mysql-5.6.22-winx64\data
?或者
basedir=F:\\tools\\mysql\\mysql-5.6.22-winx64
datadir=F:\\tools\\mysql\\mysql-5.6.22-winx64\data
以下原文: 批處理命令篇--配置免安裝mysql (已修改)
免安裝版的mysql是進行軟件綠色發布的絕佳助手,本文介紹一種使用批處理命令自動配置mysql的方法。
(1)建立三個文件,分別是:service install.bat,temp.txt,update.sql。
(2)在temp.txt文件中寫入如下內容:
set PathTemp=
(3)在update.sql文件中寫入如下內容:
use mysql
update user set host='%' where user='root' and host='127.0.0.1';
update user set password=password('root') where user='root' and host='%';
quit
(4)在service install.bat文件中寫入如下內容:
?
@echo
off
rem
停止mysql56服務(如果存在)
net
stop mysql56
rem
@echo off的作用是關閉回顯功能
rem
以下測試路徑
echo
當前盤符:%~d0
echo
當前盤符和路徑:%~dp0
echo
當前批處理全路徑:%~f0
echo
當前盤符和路徑的短文件名格式:%~sdp0
echo
當前CMD默認目錄:%
cd
%
set
mypath=
%~dp0
set
mypath=%mypath:\=\\
%
echo
批處理文件所在路徑轉為雙斜杠短名: %mypath%
echo
當前批處理正工作的路徑轉換后: %
cd
:\=\\
%
rem
找到當前路徑
rem
將temp.txt文件中內容拷貝到temp.bat文件中
rem
temp.txt文件中的內容是“set PathTemp=”
rem
特別注意:“=”后面不能加回車
copy
temp.txt temp.
bat
rem
將路徑添加到temp.bat文件中
cd
>>temp.
bat
rem
執行temp.bat文件中命令
rem
temp.bat文件執行后,路徑已經保存在PathTemp變量中
call
temp.
bat
rem
刪除temp.bat文件
rem
del temp.bat
rem
復制 my-default.ini文件
copy
my-default.ini my.
ini
rem
設置my.ini的標記位
set
tag=
[mysqld]
rem
設置添加到my.ini文件中的數據庫路徑和數據路徑
rem
set datadir=datadir=%PathTemp%\data的意思是:
rem
將字符串“datadir=”、變量PathTemp對應的字符串以及字符串“\data”賦值給datadir變量
set
basedir=basedir=%PathTemp:\=\\
%
set
datadir=datadir=%PathTemp:\=\\%\
data
rem
設置運行環境變量homedir
set
homedir=%PathTemp%\
bin
rem
設置變量延遲
rem
注意:使用變量延遲后,相關變量用!!包圍,這樣程序才能正確識別
setlocal
enabledelayedexpansion
rem
循環查找my.ini文件中的內容
for
/f "tokens=*" %%i in (my.ini)
do
(
rem
將從my-default.ini文件中讀到的字符串,賦值給變量p
set
p=
%%i
rem
如果變量p的內容和my-default.ini的標記位相同
rem
將變量p的內容寫入my.ini文件中,同時在其后面加入兩行內容:
rem
basedir的內容和datadir的內容;
rem
如果不同,只將變量p的內容寫入my.ini文件中
if
"!p!"== "%tag%" (
echo
!p!>>my.
ini
echo
!basedir!>>my.
ini
echo
!datadir!>>my.
ini
echo
#開啟查詢緩存>>my.
ini
echo
explicit_defaults_for_timestamp=true>>my.
ini
)
if
not
"!p!"== "%tag%"
echo
!p!>>my.
ini
)
rem
TIMESTAMP with implicit DEFAULT value is deprecated
rem
設置刪除mysql服務的命令
set
uninstallcmd=.\bin\mysqld.
exe remove mysql56
rem
調用刪除命令
call
!uninstallcmd!
rem
設置安裝mysql服務的命令
set
installcmd=.\bin\mysqld.
exe -install mysql56
rem
調用安裝命令
call
!installcmd!
rem
啟動mysql服務
net
start
mysql56
rem
調用update.sql文件中的sql語句,將mysql的遠程訪問方式打開,以備遠程訪問服務器;
rem
同時,將mysql的密碼更改,本批處理命令將mysql密碼更改為root
.\bin\mysql -u root <.\update.
sql
rem
重啟mysql服務
net
stop mysql56
net
start
mysql56
pause
?
(5)運行service install.bat文件,完成mysql的環境配置,此時就可以通過程序對mysql服務進行調用了。
注意:此時mysql的root用戶的密碼已被更改為“root”,并允許用戶遠程訪問mysql。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

