导读:
我们日常学习可能会需要在本地安装MySQL服务,也遇到过小伙伴探讨关于Windows系统安装MySQL的问题。在这里建议大家安装MySQL5.7版本,当然想尝试8.0版本的同学也可以参考安装。本篇文章以MySQL5.7.23版本为例,一步步的为大家总结出安装步骤,希望对大家有所帮助!
1.检查及卸载原版本
我们可以检查下我们的系统服务确定下有没有安装过MySQL,打开Windows系统服务有以下两种方式:
- 右击我的电脑/计算机,点击管理,打开计算机管理,依次选择服务和应用程序——服务。
- 使用快捷命令:同时按下win+r键,在运行窗口中输入services.msc,即可打开服务。
打开系统服务后页面如下,可以看到我的电脑中已经安装有MySQL,下面我将其卸载,若你的电脑没有MySQL服务则不需要操作此步。
现在我们打开cmd命令行来卸载MySQL:
- 停止MySQL服务
- 卸载MySQL
2.下载MySQL安装包
选择5.7.23 Windows版本进行下载
3.解压安装包并配置环境变量
将压缩包放在一个合适的盘进行解压,我这里放在了E盘,解压后建议将文件夹重命名为mysql5.7.23。
建议安装前先配置下环境变量:
右击我的电脑/计算机,点击属性,打开高级系统设置,点击环境变量。
变量名:MYSQL_HOME
变量值:E:mysql5.7.23
path里添加:%MYSQL_HOME%in
4.创建数据目录及配置文件
此版本MySQL并没有创建data目录及my.ini。在MYSQL_HOME目录下创建data目录,建议将data目录设为E:mysql5.7.23data。另外,创建Uploads目录作为MySQL导入导出的目录。my.ini建议放在MYSQL_HOME目录下,简单配置可参考:
[mysqld]
port=3306
character_set_server=utf8
basedir=E:mysql5.7.23
datadir=E:mysql5.7.23data
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.23Uploads
max_allowed_packet = 32M
binlog_cache_size = 4M
sort_buffer_size = 2M
read_buffer_size = 4M
join_buffer_size = 4M
tmp_table_size = 96M
max_heap_table_size = 96M
lower_case_table_names=1
innodb_file_per_table = 1
[client]
default-character-set=utf8
完成之后我们的目录结构变成这样了
5.初始化数据库
cmd命令行进入E:mysql5.7.23in目录,执行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_Bakmysql_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.23inmysqldump" -uroot -p123456 -P3306 --default-character-set=utf8 -R -E --single-transaction --all-databases > "E:MySQLdata_Bakmysql_backupackup_%Ymd%.sql"
@echo on
rem ******MySQL backup end********
整体目录结构如下,双击运行下mysql_bak.bat脚本即可备份我们所有的数据库。