?
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元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
