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对服务进行操作
登陆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’;
推荐阅读
-
Windows10下mysql 8.0.16 安装配置方法图文教程
-
windows下mysql 8.0.16 安装配置方法图文教程
-
MySql 5.7.21免安装版本win10下的配置方法
-
Windows server 2008 r2下MySQL5.7.17 winx64安装版配置方法图文教程
-
mysql5.7.20免安装版配置方法图文教程
-
mysql 5.7.20\5.7.21 免安装版安装配置教程
-
Windows下mysql-5.7.28下载、安装、配置教程图文详解
-
Windows下mysql5.7.18安装配置教程
-
win10下mysql 8.0.18 安装配置方法图文教程(windows版)
-
MySQL5.7免安装版配置图文教程