导读:
我们日常学习可能会需要在本地安装MySQL服务,也遇到过小伙伴探讨关于Windows系统安装MySQL的问题。在这里建议大家安装MySQL5.7版本,当然想尝试8.0版本的同学也可以参考安装。本篇文章以MySQL5.7.23版本为例,一步步的为大家总结出安装步骤,希望对大家有所帮助!

1.检查及卸载原版本

我们可以检查下我们的系统服务确定下有没有安装过MySQL,打开Windows系统服务有以下两种方式:

  1. 右击我的电脑/计算机,点击管理,打开计算机管理,依次选择服务和应用程序——服务。
  2. 使用快捷命令:同时按下win+r键,在运行窗口中输入services.msc,即可打开服务。

打开系统服务后页面如下,可以看到我的电脑中已经安装有MySQL,下面我将其卸载,若你的电脑没有MySQL服务则不需要操作此步。

现在我们打开cmd命令行来卸载MySQL:

  1. 停止MySQL服务

  

  1. 卸载MySQL

  

2.下载MySQL安装包

下载地址:
https://downloads.mysql.com/archives/community/

选择5.7.23 Windows版本进行下载

3.解压安装包并配置环境变量

将压缩包放在一个合适的盘进行解压,我这里放在了E盘,解压后建议将文件夹重命名为mysql5.7.23。

建议安装前先配置下环境变量:
右击我的电脑/计算机,点击属性,打开高级系统设置,点击环境变量。
变量名:MYSQL_HOME
变量值:E:\mysql5.7.23
path里添加:%MYSQL_HOME%\bin

4.创建数据目录及配置文件

此版本MySQL并没有创建data目录及my.ini。在MYSQL_HOME目录下创建data目录,建议将data目录设为E:\mysql5.7.23\data。另外,创建Uploads目录作为MySQL导入导出的目录。my.ini建议放在MYSQL_HOME目录下,简单配置可参考:

[mysqld]
port=3306
character_set_server=utf8
basedir=E:\mysql5.7.23
datadir=E:\mysql5.7.23\data
server-id=1
sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
lower_case_table_names=1
innodb_file_per_table = 1
log_timestamps=SYSTEM

log-error   = error.log
slow_query_log = 1
slow_query_log_file = slow.log
long_query_time = 5
log-bin = binlog
binlog_format = row
expire_logs_days = 15
log_bin_trust_function_creators = 1
secure-file-priv=E:\mysql5.7.23\Uploads

[client]   
default-character-set=utf8

完成之后我们的目录结构变成这样了

5.初始化数据库

cmd命令行进入E:\mysql5.7.23\bin目录,执行mysqld --initialize-insecure

执行完毕之后,在data目录下会生成很多文件。

6.注册并启动MySQL服务

执行mysqld –install MySQL57安装服务(install后面是服务的名字,我们这里以MySQL57作为mysql5.7的服务名)net start MySQL57启动MySQL服务。

7.登录并修改密码

提醒大家,由于初始化设置或版本差异,有些版本安装完成后root是空密码,有些是临时密码,我们需要查看error log日志提示。

打开error日志,发现我这里是空密码。

下面我们命令行登录 修改下密码:

若需要配置root用户可以远程访问,则可以执行以下语句:

接下来我们就可以用Navicat等工具登录了!

8.附送备份脚本

额外赠送大家逻辑备份脚本哦,如果你想每天备份,可以将脚本加入计划任务中,每天定时执行。
我们可以在E盘下创建一个MySQLdata_Bak目录,此目录下创建mysql_backup目录存放备份文件,mysql_bak.bat是备份脚本,脚本内容如下(自动删除7天前的备份文件):

rem auther:wang
rem date:20190526
rem ******MySQL backup start********
@echo off
forfiles /p "E:\MySQLdata_Bak\mysql_backup" /m backup_*.sql -d -7 /c "cmd /c del /f @path"
set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%"
"E:\mysql5.7.23\bin\mysqldump" -uroot -p123456 -P3306 --default-character-set=utf8 -R -E --single-transaction  --all-databases > "E:\MySQLdata_Bak\mysql_backup\backup_%Ymd%.sql"
@echo on
rem ******MySQL backup end********

整体目录结构如下,双击运行下mysql_bak.bat脚本即可备份我们所有的数据库。