windows下MySQL免安装版配置教程mysql-8.0.12-winx64.zip版本

windows下MySQL免安装版配置教程mysql-8.0.12-winx64.zip版本

第一步:从mysql官网下载此版本的mysql文件

我是下载页面
点击Download下载
这里写图片描述
在这里我们选直接下载
这里写图片描述

第二步,解压文件

这里,我把文件解压到了D:\dev目录下,并稍微修改了下名字,把-x64去掉了,只保留到版本号。
这里写图片描述

第三步,分析文件结构

mysql8.0版本的文件结构和5.7是一样的,没有提供初始化好的data文件夹,和没有提供默认的my.ini文件,这些都需要我们自己搞定了。
这里写图片描述

第四步,配置

在mysql根目录新建data文件夹

创建my.ini文件

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]
#skip-grant-tables
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
  innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
# mysql根目录
  basedir = D:/dev/mysql-8.0.12
# 数据文件存放目录
  datadir = D:/dev/mysql-8.0.12/data
# 端口,默认3306  
  port = 3386
# 服务实例的唯一标识
# server_id = MySQL

# 允许最大连接数
  max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
  max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
  character_set_server=utf8mb4
# 创建新表时将使用的默认存储引擎
  default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
  default_authentication_plugin=mysql_native_password

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
  join_buffer_size = 128M
  sort_buffer_size = 2M
  read_rnd_buffer_size = 2M 

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4

[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3386   
default-character-set=utf8mb4

配置好后文件结构如下:
这里写图片描述

初始化mysql

遇到问题

初始化的时候,我遇到了麻烦,提示我找不到data目录,可是data目录我已经创建了。通过mysql官方文档才发现是basedir和datadir配置路径写法有问题
这里写图片描述

一直以来我都是copy windows系统上显示的路径,在前几个版本mysql初始化过程中没有出现过找不到data目录的情况。
basedir = D:\dev\mysql-8.0.12
datadir = D:\dev\mysql-8.0.12\data
现在目录要这样写
basedir = D:/dev/mysql-8.0.12
datadir = D:/dev/mysql-8.0.12/data
或者
basedir = D:\\dev\\mysql-8.0.12
datadir = D:\\dev\\mysql-8.0.12\\data
所以大家在操作过程中,遇到问题,还是要多看看官方文档。
MySQL官方文档

继续初始化MySQL

管理员运行cmd,并切换到mysql的bin目录

mysqld –initialize

这里写图片描述
如果初始化成功,data目录下会生成很多文件
这里写图片描述

注册windows服务

mysqld –install MySQL58 #注册服务,MySQL58是服务名,根据自己的实际情况命名即可
mysqld –remove MySQL58 #移除服务
net start MySQL58 #启动服务,也可以通过服务管理界面进行操作
net stop MySQL58 #停止服务,也可以通过服务管理界面进行操作

这里写图片描述

也可以通过services.msc对服务进行操作
services.msc

登陆MySQL

因为我们不是使用的默认端口号,所以要使用-P指定端口号
临时密码在data目录下,以.err结尾的文件中。
mysql -uroot -P3386 -p

在这里找到密码,备用
这里写图片描述
登录成功
这里写图片描述

修改默认密码

ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘1234’;
FLUSH PRIVILEGES;
这样操作之后,就可以用新密码进行登录了
这里写图片描述

特别提醒

1

mysql8.0密码采用了新的加密方式caching_sha2_password,这种加密方式在使用cmd的登录是没有问题的,但是现在大多数客户端还没有更新,比如我用的navicat就连接不上(也可能我的版本太低)。
所以在配置文件中加了一条配置,即:

默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password

2

如果您在初始化数据库的时候忘记了加上述配置,导致客户端无法连接数据库
可以在修改密码的时候显示指定加密插件。

ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘1234’;

猜你喜欢

转载自blog.csdn.net/weixin_42831477/article/details/81589325