1、下载MySQL安装包
下载地址:https://dev.mysql.com/downloads/mysql/
首页是最新的8.0版本,5.x版本需要点右侧链接:

选一下操作系统位数,下"zip archive"这个

2、解压安装包并配置环境变量
将压缩包放在一个合适的盘进行解压。
千万不要把目录放在有空格的文件夹中,比如:D:\Program Files(x86) ,否则启动会报错
比如,这里放在了E盘,解压后建议将文件夹重命名为mysql5.7.23。

3、配置环境变量
右击我的电脑/计算机,点击属性,打开高级系统设置,点击环境变量。
添加系统变量
变量名:
MYSQL_HOME
变量值:
E:\mysql5.7.23
path里添加:
%MYSQL_HOME%\bin
4.创建数据目录及配置文件
此版本MySQL并没有创建data目录及my.ini。
在MYSQL_HOME目录下创建data目录,建议将data目录设为E:\mysql5.7.23\data。另外,在MySQL根目录下创建uploads目录作为MySQL导入导出的目录。
创建一个txt文件,改名为 my.ini。
my.ini建议放在MYSQL_HOME目录下。
注意这个文件夹要先创建:E:\mysql5.7.23\uploads
my.ini内容如下
language-bash
[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=
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.23\bin目录,执行
mysqld --initialize-insecure
C盘下不能执行这个命令,怎么进入E盘?
先进入E盘,命令: e:
再到bin目录下,命令:
cd E:\mysql5.7.23\bin
(也可以直接在资源管理器bin目录下输入cmd)

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

如果初始化报错:
- 删除data目录
- 再次初始化
6.注册并启动MySQL服务
安装服务(install后面是服务的名字,我们这里以MySQL57作为mysql5.7的服务名)
cmd执行:
mysqld --install MySQL57
启动MySQL服务。
net start MySQL57

如果启动出现错误,可以用 mysqld --console 查看具体原因。然后自己去搜索一下。
如果解决不了:
1、删除data目录
2、删除服务
sc delete MySQL57
然后回到第五步:初始化、启动服务。
7.登录并修改密码
提醒大家,由于初始化设置或版本差异,有些版本安装完成后root是空密码,有些是临时密码,我们需要查看error log日志提示。

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

下面我们命令行登录,修改下密码:
language-bash
mysql -uroot
alter user 'root'@'localhost' identified by '123456';
flush privileges;

若需要配置root用户可以远程访问,则可以执行以下语句:
language-bash
grant all privileges on *.* to 'root' @'%' identified by '123456' with grant option;
flush privileges;

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

以后怎么启动MySQL?在服务里面启动

如果经常使用,可以设置为自启动。否则只需要右键启动即可。

也可以做成启动脚本:
新建文本文档,保存为mysql.bat,内容如下。
language-bash
cls
@echo off
:设置窗口字体颜色
color 0a
:设置窗口标题
TITLE MySQL管理程序
call :checkAdmin
goto menu
:菜单
:menu
cls
echo.
echo.=-=-=-=-请选择您要对MySQL的操作-=-=-=-=-
echo.
echo.1: 启动MySQL
echo.
echo.2: 关闭MySQL
echo.
echo.3: 重启MySQL
echo.
echo.4: 退 出
echo.
echo.=-=-=-=-请输入您要选择的项目序号↓-=-=-=-
set /p id=
if "%id%"=="1" goto startup
if "%id%"=="2" goto shutdown
if "%id%"=="3" goto reboot
if "%id%"=="4" exit
pause
:启动
:startup
echo.
call :checkMySQL 1
echo.启动MySQL......
net start "MySQL57"
echo.启动MySQL成功!
pause
goto menu
:停止
:shutdown
echo.
call :checkMySQL 2
echo.关闭MySQL......
net stop "MySQL57"
echo.关闭MySQL成功!
pause
goto menu
:重启
:reboot
echo.
call :checkMySQL 2
echo.关闭MySQL......
net stop "MySQL57"
echo.关闭MySQL成功!
goto startup
goto menu
:退出
:goout
pause
goto menu
:检查MySQL进程是否存在
:checkMySQL
set /a count=0
for /f "tokens=1 delims= " %%i in ('tasklist /nh ^| find /i "MySQL"') do (set /a count+=1)
if %count% neq 0 if "%1" equ "1" (
echo 警告:MySQL已启动
goto goout
)
if %count% equ 0 if "%1" equ "2" (
echo 警告:MySQL未启动
goto goout
)
:检查是否是以管理员身份运行
:checkAdmin
echo test am i admin? > %SystemRoot%\System32\test.sunhao
if not exist %SystemRoot%\System32\test.sunhao (
echo 警告:请以管理员身份运行!
pause
exit
)
del %SystemRoot%\System32\test.sunhao
右键管理员身份运行,输入1就可以启动了
