之前一直使用的是MySQL5.7,但由于MySQL增加了一些新特性,所以选择了更新。

下载MySQL

进入MySQL官网下载地址,选择Windows (x86, 64-bit), ZIP Archive。

下载地址:https://dev.mysql.com/downloads/mysql/

可不用登录,直接跳过。下载过程也许有丢丢慢,耐心等待下。

下载完成后,直接解压到自己喜欢的位置即可。

卸载原有版本

如果之前有安装低版本的MySQL,需要先卸载之前的MySQL。如果没有安装过,可直接跳过该步骤。

管理员打开cmd,先 net stop mysql 停掉 mysql 服务,然后使用 mysqld remove MySQL 移除MySQL。

net stop mysql
mysqld remove MySQL

删除注册表信息,以免有时候无法正常安装新版本。以下有就删除,但我在操作时仅仅只有第一个存在。

HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Application/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services/Eventlog/Application/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Application/MySQL

修改原有MySQL_HOME的环境变量指向新版本位置。

安装MySQL

在MySQL的解压目录里,新建data文件夹,并创建my.ini配置文件。

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=E:\\tools\\MySQL\\mysql-8.0.18-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:\\tools\\MySQL\\mysql-8.0.18-winx64\\data
# 允许最大连接数
max_connections=3000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB [mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8 [client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
# 设置mysql客户端连接服务端时默认字符集
default-character-set=utf8

进入bin目录,执行mysqld --initialize --console,执行成功会输出临时密码。

mysqld --initialize --console

执行成功后会输出: A temporary password is generated for root@localhost: a4lcly4e8f-G
a4lcly4e8f-G就是临时密码

然后使用该密码就可以进行了,幸运的话,就可以正常进入MySQL。

登录报错

如果不幸地,在使用临时密码登录时报错,ERROR 1045 (28000):Access denied for user 'root'@'localhost' (using password: YES)。

遇到此问题,需要跳过密码校验。

先停掉MySQL服务:net stop mysql

在MySQL安装路径的bin目录,输入mysqld --console --skip-grant-tables --shared-memory,此时cmd窗口会被挂起,也就是看起来卡住一样,不用担心,这是正常现象。

然后再打开另一个窗口,同样是MySQL安装路径的bin目录,直接输入mysql,在执行use mysql。

使用flush privileges刷新权限,再alter user'root'@'localhost' IDENTIFIED BY '1234';更改密码。

保险起见,再次使用flush privileges刷新权限。

关闭窗口,使用刚刚的密码重新连接MySQL:mysql -u root -p,然后再输入密码。若显示服务未启动,需先启动MySQL服务,输入net start mysql。

# 关闭MySQL
net stop mysql # 跳过权限校验
mysqld --console --skip-grant-tables --shared-memory # 刷新权限
flush privileges # --skip-grant-tables模式下连接MySQL
mysql # 使用系统mysql库
use mysql # 更改密码
alter user 'root'@'localhost' IDENTIFIED BY '1234'; # 刷新权限
flush privileges # 连接MySQL,-u、-p后空格可省略,-p后可不输入密码,再回车后再键入密码,这样更安全
mysql -u root -p 1234 # 退出MySQL
\q
exit
quit

MySQL系列:Windows 下 MySQL 8.X 的安装的更多相关文章

  1. mysql 在windows下,使用 net start mysql 命令发生错误 服务名无效 或 1067

    mysql 在windows下,使用 net start mysql 命令发生错误 :服务名无效 或 1067  先使用mysqld -install安装一下 删除data目录下的日志等文件(因为之前 ...

  2. [转]mysql在windows下支持表名大小写,lower_case_table_names

    windows下mysql默认是不支表名大小写的,也就是表名大小写不敏感.用phpmyadmin创建的驼峰式表名,全部被强制成小写.mysql表名大小写敏感的参数: lower_case_table_ ...

  3. MySQL 5.7 Command Line Client输入密码后闪退和windows下mysql忘记root密码的解决办法

    MySQL 5.7 Command Line Client输入密码后闪退的问题: 问题分析: 1.查看mysql command line client默认执行的一些参数.方法:开始->所有程序 ...

  4. coreseek实战(二):windows下mysql数据源部分配置说明

    coreseek实战(二):windows下mysql数据源部分配置说明 关于coreseek在windows使用mysql数据源的配置,以及中文分词的详细说明,请参考官方文档: mysql数据源配置 ...

  5. Windows下mysql自动备份的最佳方案

    网上有很多关于window下Mysql自动备份的方法,其实不乏一些不好的地方和问题,现总结出一个最好的方法供大家参考: 新建一个记事本,然后重命名为: mysql_backup.bat 然后单击右键选 ...

  6. Windows下mysql忘记密码的解决方法

    Windows下mysql忘记密码的解决方法 mysql5.0 http://www.jb51.net/article/21984.htm方法一: 1.在DOS窗口下输入 net stop mysql ...

  7. mysql在windows下支持表名大小写,lower_case_table_names

    windows下mysql默认是不支表名大小写的,也就是表名大小写不敏感.用phpmyadmin创建的驼峰式表名,全部被强制成小写.mysql表名大小写敏感的参数: lower_case_table_ ...

  8. Mysql在windows下的免安装配置步骤和重新安装的步骤

    windows下mysql免安装配置 1. 下载mysql免安装压缩包 下载mysql-5.6.22-winx64.zip 解压到本地D:\mysql-5.6.22-winx64 2. 修改配置文件 ...

  9. Windows下MYSQL自动备份批处理

    windows下MYSQL自动备份批处理 2011-05-04 09:16:45|  分类: mysql|举报|字号 订阅     按系统时间进行备份 注意mysql安装路径中如果有空格.就要把,.b ...

  10. 【已解决】Windows下 MySQL大小写敏感 解决方案及分析

    Windows下 MySQL大小写敏感配置 zoerywzhou@163.com http://www.cnblogs.com/swje/ 作者:Zhouwan 2017-3-27 最近在window ...

随机推荐

  1. 阿里巴巴开源 Dragonwell JDK 最新版本 8.1.1-GA 发布

    导读:新版本主要有三大变化:同步了 OpenJDK 上游社区 jdk8u222-ga 的最新更新:带来了正式的 feature:G1ElasticHeap:发布了用户期待的 Windows 实验版本 ...

  2. Web性能优化:雅虎35条

    对web性能优化,一直知道是个很重要的方面,平时有注意到,但是对于雅虎35条是第一次听说,查了一下,发现平时都有用过,只是没有总结到一块,今天就总结一下吧. 雅虎35条: 1.[内容]尽量减少HTTP ...

  3. go语言正则表达式

    我们前两节课爬取珍爱网的时候,用到了很多正则表达式去匹配城市列表.城市.用户信息,其实除了正则表达式去匹配,还可以利用goquery和xpath第三方库匹配有用信息.而我利用了更优雅的正则表达式匹配. ...

  4. String的常见面试题

    下面代码,是我前些天在网上搜集的一小部分String的面试题.个人觉得感触很深,希望对大家有所帮助.不好的也请大家批评指正. package com.zys.string; public class ...

  5. 如何让excel文件读取变得更简单

    今天给大家安利一款excel文件导入神器,easyexcel,官方地址:(https://github.com/alibaba/easyexcel). 在官网文档中有介绍了其性能. 从上面的性能测试可 ...

  6. [JZOJ5772]【NOIP2008模拟】今天你AK了吗?

    Description AK:All kill“你为什么没背书?”“没有为什么,我就是没背书.”“……我去年买了个表,G—U—N!”头铁王InFleaKing把背书的时间都拿去列排列了......n= ...

  7. Vue路由守卫(跳转页面置顶的处理方)

    在用Vue 框架开发时,在电脑调试没有任何问题,但是用手机调试时会发现页面跳转的不对.就是跳转时页面展示的滑动位置不对,会保留上次跳转页面时的跳转位置.因此需要对页面的路由跳转进行优化,需要用到Vue ...

  8. 一文详解CentOS6.5搭建DNS服务

    本文详细介绍DNS服务在Linux Operation System 中的搭建过程 一.DNS服务器的工作原理 客户机提出域名解析请求,并将该请求发送给本地的域名服务器.当本地的域名服务器收到请求后, ...

  9. 6.Linux文件属性及软硬链接

    1.文件属性 使用ll -h 查看的详细信息,每一列都是干什么的 第一列第一个字符 表示文件类型---> rw-r--r-- 文件权限 1 这个文件被链接次数 root 文件的拥有者(用户) r ...

  10. javascript学习总结之Object.assign()方法详解

    最近再写ES6的文章时候发现自己对Object.assign()方法不太了解,之前也没有接触过所以就就查阅了相关的资料,为了自己以后肯能会用到以及对知识进行巩固,所以在这里记录下自己学习的点点滴滴,毕 ...