Windows环境安装MySQL5.7

在Windows开发环境下安装MySQL5.7,使用官方免安装软件包,手动启停服务和编写批处理脚本实现MySQL启停。

一、安装

1. 下载免安装软件包

  我比较喜欢免安装版本的,比较干净。
  到官网的开发者专区下载MySQL(Community版)免安装软件包,
  下载地址:https://dev.mysql.com/downloads/mysql/
  * 当前最新版本是8.0,如果需要下载其它版本,可以点击页面中的 Looking for previous GA versions? (未来版本超链接入口可能会有变化)
mysql_download_in_windows.png

2. 解压压缩包

  将下载的软件包解压并重命名到 D:\Program Files\mysql-5.7 目录下。
mysql_unzip_in_windows.png

3. 进入命令行终端

  以Window10为例,
  【开始】-【搜索程序和文件】输入 cmd,在搜索到的程序图标上点击鼠标右键,选择【以管理员身份运行】。

4. 进入命令行终端

  依次输入如下指令:

C:\Windows\system32> d:
D:\> cd D:\Program Files\mysql-5.7\bin

5. 初始化MySQL

  初始化可以选择带有随机密码或无密码,建议采用无密码初始化(可以设置密码),以免随机密码丢失。

D:\Program Files\mysql-5.7\bin> mysqld --initialize(随机密码)

D:\Program Files\mysql-5.7\bin> mysqld --initialize-insecure(无密码)

6. 安装mysqld

D:\Program Files\mysql-5.7\bin> mysqld -install

  * mysql 用于执行SQL命令,mysqld 用于执行数据库命令。

7. 启动MySQL服务

D:\Program Files\mysql-5.7\bin> net start mysql

mysql_start_in_windows.png

8. 登录MySQL

D:\Program Files\mysql-5.7\bin> mysql -u root -p
Enter password:(无密码则直接回车)

二、添加root账号登录密码

1. 停止MySQL服务

D:\Program Files\mysql-5.7\bin> net stop mysql

2. 跳过密码验证

D:\Program Files\mysql-5.7\bin> mysqld --console --skip-grant-tables

mysql_skip_grant_tables_in_windows.png
  此时,当前命令行终端窗口不能再输入命令了,我们需要再打开一个命令行窗口,进入 D:\Program Files\mysql-5.7\bin>,方式和前面一样,即输入下面两行命令:

C:\Windows\system32> d:
D:\> cd D:\Program Files\mysql-5.7\bin

3. 登录MySQL

D:\Program Files\mysql-5.7\bin> mysql -u root -p
Enter password:(无需密码直接回车)

4. 切换数据库

mysql> use mysql;

5. 执行修改密码的语句

  当前新版本的MySQL有密码规则:必须包含大写字母、小写字母、特殊符号并且8位以上。
  我们这边是强行修改字段的,会有警告,但现在是开发环境,可以不管它,就把密码设置成 123456 即可。

mysql> update mysql.user set authentication_string=password('123456') where user='root';

6. 刷新权限并退出MySQL

mysql> flush privileges;
mysql> quit;

7. 终止mysqld

  回到第一个命令行窗口,按 “Ctrl+C” 结束进程或者按 “Ctrl+Alt+Del” 打开任务管理器,结束“mysqld.exe”的进程。

8. 重新启动MySQL服务

D:\Program Files\mysql-5.7\bin> net start mysql

9. 登录MySQL

D:\Program Files\mysql-5.7\bin> mysql -u root -p
Enter password:123456

  此时必须使用刚添加的密码才能登录MySQL。

三、编写批处理脚本实现MySQL启停

  在前面安装完MySQL后,我们每次开机都是通过输入命令来切换目录、启停MySQL的,长期使用显然比较麻烦,为了偷懒,下面编写一个批处理脚本。

1. 系统环境变量配置

  (1)新增系统变量
    变量名:MYSQL_HOME
    变量值:MySQL解压目录,如 D:\Program Files\mysql-5.7
mysql_global_config_system_variable.png
  (2)追加PATH
    %MYSQL_HOME%\bin
mysql_global_config_path.png

2. 编写批处理脚本

  创建一个文件,并以 .bat 为后缀,如 mysql.bat,打开编辑,输入如下内容。输入后以管理员身份运行。(前提要MySQL已经安装或配置成功)

cls 
@echo off
:设置窗口字体颜色
color 0F 
:设置窗口标题
TITLE MySQL管理程序 by winyuan

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 "MySQL"
echo.启动MySQL成功!
pause 
goto menu 

:停止
:shutdown
echo.
call :checkMySQL 2
echo.关闭MySQL......
net stop "MySQL"
echo.关闭MySQL成功!
pause 
goto menu

:重启
:reboot
echo.
call :checkMySQL 2
echo.关闭MySQL......
net stop "MySQL"
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\wenyuanblog.txt
if not exist %SystemRoot%\System32\wenyuanblog.txt (
  echo 警告:请以管理员身份运行!
  pause
  exit
)
del %SystemRoot%\System32\wenyuanblog.txt

  最后,用管理员身份运行 mysql.bat,如下图所示:
mysql_batch_script_in_windows.png


参考
django中文网


  目录