> 准备:
下载 Windows 安装包, mysql-***-winx64.zip
> 安装:
1. 解压zip包到安装目录
2. 配置文件
在Windows系统中,配置文件默认是安装目录下的 my.ini 文件,部分配置需要在初始安装时配置,大部分也可以在安装完成后进行更改。当然,极端情况下,所有的都是可以更改的。
在安装根目录下添加 my.ini,写入基本配置:
[Client]
port = 3306
[mysqld]
port = 3306
# 安装目录
basedir="E:/sofware/database/MySQL/5_7/mysql-5.7.20-winx64/"
# 数据库数据文件存放的位置
datadir="E:/sofware/database/MySQL/5_7/Data/"
# 设置最大的连接数, 默认值是100, 通常最大可以达到16384
max_connections=10000
# 设置每用户最大的 连接数500
# max_user_connections=500
# 设置多少 秒 后将关闭空闲连接,但对正在工作的连接不受影响
wait_timeout=200
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#忘记密码时使用
#skip-grant-tables
#设置协议认证方式
default_authentication_plugin=mysql_native_password
[mysql]
default-character-set=utf8
3. 初始化数据库, 目的是为了把配置文件.ini中配置的安装目录和数据文件存放目录关联起来, 已关联过, 可直接执行 4.安装MySQL实例;
-> 在MySQL安装目录的 bin 目录下执行命令:
mysqld --initialize --console
-> 执行完成后,会打印 root 用户的初始默认密码,比如:
2018-04-20T02:35:01.507037Z 0 [Warning] [MY-010915] [Server] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.2018-04-20T02:35:01.507640Z 0 [System] [MY-013169] [Server] D:\Program\MySQL8\bin\mysqld.exe (mysqld 8.0.11) initializing of server in progress as process 110642018-04-20T02:35:01.508173Z 0 [ERROR] [MY-010340] [Server] Error message file 'D:\Program\MySQL\share\english\errmsg.sys' had only 1090 error messages, but it should contain at least 4512 error messages. Check that the above file is the right version for this program!2018-04-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ2018-04-20T02:35:07.017280Z 0 [System] [MY-013170] [Server] D:\Program\MySQL8\bin\mysqld.exe (mysqld 8.0.11) initializing of server has completed
其中,第4行的“APWCY5ws&hjQ”就是初始密码
要是你手贱,关快了, 删掉初始化的 datadir(.ini配置文件中数据文件存放目录) 目录,再执行一遍初始化命令,又会重新生成的。当然,也可以使用安全工具,强制改密码,用什么方法,自己随意。
4. 安装MySQL 实例
-> 在MySQL安装目录的 bin 目录下执行命令: (需要管理员身份, 否则会被拒绝)
mysqld --install [服务名] --defaults-file="D:\Program Files (x86)\MySQL\MySQL Server 8.0.11\my.ini"
后面的服务名可以不写,默认的名字为 mysql。当然,如果你的电脑上需要安装多个MySQL服务,就可以用不同的名字区分了,比如 mysql5 和 mysql8。
注意: 不执行此步, 本地是无MySQL实例的, 无法启动MySQL
5 .启动MySQL
执行 .\mysqld --console
Windows 就可以 使用net start mysql启动MySQL的服务了
6.修改初始密码
执行: .\mysqladmin -uroot -p password
Enter password: //这里输入上面的v:gNXSw5FTkw New password: //重新输入新密码 Confirm new password: //重新输入新密码
注意:
修改注册表:
在开始菜单输入regedit命令打开注册表,找到HKEY_LOCAL_MACHINE -> SYSTEM -> CurrentControlSet -> services -> mysql8,选中后将ImagePath参数值改成
“C:\Program Files\MySQL\mysql2\mysql-5.7.10-winx64\bin\mysqld” –defaults-file=”C:\Program Files\MySQL\mysql2\mysql-5.7.10-winx64\my.ini” mysql_2
将其中的路径改成你自己的安装路径即可。这一步很重要,我在安装时该参数值默认为第一个MySQL实例的路径,如果不做更改同样会出现多个MySQL实例实际上只运行一个的情况。
如果出现:
Your password has expired. To log in you must change it using a client that supports expired passwords
是因为临时密码过期
在BIN目录下执行: mysqladmin -uroot -p password
Enter password: //这里输入上面的v:gNXSw5FTkw New password: //重新输入新密码 Confirm new password: //重新输入新密码