1.解压文件
2.配置环境变量
这里就不说去那设置,相必学到数据库之前学的java之类的语言的时候肯定也是配置过环境变量的。
Path:对应目录下的bin文件夹
3.写入基本配置
在mysql安装目录中:新建一个.txt,加入以下内容之后,再将文件改为my.ini 注意更改加粗部分的路径。
[mysql]
设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
设置3306端口
port = 3306
设置mysql的安装目录
basedir= C:\develop\mysql-8.0.27-winx64
设置mysql数据库的数据的存放目录
datadir= C:\develop\mysql-8.0.27-winx64\data
允许最大连接数
max_connections=20
服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
4.初始化数据库
在MySQL安装目录的 bin 目录下执行命令:
mysqld --initialize --console
执行完成后,会打印 root 用户的初始默认密码,比如:
注意!执行输出结果里面有一段: [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rI5rvf5x5G,E 其中root@localhost:后面的“rI5rvf5x5G,E”就是初始密码(不含首位空格)。在没有更改密码前,需要记住这个密码,后续登录需要用到。
要是你手贱,关快了,或者没记住,那也没事,删掉初始化的 datadir 目录,再执行一遍初始化命令,又会重新生成的。当然,也可以使用安全工具,强制改密码,用什么方法,自己随意。
注意: 第四步可能会失败报错
C:\mysql-8.0.17-winx64\bin>mysqld --initialize --console
2019-08-24T13:33:22.622321Z 0 [System] [MY-013169] [Server] C:\mysql-8.0.17-winx64\bin\mysqld.exe (mysqld 8.0.17) initializing of server in progress as process 8404
2019-08-24T13:33:22.624188Z 0 [Warning] [MY-013243] [Server] --character-set-server: The character set UTF8MB3 is deprecated and will be removed in a future release. Please consider using UTF8MB4 instead.
2019-08-24T13:33:22.625619Z 0 [ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.
2019-08-24T13:33:22.625635Z 0 [ERROR] [MY-013236] [Server] The designated data directory C:\mysql-8.0.17-winx64\data\ is unusable. You can remove all files that the server added to it.
2019-08-24T13:33:22.643590Z 0 [ERROR] [MY-010119] [Server] Aborting
2019-08-24T13:33:22.643744Z 0 [System] [MY-010910] [Server] C:\mysql-8.0.17-winx64\bin\mysqld.exe: Shutdown complete (mysqld 8.0.17) MySQL Community Server - GPL.
将红框圈起来的数据目录注释掉,然后重启cmd,重新初始化就行,当然吧开始新建的Data目录也删除掉
5.安装服务
以管理员身份打开cmd到MySQL安装目录的 bin 目录下执行命令
mysqld --install [服务名] ## mysqld --install mysql8
6.重置密码
接下来登录mysql,并修改密码 mysql -uroot -p随机密码
修改密码
alter user ‘root’@‘localhost’ identified by ‘123456’;