win10安装mysql 8.0.11 zip包

准备

mysql 下载地址: 点击下载. 教程使用的版本为: mysql-8.0.11-winx64

安装环境: win10

一. 安装

1. 解压zip 包. 安装目录为C:\develop\mysql8

2. 在该目录下 新建my.ini 文件. 文件内容添加:

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=C:\develop\mysql8
# 设置mysql数据库的数据的存放目录
datadir=C:\develop\mysql8\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
# 修改sql_mode 避免使用select * 查询时必须使查询列在group by 中显示.
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'


[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

上面的basedir 设置mysql 安装路径. datadir 指定数据存放地址. 可以在安装路径下创建data 文件夹. 如上所示. 或者在任意创建文件夹并指定对应datadir.

3.  通过"以管理员身份运行" cmd 命令窗口. cd 进入mysql 安装文件夹下的bin 目录.执行命令

mysqld --initialize --console

--initialize: 用于执行安装

--console: 用于在cmd 中显示执行过程.

执行后显示:

c:\mydeveloper\mysql8\bin>mysqld --initialize --console
2018-05-11T01:32:11.612666Z 0 [System] [MY-013169] [Server] c:\mydeveloper\mysql8\bin\mysqld.exe (mysqld 8.0.11) initializing of server in progress as process 45842018-05-11T01:32:17.389793Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: MiH9)w3-2nkO
2018-05-11T01:32:19.204325Z 0 [System] [MY-013170] [Server] c:\mydeveloper\mysql8\bin\mysqld.exe (mysqld 8.0.11) initializing of server has completed
命令中显示: 
A temporary password is generated for root@localhost: MiH9)w3-2nkO

最后的MiH9)w3-2nkO 是mysql 自动生成的密码. 保存下来等下登录使用

4. 安装服务: 在相同的目录下输入

mysqld --install [服务器名称]

完成安装. 服务器名称不指定时默认为mysql. 

二. 登录, 更改密码

1. 登录

在cmd 中输入

net start [服务器名称]

这里默认为mysql.

cmd 输入

mysql -uroot -p

cmd显示

c:\mydeveloper\mysql8\bin>mysql -uroot -p
Enter password:

将刚才保存的密码粘贴到这里.  鼠标右键默认粘贴.

2. 修改密码:

mysql 登录后输入

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

通过制定password 修改密码.

三. my.ini 命令解析

1. 文件中[mysqld] 和[mysql] 是必须的. 用于制定参数对应的命令. 不能删除

2. 从MySQL8.0.4开始,MySQL的密码认证插件是从“mysql_native_password”,改为“caching_sha2_password”。因为新的密码认证方式在很多客户端可能不支持. 所以在ini 文件中指定为 "mysql_native_password".

3. 使用

select @@GLOBAL.sql_mode;
select @@SESSION.sql_mode;

命令查询会发现sql_mode 都指定了ONLY_FULL_GROUP_BY. 该模式下select 的查询列都必须出现在group by 子句中. 如果没有group by. 会报错. 所以在配置文件中指定模式中去掉ONLY_FULL_GROUP_BY. 在新版本中可能会有其他模式存在. 则sql_mode 中值使用命令

SET SESSION sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
select @@GLOBAL.sql_mode.
获取对应的sql_mode. 填写在my.ini 文件中.




猜你喜欢

转载自blog.csdn.net/eatGood_wearWell/article/details/80276648