mysql8.0 在window环境下的部署与配置
今天在阿里云window服务器上配置mysql环境,踩了一些坑,分享出来。需要的朋友可以看看。额,或许有人要吐槽我为什么不在linux上去配置,额,因为我window的那台服务器配置相对高些。本人技术方面偏向于.net,现在接触php项目所以搭建LAMP环境。只不过我的数据库放在window上的这台服务器。
言归正传
先选择版本,到mysql官方网站下载,你会发现各宗版本看得眼花缭乱的,不要惊慌先选择MySQL Community Edition版, 然后再跳转的页面下,你会发现还会有很多子版本要选,英文要不好的同学,选择上会有点吃力,可选子版本有两个:
(1)先说 一个是最省事的版本 ,直接下一步下一步安装就好,有点像sqlserver 纯界面展示。 https://dev.mysql.com/downloads/installer/ ,配置比较高的服务器,或懒得去搞一堆命令行的朋友可以直接下载这个。看完这里可以直接省略下面的内容了。
(2) 第二个版本,MySQL Community Server版本。 这个版本比较适合服务器安装。占用资源较小。部署也比较灵活。缺点如果不熟悉的话坑会比较多。
我们先快速的说下 安装的步骤,先下载文件,解压缩到目标文件夹位置.比如 D:/mysql 。
1,在mysql文件夹 下新建一个文件名为my.ini , 然后录入信息如下
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:/mysql
# 设置mysql数据库的数据的存放目录
datadir=D:/mysql/data
# 允许最大连接数
max_connections=500
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
2,这个时候打开CMD(记得以管理员身份运行),否则输入命令时会出现install/remove of the service denied错误,进入mysql文件夹。cd d:/mysql/bin(如果不想每次都cd进到这个目录,可以将该路径添加到 path路径下)
#mysql安装完成
>mysqld install #2初始化配置此时会用到之前的配置文件my.nin 然后在data目录生成数据
>mysqld --initialize #显示:服务正在启动...服务已经启动启动成功!
>net start mysql
----------------------------------------------------------------------------------------------------
好!!接着我来说说我遇到的坑
问题1: 安装mysql服务时提示“找不到msvcp140.dll?
我服务器的版本是windows server 2012 r2 版本的。刚开始输入命令行的时候报这个错。是因为缺少这个补丁Microsoft Visual C++ 2015 Redistributable Update 3
下载地址 https://www.microsoft.com/en-us/download/details.aspx?id=53587
问题2:安装好服务后,有的时候运气好,默认初始版本密码是空的可登录。但有的时候密码为空是登陆不进去的。好问题来了,
D:\mysql\bin>mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
密码为空 ,登陆不进去,很是烦躁一万只草泥马路过,看了很多帖子,都是处理mysql5.11 的 现在8.0 处理不了。接着找办法
这个时候需要 关闭sql服务,在控制面板里面的服务,找到mysql关掉。 也可以用命令行 net stop mysql 是关闭MySQL服务

在服务器上用以下方式跳过登陆,进入mysql,在cmd中按照以下方式操作 mysqld --console --skip-grant-tables --shared-memory
D:\mysql\bin>mysqld --console --skip-grant-tables --shared-memory
2018-10-05T16:22:02.055800Z 0 [System] [MY-010116] [Server] D:\mysql\bin\mysqld.exe (mysqld 8.0.12) starting as process 9440
2018-10-05T16:22:06.832563Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2018-10-05T16:22:06.914520Z 0 [System] [MY-010931] [Server] D:\mysql\bin\mysqld.exe: ready for connections. Version: '8.0.12' socket: '' port: 0 MySQL Community Server - GPL.
2018-10-05T16:22:06.977960Z 0 [Warning] [MY-011311] [Server] Plugin mysqlx reported: 'All I/O interfaces are disabled, X Protocol won't be accessible'
2018-10-05T16:22:12.006067Z 0 [System] [MY-013105] [Server] D:\mysql\bin\mysqld.exe: Normal shutdown.
D:\mysql\bin>2018-10-05T16:22:13.198096Z 0 [System] [MY-010910] [Server] D:\mysql\bin\mysqld.exe: Shutdown complete (mysqld 8.0.12) MySQL Community Server - GPL.
此时,重新打开一个CMD窗口 ,之前的窗口保留着不要关闭!。按如下步骤操作 >mysql -u root; # 这里切记不要 加 -p。 要不会强制要你输入密码才能登陆
>update user set authentication_string='' where user='root'; # 此时密码一定要留空!数据库里面的密码默认是加密过的,以前的password(123)函数在8.0版本后就不能用了。
>flush privileges; (不提交不生效)
现在 root帐户终于有了初始密码,此时密码为空!!,也只能为空!!否则你会登陆不进去的 ,存储进去会像md5 一样加密过的字符串在表里。
问题3 , 如何修改root 密码
在操作mysql命令行的时候 结尾务必带着" ;" 要不回车键按下去会一直换行
mysql > alter user 'root'@'%' identified by '';
或
mysql > alter user 'root'@'localhost' identified by '';
或 输入quit; 从 mysql命令行回到 cmd ,进入mysql安装目录/bin
>mysqladmin -uroot -p password
此时,基本上解决 了mysql的服务端的问题了,现在我们把焦点移动到客户端。 假设现在的场景服务端和客户端不在同一台机子上。 我们需要安装下客户端的工具
推荐两个工具 第一个是mysql的 MySQL Workbench

第二个是 Navicat Premium 12 工具,破解版就自己去找啦。相对 这个工具可以帮你剩下很多事,比如对命令行比较不在行的同学可以选下的这个版本

问题4 ,无法远程登陆访问远程服务器上面的mysql
就是用上面两个客户端工具 ,都无法登陆服务器,因为默认mysql是不让客户端远程登陆的,这个时候 第一步需要检查阿里云服务器的安全组策略,添加3306 端口的入口,
第二步,回到服务器 ,进入cmd ,将原先表中的数据 localhost改成 ‘%’ , 也可以改成 指定的ip地址 如 ‘192.168.0.0,192.168.0.1,192.168.0.2’
>mysql -u root -p #登陆mysql mysql>use mysql; #使用mysql库
mysql>update user set host = '%' where user = 'root'; # 修改host的限制,也可以指定ip访问,改成你客户端ip就好
mysql>select user, authentication_string from user;
修改好后,这时 ,MySQL Workbench ,你会发现可以登陆进去了。但是 Navicat Premium ,会报出“客户端连接caching-sha2-password问题” 这个是由于mysql 不太愿意让第三方工具接入客户端查询,
在密码反编译的时候故意没有对接好。接着我们来处理最后一个问题.
问题5 : Navicat Premium 客户端连接caching-sha2-password问题 ,进到cmd ,登陆到mysql
mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则
mysql>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码
mysql>FLUSH PRIVILEGES; #刷新权限 #执行完后此时需要重置下你的密码 ,因为密码加密规则已经改变 不重置密码你会登陆不上去的!
mysql> alter user 'root'@'localhost' identified by '123';
注意了! 如果你在问题4中已经把localhost 改成 % 的 , 上面的语句 也要跟着改 比如:'root'@'%',如果是跟着ip的 也以此类推. 否则执行会报错!
最后 基本上常见的坑就踩完了,写的有点粗糙,熬夜分享的一点心得,大家凑乎这看吧。
mysql8.0 在window环境下的部署与配置的更多相关文章
- 【转】mysql8.0 在window环境下的部署与配置
[转]mysql8.0 在window环境下的部署与配置 今天在阿里云window服务器上配置mysql环境,踩了一些坑,分享出来.需要的朋友可以看看.额,或许有人要吐槽我为什么不在linux上去配置 ...
- Jdk在window环境下的安装与配置详解
本文为博主原创,转载请注明出处: 1.2 Java程序开发环境的配置 java开发工具包:java开发工具:记事本 IDE,这个只能写小程序,写大程序需要集成开发工具:反编译工具(我们可以在网上找一 ...
- window环境下将solr6.3部署到tomcat中
1.我下载的solr是6.3版本的,需要jdk1.8及以上,tomcat8 JDK1.8的下载地址:http://www.Oracle.com/technetwork/Java/javase/down ...
- Hyperledger fablic 1.0 在centos7环境下的安装与部署和动态增加节点
Hyperledger fablic 1.0 在centos7环境下的安装与部署和动态增加节点 一.安装docker 执行代码如下: curl -sSL https://get.daocloud.io ...
- window环境下glog的安装
window环境下glog的安装 分类: c++2014-09-23 14:12 32人阅读 评论(0) 收藏 举报 下载后解压,利用Visual Studio打开google-glog.sln.生成 ...
- mosquitto在Linux环境下的部署/安装/使用/测试
mosquitto在Linux环境下的部署 看了有三四天的的源码,(当然没怎么好好看了),突然发现对mosquitto的源码有了一点点感觉,于是在第五天决定在Linux环境下部署mosquitto. ...
- Kafka~Linux环境下的部署
概念 Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据. 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素. 这些数据 ...
- JAVA中调用LevelDB用于Linux和Window环境下快速存储KV结构
一.简介 JAVA中调用LevelDB用于Linux和Window环境下快速存储KV结构 二.依赖 <!-- https://mvnrepository.com/artifact/org.fus ...
- Window环境下配置MySQL 5.6的主从复制
原文:Window环境下配置MySQL 5.6的主从复制 1.环境准备 Windows 7 64位 MySQL 5.6 主库:192.168.103.207 从库:192.168.103.208 2. ...
随机推荐
- Linux内核设计与实现(chapter1/2)
Linux内核简介 Unix从一个失败的多用户操作系统Multics中衍生来的. Unix强大的原因: 简洁 几乎所有的东西都被当做文件来对待,可以通过相同的系统调用接口来进行调用. 因为它是由c语言 ...
- 实训四(cocos2dx sharesdk集成-1)
随着项目的进行,好像陷入的技术优先的迷局,对那些可以实现的功能,代码的编写上越来越漫不经心,反而对没有掌握的技术求之若渴,不免显得有些好高骛远.在没有掌握之前,思考.学习.交流也是一种快乐与享受. 言 ...
- K8S 使用NFS 创建PV和PVC的例子 学习From https://blog.csdn.net/xts_huangxin/article/details/51494472
1. 获取资料 网址: https://blog.csdn.net/xts_huangxin/article/details/51494472 感谢原作者 这里面 按照自己的机器情况进行了学习模仿 ...
- 关于“代码规范”,“Review”和“Check list”(续)
在前两天的 关于“代码规范”,“Review”和“Check list” 一文中,我给自己列出了Check list,如下: 1.代码能够工作么?它有没有实现预期的功能,逻辑是否正确等. ...
- SpringMvc+JavaConfig+Idea 基于JavaConfig搭建项目
1.介绍 之前搭建SpringMvc项目要配置一系列的配置文件,比如web.xml,applicationContext.xml,dispatcher.xml.Spring 3.X之后推出了基于Jav ...
- mysql 命令行快速将数据库转移到另一个服务器中(数据库备份还原)
想将A服务器中的数据库快速转移到B服务器中,一般是先从A服务器中备份下来,下载备份数据,还原到B服务器中.使用phpMyAdmin备份和还原针对数据量很小的情况下很方便,数据量大的话很容易中断失败. ...
- 10缓冲流、转换流、序列化流、Files
十.流 10.1 缓冲流 10.1.1 概述 缓冲流是对4个基本的FileXxx流的增强,所以也是4个流,按照数据类型进行分类 ...
- Mybatis返回HashMap时,某个字段值为null时,不会保存key
转载: http://blog.csdn.net/little2z/article/details/38525327 mybatis 的 callSettersOnNulls 问题项目用到mybati ...
- MT【167】反复放缩
已知数列$\{a_n\}$满足:$a_1=1,a_{n+1}=a_n+\dfrac{a_n^2}{n(n+1)}$1)证明:对任意$n\in N^+,a_n<5$2)证明:不存在$M\le4$, ...
- APIO模拟赛(HGOI20180909)
想法:贪心. A.最大高度大的先剪 首先需要知道: 1.每个草最多剪1次 假设有个草剪了2次,显然可以放到最后一次剪得效果和剪2次的效果一样的, 为了少剪那么草最多剪去一次,从而,步数step> ...