如何在WIndows上安装和使用MySQL 8.0数据库

如何在Windows安装和使用MySQL 8.0数据库:

一、简介

之前,给大家分享了《如何在Linux服务器上安装MySQL 8.0数据库》,教程链接:https://www.bilibili.com/video/av48488984,今天给大家分享以下如何在windows上安装和使用MySQL 8.0数据库,MySQL官方给我们提供两种安装包:

工具

  1. Windows 10
  2. MySQL 8.0.15

说明:此博客中调用Windows命令的地方,有时用引号括起来(""),实际上和不用引号效果是一样的,如果你的目录里包含空格,那么必须使用引号括起来。

1.exe可执行安装包:

​ 这个类型的安装包也就是图形化安装包,很简单,程序会默认安装到windows的程序默认安装目录。也就是C:\Program Files\或者C:\Program Files (x86)\。

2.zip压缩包:

​ 这种windows安装包不是源代码,官方将已经编译好了的可执行程序文件+配置文件打包成一个zip格式的文件,我们在安装时可以放到我们自己喜欢的目录。

​ 因为exe可执行安装包的安装方式比较简单,直接根据提示一路的“下一步”就完成了,今天给大家演示zip压缩包的安装方式。

二、安装步骤

(一)解压安装包到安装目录

(二)创建一个配置文件

(三)选择MySQL服务器类型

(四)初始化数据目录

(五)第一次启动MySQL服务器

(六)通过命令行启动和关闭MySQL服务

(七)将MySQL自带工具添加到环境变量中【可选】

(八)将MySQL注册为为Windows的服务【可选】

(九)测试你安装MySQL服务【可选】

(十)更改数据库账号验证方式与密码加密方式【可选】

三、安装过程

安装之前,我们先下载安装包,如图所示:
在这里插入图片描述

下载链接:https://dev.mysql.com/downloads/mysql/

(一)解压安装包到安装目录

1.因为我们是全新安装,所以不考虑其他情况,根据官方文档,我们可以直接把解压之后的内容放在C:\mysql,当然,你可以选择其他合理的目录(注意:避免中文目录);

2.有的解压工具解压之后会有两层目录,直接把里面那层提取出来重命名即可;

(二)创建一个配置文件

1.如果你想在运行MySQL数据库服务的时候指定一些参数,那么你就可以在命令行中声明,或者使用一个配置文件来代替,MySQL服务在运行的时候会去读取配置文件的内容。当然了,我们使用配置文件的方式指定运行时的一些参数是最方便的。

2.当MySQL在Windows中启动时,它会从多个地方查找配置文件,比如C:\还有MySQL的安装目录。MySQL会寻找名为my.ini的文本配置文件,所以,为了避免冲突,最好只使用一个配置文件。

3.如果我们的安装目录在C:\mysql,数据的保存保存目录在C:\mysql\data,那么我们可以在mysql安装目录创建一个my.ini文件,并使用一个文本编辑工具如Notepad++定义我们的参数,我们需要创建一个[mysqld]节点,并写入如下内容:

[mysqld]
# 指定mysql的安装目录
basedir=C:/mysql
# 指定数据保存的目录
datadir=C:/mysql/data

反斜杠(/)是Unix风格的目录分割符号,MySQL会自定识别并解析,你可以使用Windows的文件路径分割符号–斜杠(\),但是一定要使用双斜杠,别问为什么,官方就这样说的:

[mysqld]
# 指定mysql的安装目录
basedir=C:\\mysql
# 指定数据保存的目录
datadir=C:\\mysql\\data

(三)选择服务器类型

下表是MySQL 8.0系列中Windows的可用服务器:

二进制文件名 m描述
mysqld 支持命名管道的经过优化的二进制文件
mysqld-debug 和mysqld一样,但是使用完全debug和内存自动检查方式来编译

我们这一步暂时不需要做什么,需要了解一下就行了

(四)初始化数据目录

  1. 说明:
    使用exe可执行文件安装时,数据目录初始化是自动的。但是我们使用zip压缩包来安装MySQL是没有默认的数据库保存目录的,我们需要手动初始化一下数据库保存目录。

  2. 数据目录初始化过程:
    我们需打开windows自带的命令行工具,并且进入MySQL的安装目录,执行以下命令

bin\mysqld --defaults-file=C:\mysql\my.ini --initialize --console

参数说明:
–defaults-file:参数指定我们配置文件所在的位置,我们在上面(二)中把配置文件my.ini放在在安装目录中,所以这里的参数值是 C:\my.ini。
–initialize:参数为初始化的指定参数,初始化过程会root用户生成可用于本地登录的随机密码,你需要记住;实际是我们还可以使用–initialize-insecure参数进行目录初始化,不过这个参数不会生成随机密码。
–console:这个参数就不用详细说了,反正官方这样指定的。

(五)第一次启动MySQL服务器

注意:必须先完成初始化才能启动MySQL

  1. 启动MySQL服务器
    通过msqld命令启动服务

    C:\> "C:\mysql\bin\mysqld" --console
    
  2. 使用root账号登录
    通过使用–initialize或 -initialize-insecure初始化之后,可以正常启动服务器,我们需要给'root'@'localhost'帐户分配新密码,如果你修改密码,新版本的MySQL是不能正常使用的:

    如果使用–initialize初始化数据库,使用以下命令,这时候我们输入随机生成的密码:

    bin\mysql -u root -p 
    

    如果使用 -initialize-insecure初始化数据库目录,我们在root没有密码的情况下登录

    mysql -u root --skip-password
    
  3. 连接数据库之后,使用以下命令修改密码

    ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
    

(六)通过命令行启动和关闭MySQL服务

  1. 我们可以从控制台窗口启动服务,如下:
    C:\> "C:\mysql\bin\mysqld"
    
  2. 我们可以从控制台窗口关闭服务,如下,输入密码后服务就被关闭:
    C:\> "C:\mysql\bin\mysqladmin" -u root shutdown -p
    
    如果root账号没有密码,不需要加-p参数

(七)将MySQL自带工具添加到环境变量中【可选】

  1. 这部分是可选的,将MySQL自带工具添加到PATH环境变量中我们会更方便从命令行窗口调用。操作如下:

  2. 在桌面右键单击“ 我的电脑”图标,然后选择“ 属性”->“系统属性”->“高级”->“环境变量”->“系统变量”,编辑 “PATH” 变量,添加mysql安装目录下的bin目录绝对路径即可。

(八)将MySQL注册为为Windows的服务【可选】

​ 这部分是可选的,我们可以将MySQL注册为windows服务,方便我们以图形化方式进行启动管理。也可以随时移除,但是在操作前,一定要停止MySQL服务。同时,执行下面操作需要Windows管理员权限,所以我们需要使用管理员身份打开命令行。

  1. 注册服务:
    C:\> "C:\mysql\bin\mysqld" --install mysql --defaults-file="C:\mysql\my.ini" 
    
  2. 移除服务:
    C:\> SC DELETE mysql
    C:\> "C:\mysql\bin\mysqld" --remove
    

(九)测试服务器【可选】

​ 这部分是可选的,你可以通过执行以下任何命令来测试MySQL服务器是否正常工作:

C:\> "C:\mysql\bin\mysqlshow"
C:\> "C:\mysql\bin\mysqlshow" -u root mysql
C:\> "C:\mysql\bin\mysqladmin" version status proc
C:\> "C:\mysql\bin\mysql" test

(十)更改数据库账号验证方式与密码加密方式【可选】

  1. 这部分是可选的,在MySQL 8.0系列中,默认的身份验证插件已将 mysql_native_password更改为 caching_sha2_password,并且在 ‘root’@'localhost’管理帐户中默认使用caching_sha2_password验证方式。

  2. 以现在的情况来说,默认情况下很多开源程序如wordpress、typecho是不可以直接连接的,所以使用MySQL8.0数据库,你可以更改默认验证方式,你还可以新建一个专门用于你项目开发的一个数据库账号,并使用mysql_native_password验证方式。

    以下方法可更改root用户的验证方式。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';

​ 经过我的测试,默认情况下MySQL 8.0使用第三方工具默认也是不能连接的,如果有需要,你需要更改一下密码的加密方式:

ALTER USER 'root'@'localhost' IDENTIFIED BY '密码' PASSWORD EXPIRE NEVER;

请尊重作者的知识产权,禁止转载
参考:https://dev.mysql.com/doc/refman/8.0/en/windows-install-archive.html

发布了42 篇原创文章 · 获赞 61 · 访问量 5万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 创作都市 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览