如何在Windows安装和使用MySQL 8.0数据库:
一、简介之前,给大家分享了《如何在Linux服务器上安装MySQL 8.0数据库》,教程链接:https://www.bilibili.com/video/av48488984,今天给大家分享以下如何在windows上安装和使用MySQL 8.0数据库,MySQL官方给我们提供两种安装包:
工具:
- Windows 10
- 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和内存自动检查方式来编译 |
我们这一步暂时不需要做什么,需要了解一下就行了
(四)初始化数据目录
- 说明:
使用exe可执行文件安装时,数据目录初始化是自动的。但是我们使用zip压缩包来安装MySQL是没有默认的数据库保存目录的,我们需要手动初始化一下数据库保存目录。 - 数据目录初始化过程:
我们需打开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
- 启动MySQL服务器
通过msqld命令启动服务C:\> "C:\mysql\bin\mysqld" --console
- 使用root账号登录
通过使用–initialize或 -initialize-insecure初始化之后,可以正常启动服务器,我们需要给'root'@'localhost'
帐户分配新密码,如果你修改密码,新版本的MySQL是不能正常使用的:
如果使用–initialize初始化数据库,使用以下命令,这时候我们输入随机生成的密码:bin\mysql -u root -p
如果使用 -initialize-insecure初始化数据库目录,我们在root没有密码的情况下登录mysql -u root --skip-password
- 连接数据库之后,使用以下命令修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
(六)通过命令行启动和关闭MySQL服务
- 我们可以从控制台窗口启动服务,如下:
C:\> "C:\mysql\bin\mysqld"
- 我们可以从控制台窗口关闭服务,如下,输入密码后服务就被关闭:
C:\> "C:\mysql\bin\mysqladmin" -u root shutdown -p
如果root账号没有密码,不需要加-p参数
(七)将MySQL自带工具添加到环境变量中【可选】
- 这部分是可选的,将MySQL自带工具添加到PATH环境变量中我们会更方便从命令行窗口调用。操作如下:
- 在桌面右键单击“ 我的电脑”图标,然后选择“ 属性”->“系统属性”->“高级”->“环境变量”->“系统变量”,编辑 “PATH” 变量,添加mysql安装目录下的bin目录绝对路径即可。
(八)将MySQL注册为为Windows的服务【可选】
这部分是可选的,我们可以将MySQL注册为windows服务,方便我们以图形化方式进行启动管理。也可以随时移除,但是在操作前,一定要停止MySQL服务。同时,执行下面操作需要Windows管理员权限,所以我们需要使用管理员身份打开命令行。
- 注册服务:
C:\> "C:\mysql\bin\mysqld" --install mysql --defaults-file="C:\mysql\my.ini"
- 移除服务:
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
(十)更改数据库账号验证方式与密码加密方式【可选】
- 这部分是可选的,在MySQL 8.0系列中,默认的身份验证插件已将 mysql_native_password更改为 caching_sha2_password,并且在 ‘root’@'localhost’管理帐户中默认使用caching_sha2_password验证方式。
- 以现在的情况来说,默认情况下很多开源程序如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;