# mysql 8.x 压缩包zip安装(windows 详细版) ## 01.为什么要安装新版本? mysql8.x版本和msyql5.x版本zip安装的方式大同小异,但是在mysql8.0版本不用手动创建data数据目录,初始化的时候会自动安装的。而且mysql8.0版本性能官方表示比mysql 5.7的快两倍! 1. 性能:MySQL 8.0 的速度要比 MySQL 5.7 快 2 倍。MySQL 8.0 在以下方面带来了更好的性能:读/写工作负载、IO 密集型工作负载、以及高竞争(”hot spot”热点竞争问题)工作负载。下面是官方给的性能测试:  * 高可用性(High Availability):InnoDB 集群为您的数据库提供集成的原生 HA 解决方案。 * 安全性:对 OpenSSL 的改进、新的默认身份验证、SQL 角色、密码强度、授权。 详细更新说明:[https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-11.html](https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-11.html) 安装说明: 操作系统:windows 10 专业版本(64位) msyql版本:mysql-8.0.27-winx64.zip ## 02.官网下载mysql 在官网的社区里面下载压缩文件,下载的时候可能需要注册一个免费的账号。 如果想要下载其他版本把链接后面的MySQL-8.0/去掉,查找其他版本的 下载链接: - https://downloads.mysql.com/archives/get/p/23/file/mysql-8.4.0-winx64.zip - 23fa293db80b5d49f9e97d34c2037a82 - https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-winx64.zip - 5.7.44旧版-x64 - https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-win32.zip - 5.7.44旧版-x32 - https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.27-winx64.zip - 文中版本  解压 得到一个zip压缩文件  解压到自己定义的目录,我这里放在:`G:\Program Files\mysql-8.0.27-winx64`  配置环境变量 目的:为了不用进入bin目录怎么麻烦来识别我们的mysql命令,我们给当前的系统添加环境变量。 win+R 输入sysdm.cpl 回车  进入系统属性,找到环境变量(N)  我这里多配置了一个`MYSQL_HOME`,后面加入\\bin的,你也可以直接将bin目录直接复制到里面的path变量里面。 如:`G:\Program Files\mysql-8.0.27-winx64\bin`  ## 03.安装配置 用管理员命令打开cmd,必须用管理员身份打开哦,因为后面需要管理员权限来初始化。  **初始化mysql** 命令:`mysqld --initialize-insecure` 作用:初始化数据库,并设置默认root密码为空  data目录下面初始化的文件和文件夹  在自己安装的目录`G:\Program Files\mysql-8.0.27-winx64` 新建一个mysql.ini配置文件 ```bash [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=G:\\Program Files\\mysql-8.0.27-winx64 # 切记此处一定要用双斜杠\\,单斜杠这里会出错。 # 设置mysql数据库的数据的存放目录 datadir=G:\\Program Files\\mysql-8.0.27-winx64\\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 [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8 ``` 为windows 系统安装mysql服务 命令:`mysqld install` 作业:为Windows系统安装MySQL服务,默认服务名为:MySQL 出现`service successfully installed`,表示成功!  注意:在windows操作系统下安装mysql时,在cmd窗口中输入mysqld install时报错,如果出现:`Install/Remove of the Service Denied!` 用管理员身份打开  ## 04.查看 MySQL服务 在计算管理》服务和应用程序哪里查看MySQL服务,如果想删除MySQL服务,可以使用命令“mysqld remove” 但是在删除MySQL服务之前需要确保已经停止MySQL服务。  1.默认的是停止状态,我们需要手动启动它,点击启动就行  2.命令:`net start MySQL` 作用:启动MySQL服务,注意此时的“mysql”表示服务名  ## 05.验证是否安装成功 命令:`mysql -u root -p` ```bash -u :uers用户名 root -p :password 密码 ```  ## 06.修改root密码 MySql 从8.0开始修改密码有了变化,在user表加了字段authentication_string,修改密码前先检查authentication_string是否为空, 1.如果不为空 mysql> `use mysql;`- - 切换数据库 mysql>`update user set authentication_string=' ' where user='root';`- -将字段置为空 mysql>`alter user 'root'@'localhost' identified by 'root';`- -修改密码为root  2.如果为空,直接修改 命令:`alter user 'root'@'localhost' identified by 'root';`–修改密码为root  如果出现如下错误: ```bash mysql> GRANT ALL PRIVILEGES ON *.* TO IDENTIFIED BY '123' WITH GRANT OPTION; ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement ``` flush privileges命令本质上的作用:是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。 需要执行命令:`flush privileges;` 然后再执行:`alter user 'root'@'localhost' identified by 'root';` ## 07.如果有navicat工具可以在测试一下   可以看到在mysql数据库里面有一张user表,其实我们在navicat里面也可以修改root用户的。  ## 快照 - https://pic.rmb.bdstatic.com/bjh/240920/7d1f37c6957f4a6503ff6a9cf1b3f7c14293.jpeg - https://i3.wp.com/pic.rmb.bdstatic.com/bjh/240920/7d1f37c6957f4a6503ff6a9cf1b3f7c14293.jpeg