windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

Windows(虚拟机Windows Server 2012R2 64位)下通过MSI Installer的方式安装mysql 8.0并开启远程访问,中间踩了不少坑,记录一下。

一、准备安装包。

https://dev.mysql.com/downloads/windows/installer/8.0.html

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

 

二、安装

1、双击 mysql-installer-community-8.0.19.0.msi 进入安装界面。

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

 

 注意:需要.net framework 4.5.2支持,没安装的先安装.net framework。

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

 

 2.根据你自己的需求选择安装类型,我这里选择Custom,点击Next。

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

 

 3.选择MySQL Server 8.0.19 - X64和MySQL Workbench 8.0.19 - X64,点击右箭头放到待安装列表,点击Next。

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

 

 4.点击Execute进行安装。

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

 

 5.安装过程如下,等到Status都为Complete的时候,点击Next。

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

 

 6.准备进入配置界面,点击Next。

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

 

 7.选择Standalone MySQL Server/Classic MySQL Replication,点击Next。

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

 

 8.配置名称和端口,我这里选择默认的,然后点击Next。

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

 

 9.选择认证方式,这里选择第二个,具体看过之前有人说选第一个有什么bug来着,我没仔细研究,反正这个不影响个人使用,点击Next。

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

 

 10.设置root的密码,点击Add User添加一个用户,用于后面远程访问。

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

 

 windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

 

 11.默认,点击Next。

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

 

 12.执行配置,点击Execute。

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

 

 13.全部完成后点击Finish。

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

 

 14.点击Next。

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

 

15.点击Finish完成所有安装配置,(根据自己决定Start MySQL Workbench after Setup是否勾选,我没有勾选打开工作台)。

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

 

三、设置环境变量。

MySQL安装默认安装在 C:\Program Files\MySQL路径下。

1.新建系统变量:MYSQL_HOME:C:\Program Files\MySQL\MySQL Server 8.0

Path中添加:%MYSQL_HOME%\bin

2.验证环境变量配置是否成功

cmd中执行输入mysql -uroot -p回车,然后输入前面root账号的密码,如下图即设置成功。

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

注意,有的人会出现输入mysql -uroot -p回车会出现

 四、设置远程访问。

1.查看一下mysql用户:

use mysql;--切换到mysql数据库
select user,host,plugin from user; --查询用户

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

 

其中这个apps用户是我们之前安装的时候建立的,这个host为%即可用于任意ip访问。

(或者也可以用命令新建一个用户用于远程访问:

CREATE USER new_user@% IDENTIFIED BY passwd;

这里host 是 % 代表可以任意ip访问  plugin一定是 mysql_native_password 不然客户端连接不了。)

2.给该用户赋权

GRANT ALL ON *.* TO apps@%; --给用户赋权限 操作数据库的权限,这里我赋的是全部的权限

3.刷新权限

flush privileges;

4.本地navicate连接测试,成功。

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

 

 

遇到的问题:

一、有时候执行mysql -uroot -p的时候提示如下:

ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)

两种方法:

1.修改my.ini配置文件。

windows中安装mysql 8.0,配置文件会放在C:\ProgramData\MySQL\MySQL Server 8.0下面,这个C:\ProgramData是个隐藏文件夹,需要设置查看隐藏文件开启才可以看到。

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

在[mysqld]下面任意一行加入:skip-grant-tables,保存然后重启Mysql服务(这种方式登录改完密码之后,把配置文件里面的这行代码去掉)。但是有的电脑修改以后没法重启mysql服务,这种情况见下面方法2。

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

 

 2.执行下面的代码,然后重新用root登陆。

mysqld --shared-memory --skip-grant-tables

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

 

二、修改密码的时候报以下错误:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements。

这是由于密码不符合密码复杂性要求,但是有时候我们自己学习不想把密码设置那么复杂,比如设置个1234,该怎么办呢?我们可以用以下方法修改密码复杂性要求。

1.查看插件:

show variables like plugin_dir%;

C:\Program Files\MySQL\MySQL Server 8.0\lib\plugin\

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

打开插件目录可以看到密码校验插件

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

 

 2.安装插件

在my.ini文件中添加如下几句:

#插件目录

plugin_dir="C:\Program Files\MySQL\MySQL Server 8.0\lib\plugin"

#密码策略

plugin-load=validate_password.dll

#永久使用该插件

validate-password=FORCE_PLUS_PERMANENT

validate-password有几种形式:

  ON:使用该插件

  OFF:关闭该插件

  FORCE:强行使用该插件

  FORCE_PLUS_PERMANENT:永久使用该插件

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

运行代码安装插件:

INSTALL PLUGIN validate_password SONAME validate_password.dll;

查看密码策略:

show global variables like %validate_password%;

set global validate_password.policy=LOW; --设置密码等级为low

set global validate_password_length=4; --设置密码长度可大于等于4

再进行修改密码就可以了。

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

 

windows下通过MSI Installer的方式安装mysql 8.0并开启远程访问

上一篇:Windbg常用命令系列---显示线程时间(.ttime)


下一篇:【赵强老师】利用数据库触发实现复杂的安全性检查