安装
下载相应mysql安装包:
MySQL :: Download MySQL Installer
选择不登陆下载
双击运行下载好的mysql-installer-community-*.*.*.msi
进入类型选择页面,本人需要mysql云服务就选择了server only
- server only(服务器):只安装mysql服务器产品
- client only(客户端):只安装没有服务器的mysql客户端产品
- full(完全):安装所有包含的mysql产品和功能
- custom(手动):手动选择系统上应安装的产品
如果next无法点击,是因为mysql 会检查你是否缺少其他安装包,点击excute会下载你缺少的其他依赖包
点击安装
此时next可以点击
进入【Installation】界面后,状态【Status】下显示【Ready to install】后,点击【Execute】。
在MySQL的状态显示为:Complete 后,点击【Next】。
进入【Product Configuration】界面,状态为【Ready to configure】后,点击【Next】。
设置服务器配置类型以及连接端口:继续next
Config Type:选择Development Machine,用于小型以及学习所用足够了。
Port number:输入3306即可,也可以输入其他最好是3306-3309之间。
Authentication Method,选择默认选项,点击【Next】。
设置MySQL超级管理员用户root密码。并点击【Next】
Windows Service,使用默认服务名MySQL80(建议不要更改,避免以后使用找不到MySQL服务),点击【Next】
Apply Configuartion,点击【Execute】,应用所有配置选项。
当Configuration Steps下列的选项都出现绿色 √时,说明所有配置已经完成配置,点击【Finish】。安装完成。
配置 MySQL 环境变量
开始——>控制面板——>系统和安全——>系统——>高级系统设置——>环境变量——>系统变量——>Path(双击)——>新建——>输入MySQL的安装目录(C:\Program Files\MySQL\MySQL Server 8.0\bin)——>确定
接下来均点击【确认】
打开cmd终端,输入mysql -u root -p,回车后,输入密码,进入MySQL数据库命令行界面,输入命令【show databases;】检查数据库是否正常。
远程连接 MySQL 服务器
想要连接部署在Windows Server 2019服务器上的MySQL服务,需要开放两个权限。
(1)Windows Server 2019服务器的防火墙权限。
(2)MySQL服务的用户权限。
防火墙权限
在这里MySQL安装后,我们可以看到MySQL8.0版本自动设置了防火墙规则。
开始——>控制面板——>系统和安全——>Windows Defender防火墙——>高级设置——>入站规则
Configuration Steps——>Updating Windows Firewall rules
配置 MySQL 服务的用户权限
当Windows 防火墙入站规则配置好后,还需要在MySQL内部配置用户权限才能进行远程连接控制。
(1)打开windows命令行终端cmd,登录MySQL,回车后输入密码。
mysql -u root -p
Enter password: ********
(2)选择要操作的数据库
use mysql;
(3) 查看mysql 数据库的 user 表中当前 root 用户的相关信息(host和plugin)
select host,user,plugin from user;
从中可以看出,root用户的host显示localhost(默认),说明只支持本地访问,不允许远程访问
(4)更改root用户的host默认配置
update user set host='%' where user='root';
(5)修改密码,并使之永不过期
ALTER USER 'root'@'%' PASSWORD EXPIRE NEVER;
(6)修改密码,并指定加密规则为“mysql_native_password”,远程访问时的加密使用密码
mysql_native_password
使用SHA1哈希算法对密码进行加密。具体来说,它会对密码进行两次SHA1加密,第一次加密发生在客户端,第二次则在服务器端。虽然SHA1相对于更现代的加密方法(如bcrypt或SHA-256)来说安全性较低,但mysql_native_password
仍然被认为是相对安全的,特别是在密码足够复杂的情况下。
ALTER USER 'root'@'%' IDENTIFIED WITH 'mysql_native_password' BY '密码';
(7)刷新权限
FLUSH PRIVILEGES;
(8)重新查看mysql 数据库的 user 表中当前 root 用户的相关信息(host和plugin)
发现,root的host信息为%,代表任何主机都能远程访问,plugin为“mysql_native_password”,表示远程访问时的加密使用密码。
select user,host,plugin from user;
测试远程连接
------------------------------------------与正文内容无关------------------------------------
如果觉的文章写对各位读者老爷们有帮助的话,麻烦点赞加关注呗!小弟在这拜谢了!
如果您觉得我的文章在某些地方写的不尽人意或者写的不对,从而让你对你人生观产生颠覆(概不负责),需要斧正,麻烦在评论区不吝赐教,作者看到后会根据您的提示查阅文章进行修改,还这世间一个公理一片蓝天