之前寫(xiě)了一篇在windows下安裝MySQL的文章:http://www.itdecent.cn/p/5038bf94ba6a
不過(guò)因?yàn)槟J(rèn)的安裝配置過(guò)于簡(jiǎn)單,也沒(méi)有用足生產(chǎn)環(huán)境下的性能,所以再此稍作補(bǔ)充。
- 錯(cuò)誤排查
有時(shí)候MySQL啟動(dòng)不起來(lái),可以通過(guò)前臺(tái)啟動(dòng)MySQL,這樣能在控制臺(tái)直接看到日志。
mysqld.exe --console
- 數(shù)據(jù)備份
以下為windows命令行,可以制作成.bat定期執(zhí)行備份。
mysqldump -uroot -proot --databases test > test_%date:~0,4%-%date:~5,2%-%date:~8,2%.sql
服務(wù)器上可根據(jù)以下bat進(jìn)行mysql定期備份,具體路徑可根據(jù)實(shí)際調(diào)整
rem 根據(jù)當(dāng)前日期獲取,年月日串
set yyyy=%date:~,4%
set mm=%date:~5,2%
set day=%date:~8,2%
set "YYYYmmdd=%yyyy%%mm%%day%"
rem 把年月日串中的空格替換為0
set "YYYYmmdd=%YYYYmmdd: =0%"
echo "YYYYmmdd%YYYYmmdd%YYYYmmdd"
rem 根據(jù)當(dāng)前時(shí)間獲取,時(shí)分秒串
set hh=%time:~0,2%
set mi=%time:~3,2%
set ss=%time:~6,2%
set "hhmiss=%hh%%mi%%ss%"
set "hhmiss=%hhmiss: =0%"
echo "hhmiss%Time%hhmiss"
echo %hhmiss%
rem 把時(shí)間串中的:替換為0
set "hhmiss=%hhmiss::=0%"
rem 把時(shí)間串中的空格替換為0
set "hhmiss=%hhmiss: =0%"
rem 根據(jù)日期時(shí)間生成文件名稱(chēng),中間以HH區(qū)分日期和時(shí)間部分
set "timestamp=%YYYYmmdd%%hhmiss%"
echo %timestamp%
mysqldump -uroot -proot --databases test > test_%timestamp%.sql
"C:\Program Files\7-Zip\7z.exe" a test_%timestamp%.zip test_%timestamp%.sql
forfiles /p C:\Users\Administrator\Documents\Bak\Mysql\ /s /m * /d -30 /c "cmd /c del @path"
del /f /s /q C:\Users\Administrator\Documents\Bak\Mysql\*.sql
- 根據(jù)生產(chǎn)環(huán)境自動(dòng)配置INNODB內(nèi)存
[mysqld]
# other config...
innodb_dedicated_server=ON
# other config..
innodb_dedicated_server參數(shù)在8.03版本中引入,是一個(gè)只能在啟動(dòng)時(shí)設(shè)置的global級(jí)參數(shù)。此參數(shù)設(shè)置為ON時(shí),MySQL會(huì)根據(jù)檢測(cè)到的內(nèi)存大小設(shè)置innodb_buffer_pool_size、innodb_log_file_size、innodb_flush_method三個(gè)參數(shù)。有了這個(gè)參數(shù)我們就不用再寫(xiě)腳本根據(jù)內(nèi)存大小去修改配置文件的這三個(gè)參數(shù)了。