在win10上使用msi安装时候不能选择安装目录,只能默认C盘;强迫症犯了,研究zip版安装过程,成功的安装到了D盘,并记录了下安装过程,供大家参考。
准备工作
mysql-8.0.16-winx64.zip的下载
下载地址: https://dev.mysql.com/downloads/mysql/
选择要下载的ZIP包
点击下载
开始安装
解压zip包到安装目录
比如我的安装目录是:D:\ProgramFiles\mysql-8.0.16-winx64
开始配置环境变量
添加环境变量 MySQL_HOME=D:\ProgramFiles\mysql-8.0.16-winx64
path如图最后一行
开始配置文件
在安装根目录下添加 my.ini,比如我这里是:D:\ProgramFiles\mysql-8.0.16-winx64\my.ini,写入基本配置
[mysqld]
# 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.
basedir = D:\ProgramFiles\mysql-8.0.16-winx64
datadir = D:\ProgramFiles\mysql-8.0.16-winx64\data
port = 3306
# server_id = .....
# 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
character-set-server = utf8
performance_schema_max_table_instances = 600
table_definition_cache = 400
table_open_cache = 256
[mysql]
default-character-set = utf8
[client]
default-character-set = utf8
注:里面的 basedir 是我本地的安装目录,datadir 是我数据库数据文件要存放的位置,各项配置需要根据自己的环境进行配置
初始化数据库
win+R 键 打开cmd命令框 执行下面命令:
mysqld --initialize --console
执行后结果如下:
生成的初始化密码在没有更改密码前,需要记住这个密码,后续登录需要用到。要是没记住,那也没事,删掉初始化的 datadir 目录,再执行一遍初始化命令,又会重新生成的。
安装服务
在cmd命令框里面输入:
mysqld --install
安装完成之后,就可以通过下面命令启动MySQL的服务了
net start mysql
登陆并修改初始密码
在cmd中输入:
mysql -uroot -p
这时候会提示输入密码,记住了上面生成的初始化密码,填入即可登录成功,进入MySQL命令模式
在MySQL中执行命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
修改密码验证插件,同时修改密码,
这里面要主要下就可以更改密码从MySQL8.0.4开始,MySQL的密码认证插件是 mysql_native_password,而现在使用的是caching_sha2_password,而当前有很多数据库工具和链接包都不支持caching_sha2_password,为了方便,暂时还是改回了mysql_native_password认证插件。