Windows下MySQL生产环境配置

之前写了一篇在windows下安装MySQL的文章:https://www.jianshu.com/p/5038bf94ba6a
不过因为默认的安装配置过于简单,也没有用足生产环境下的性能,所以再此稍作补充。

  1. 错误排查
    有时候MySQL启动不起来,可以通过前台启动MySQL,这样能在控制台直接看到日志。
mysqld.exe --console
  1. 数据备份
    以下为windows命令行,可以制作成.bat定期执行备份。
mysqldump -uroot -proot --databases test > test_%date:~0,4%-%date:~5,2%-%date:~8,2%.sql

服务器上可根据以下bat进行mysql定期备份,具体路径可根据实际调整

rem 根据当前日期获取,年月日串
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 根据当前时间获取,时分秒串
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 把时间串中的:替换为0
set "hhmiss=%hhmiss::=0%"
rem 把时间串中的空格替换为0
set "hhmiss=%hhmiss: =0%"
rem 根据日期时间生成文件名称,中间以HH区分日期和时间部分
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
  1. 根据生产环境自动配置INNODB内存
[mysqld]
# other config...
innodb_dedicated_server=ON
# other config..

innodb_dedicated_server参数在8.03版本中引入,是一个只能在启动时设置的global级参数。此参数设置为ON时,MySQL会根据检测到的内存大小设置innodb_buffer_pool_size、innodb_log_file_size、innodb_flush_method三个参数。有了这个参数我们就不用再写脚本根据内存大小去修改配置文件的这三个参数了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。