mysql8 my 010457_分享一下我在mysql5.6+mysql8数据库安装过程中的一些坑!
Mysql5.6安装
下载好安装包后,在bin目录下用cmd打开,输入mysqld install 【服务名】新建个服务
在windows+r输入services.msc即可查看服务
怎样使用mysql
在本地电脑上安装好mysql服务器后,使用命令开启mysql服务,命令为net start mysql,我的mysql服务名是这个,开启服务的语法是 net start 服务名
成功返回服务已启动
第一次使用mysql,采用mysql -u root -p进入mysql服务器,此时没有设置root用户登录密码,默认端口是3306,默认进入
设置登录密码采用命令
1 INSERT INTO mysql.user (Host,User,Password) VALUES ('%','system', PASSWORD('root'));2 FLUSH PRIVILEGES;
这样就可以将root用户的密码更改为root了
在安装mysql时候遇到的坑,有些时候安装好的mysql数据库会只有两个,我之前安装mysql数据库时,发现登录进去只有两个数据库,正常情况下是有四个数据库的,所以我就重新安装了mysql数据库
有些教程会让你开启服务后初始化数据库
mysqld --initialize --console # 初始化数据库
但是事实上,mysql5.6是不需要初始化的,否则会报错mysqld: unknown option '--initialize'这样的错误
设置登录密码时使用 mysql -u root -p 进入mysql,会产生报错,不像有些博主描述的那样,
原因未知
方法1: 用SET PASSWORD命令
格式:mysql> set password for 用户名@localhost = password('新密码');
例子:mysql> set password for root@localhost = password('123');
方法2:用mysqladmin
格式:mysqladmin-u用户名 -p旧密码 password 新密码
例子:mysqladmin-uroot -p123456 password 123方法3:用UPDATE直接编辑user表
mysql> usemysql;
mysql> update user set password=password('123') where user='root' and host='localhost';
mysql> flush privileges;
Mysql卸载
我是直接将整个安装目录删除,然后发现服务列表里还是会有mysql服务,因此,需要去注册列表里去删除,注册列表打开windows+r,输入regedit,在计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\EventLog\Application\MySQL,删除mysql服务,这样下次安装mysql的时候才不会报错,服务已经存在,具体参照博客:https://www.cnblogs.com/hskw/p/9298108.html,要关机重启一下,原来的服务才会消失。不然报错error:该mysql57服务仍在,并且显示””,双击它出现,在本地计算机上找不到该文件,启动不了,也删不掉。重新安装也不能覆盖
最好的方式是删除之前,在安装bin目录下使用命令, mysqld remove [服务名] 移除服务
其次是使用windows自带的命令sc delete 服务名,sc query mysql 查询mysql服务
Mysql.ini 文件的修改
Mysql文件默认在安装路径之下
这里有些博主说要改文件名,为my.ini,但是我是没改的,事实上也不会报错什么的,因此,改不改都是无所谓的!
配置内容:
1 [mysql]2
3 #设置mysql客户端默认字符集4
5 default-character-set=utf86
7 [mysqld]8
9 #设置mysql端口10
11 port=3306
12
13 #设置mysql安装目录14
15 basedir=E:\Mysql56\mysql-5.6.47-winx64\mysql-5.6.47-winx6416
17 #设置mysql存放data的目录18
19 datadir=E:\Mysql56\mysql-5.6.47-winx64\mysql-5.6.47-winx64\data20
21 #允许最大的连接数22
23 max_connections=200
24
25 #服务端使用字符集默认为8比特编码的latin1字符26
27 character-set-server=utf828
29 #创建新表时默认的存储引擎30
31 default-storage-engine=INNODB32
33 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
这里要留心【mysql】,【mysqld】下面的配置内容,不能乱了,不然mysql会读取不了配置文件,加载失败,我在这里弄了很久!
怎样确认mysql.ini是否生效?
这一步首先要确保你的ini文件是正确的,不然会发生1067的报错。
应该修改查看mysql的启动加载的ini文件,我的一开始是没有加载ini文件的,根据下面的博客修改启动项。
位置在:win+R---->regedit---->HKEY_LOCAL_MACHINE---->SYSTEM---->CurrentControlSet---->Services---->MySQL
在注册表修改启动项参数,根据路径找到ImagePath,双击,就会弹出这个编辑字符串,把这个修改一下,在中间加上下面这行内容,注意“ -- ”前面有空格,前面那个是mysqld的加载路径,后面那个是你的服务名称,不需要改动。
--defaults-file="安装路径\my-default.ini"
配置成功是这样子的,可以在可执行路径上看到加载的配置文件
查看mysql版本信息,进入mysql数据库后输入status,查看数据库信息,是否与配置文件成功就知道修改成功没有!
查看当前默认的引擎:
mysql> show variables like 'default_storage_engine';
安装Mysql8出现的问题
系统找不到指定的文件、发生系统错误 1067 进程意外终止,这个是因为配置文件没有加载成功,找不到服务。
在安装mysql8的过程中,一开始执行mysqld install【服务名】时就发生报错,原因是我缺少vcruntime140_1.dll,这个提示已经非常明确,只要找个这个动态链接库安装到C\system32里面,我之前查找的时候果然发现我没有这个库,注意一定是vcruntime140_1.dll,不是vcruntime140.dll。
这个上面会报2003,错误,2003错误通常都是服务没开启或者是端口没连上,因为我修改了mysql8数据的默认链接端口,所以登录命令要指定mysql8的端口才能登录
mysql8配置文件
1 [mysqld]2 port=3307
3 basedir=E:\Mysql8\mysql-8.0.19-winx64\mysql-8.0.19-winx644 datadir=E:\Mysql8\mysql-8.0.19-winx64\mysql-8.0.19-winx64\data5 max_connections=200
6 max_connect_errors=10
7 character-set-server=utf88 default-storage-engine=INNODB9 default_authentication_plugin=mysql_native_password10 # 设置3307端口,为了与旧版本的区分不冲突11 # 设置mysql的安装目录12 # 切记此处一定要用双斜杠\\,单斜杠我这里会出错,不过看别人的教程,有的是单斜杠。自己尝试吧13 # 设置mysql数据库的数据的存放目录14 # 允许最大连接数15 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统16 # 服务端使用的字符集默认为UTF817 # 创建新表时将使用的默认存储引擎18 # 但因为当前有很多数据库工具和链接包都不支持“caching_sha2_password”,为了方便,我暂时改回了“mysql_native_password”认证插件。
#默认使用“mysql_native_password”插件认证19 [mysql]20 # 设置mysql客户端默认字符集21 default-character-set=utf822 [client]23 # 设置mysql客户端连接服务端时默认使用的端口24 port=3307
25 default-character-set=utf8
mysql8要执行这个命令 mysqld --initialize --console # 初始化数据库 进行初始化,因为root用户的初始登录密码在里面.
E:\Mysql8\mysql-8.0.19-winx64\mysql-8.0.19-winx64\bin>mysqld --initialize --console
2020-02-02T06:04:37.062657Z 0 [System] [MY-013169] [Server] E:\Mysql8\mysql-8.0.19-winx64\mysql-8.0.19-winx64\bin\mysqld.exe (mysqld 8.0.19) initializing of server in progress as process 9616
2020-02-02T06:04:37.065698Z 0 [ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.
2020-02-02T06:04:37.065724Z 0 [ERROR] [MY-013236] [Server] The designated data directory E:\Mysql8\mysql-8.0.19-winx64\mysql-8.0.19-winx64\data\ is unusable. You can remove all files that the server added toit.2020-02-02T06:04:37.089282Z 0 [ERROR] [MY-010119] [Server]Aborting2020-02-02T06:04:37.091878Z 0 [System] [MY-010910] [Server] E:\Mysql8\mysql-8.0.19-winx64\mysql-8.0.19-winx64\bin\mysqld.exe: Shutdown complete (mysqld 8.0.19) MySQL Community Server -GPL.
E:\Mysql8\mysql-8.0.19-winx64\mysql-8.0.19-winx64\bin>mysqld --initialize --console
2020-02-02T06:07:06.828384Z 0 [System] [MY-013169] [Server] E:\Mysql8\mysql-8.0.19-winx64\mysql-8.0.19-winx64\bin\mysqld.exe (mysqld 8.0.19) initializing of server in progress as process 4372
2020-02-02T06:07:10.079556Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Zkhir&Cd3Nug
这个我这里初始化的时候发生了错误,根据网上的教程,我把mysql目录下的data文件全部删除了,然后再执行一次,可以发现就没有错误了,并且告诉了root用户的初始化密码
接下来就是使用mysql命令进入数据库啦!
msyql8修改初始密码
修改成功后的配置
整个配置还是挺多坑的,但是自己要学会去百度,学会去看报错信息,才能快速的解决问题,
PS:所有终端都要在管理员权限下打开,防止权限不够,我设置了两个mysql的端口,一个是3306,一个是3307,所以可以同时打开两个不同版本的数据库
最后,我没有设置环境变量,因为我担心会出错,打开两个不同版本的数据库时,所以自己知道安装路径就行了,整个过程安装了不间断安装了两天,
第一次写博客,所以希望尽量把自己遇到的坑告诉大家!
相关文章:

14年12月CCF真题1-门禁系统
问题描述 涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况。每 位读者有一个编号,每条记录用读者的编号来表示。给出读者的来访记录,请 问每一条记录中的读者是第几次出现。 输入格式 输入的第一行包含一个整数n,表示涛涛的记录条数。 第二行包含n个整数,依次表…

[Oracle] - 性能优化工具(5) - AWRSQL
在AWR中定位到问题SQL语句后想要了解该SQL statement的详细运行计划,于是就用AWR报告中得到的SQL ID去V$SQL等几个动态性能视图中查询,但发现V$SQL或V$SQL_PLAN视图都已经找不到相应SQL ID的记录,一般来说这些语句已经从shared pool共享池中被…

三种基本排序的实现及其效率对比:冒泡排序、选择排序和插入排序
1 public class ThreeTypesOfBaseSort {2 // 三种基本排序的效率对比 3 public static void main(String[] args) {4 ThreeTypesOfBaseSort sort new ThreeTypesOfBaseSort();5 6 // 测试百万级别的数组排序,看三种基本排序的的效率差…
NB-IOT UE的小区接入过程
NB-IOT UE的小区接入过程如下:NPSS/NSSS/NPBCH的时频资源,可以参考:点击打开链接 下面详细介绍一下MIB-NB/SIB1-NB的获取过程。 MIB-NB传输 在sharetechnote中有详细的描述,如下: MIB-NB分成8个等长的可以独立编码的子…

android用户界面之菜单(Menu)教程实例汇总
一、Menu的基本介绍1.从头学Android之Menu选项菜单 http://www.apkbus.com/android-13930-1-1.html 2.Android 界面之Menu菜单的特性 http://www.apkbus.com/android-664-1-1.html 3.Android XML中自定义菜单 http://www.apkbus.com/android-50884-1-1.html 4.Android 基础菜单…

nosql mysql mongodb_关于NoSQL之MongoDB的一些总结
NoSQL已经流行了很长一段时间,那么究竟是什么场景下你才更需要用到这些“新兴事物”,就比如MongoDB?下面是一些总结:你期望一个更高的写负载默认情况下,对比事务安全,MongoDB更关注高的插入速度。如果你需要…

下载文件乱码问题
1.下载文件乱码问题 new String("免责声明.pdf".getBytes("utf-8"), "ISO-8859-1"); 2.图片转blog String path request.getSession().getServletContext().getRealPath("/"); String a picturename2…
MySQL全面优化,速度飞起来
在进行MySQL的优化之前,必须要了解的就是MySQL的查询过程,很多查询优化工作实际上就是遵循一些原则,让MySQL的优化器能够按照预想的合理方式运行而已。 图-MySQL查询过程 一、优化的哲学 注:优化有风险,涉足需谨慎 1、…
LTE - PRACH 时频资源介绍
PRACH: Physical Random Access Channel. PRACH用于传输random access preamble RA-preamble Format 一共包含4种格式,其中format0-3 用于frametype 1(FDD), format 0-4 用于frametype 2(TDD). spec: 36.211- table5.7.1-1另外参考sharetechnote…

对面向对象基本原则的总结
(一)代理模式 应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现。 优势:解耦合 敏捷原则:开放-封闭原则 实例:tableview的 数据源delegate,通过和pro…

python turtle画画 30排以内_Python竟能画这么漂亮的花,帅呆了(代码分享)
阅读本文大概需要3分钟关于函数和模块讲了这么久,我一直想用一个好玩有趣的小例子来总结一下,同时也作为实战练习一下。趣味编程其实是最好的学习途径,回想十几年前我刚毕业的时候,第一份工作就给手机上写app,当时觉得…

关于Windows 2003下开启防火墙后不能通过FTP问题解决
在Windows server 2003上做了个基于IIS的FTP服务。但是不久就发现一个问题,当系统开启防火墙后在其它机子上不能登录FTP服务器,但是又不想把Windows的防火墙晾起来,所以就尝试下突破这个限制。当时做了两步处理:(1&…

【多线程】ConcurrentLinkedQueue 的实现原理
1. 引言 在并发编程中我们有时候需要使用线程安全的队列。如果我们要实现一个线程安全的队列有两种实现方式:一种是使用阻塞算法,另一种是使用非阻塞算法。使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁)或两个锁…

shell 脚本简单入门
好久不写shell脚本,有些生疏。总结下shell的语法,以便后续参考,快速捡起来。 shell 脚本执行的3种方式: 1). ./xx.sh (xx.sh 需要有执行权限) 2). source xx.sh 3). bash xx.sh 变量定义 var2 //注意&…

ubuntu 在线安装mysql_Ubuntu下安装MySQL5.6
我想我们不应该在安装软件上面耽误太多时间,但是很多时候,我们去被安装挡在了门外,尤其是初次在Linux下。作为一个程序猿,最近决定转战linux,MySQL是必须要有的,讲一下我的安装过程。在Ubuntu下安装MySQL有…

js循环动态绑定带参数函数遇到的问题及解决方案[转]
今天写原生javascript时,想利用绑定事件实现类似jquery中on方法的功能:于是有了for循环里绑定事件,无意中发现定义类能解决好多问题! 例如:一个不确定长度的列表,在鼠标经过某一条的时候改变背景 1 2 <…
基于Picture Library创建的图片文档库中的上传多个文件功能(upload multiple files)报错怎么解决?...
复现过程 首先,我创建了一个基于Picture Library的图片文档库,名字是 Pic Lib 创建完毕后,我点击它的Upload 下拉菜单,点击Upload Picture按钮 在弹出的对话框中点击 Upload Multiple Files按钮 结果返回了下面的错误页面 如果查看…

vi 环境,跳转函数定义
1, 安装 sudo apt-get install exuberant-ctags 2. 生成tags ctags -R . 3. 跳转 将光标移到想要跳转的函数或变量 快捷键 " CTRL ] " 4. 回转 回到跳转之前的位置, 只需要通过快捷键“ CTRL T ” 其它更详细: https://www.cnblogs.com/ca…

linux kernel内存回收机制
http://www.wowotech.net/linux_kenrel/233.html无论计算机上有多少内存都是不够的,因而linux kernel需要回收一些很少使用的内存页面来保证系统持续有内存使用。页面回收的方式有页回写、页交换和页丢弃三种方式:如果一个很少使用的页的后备存储器是一个…

Python 学习笔记01
print:直接输出 type,求类型 数据类型:字符串,整型,浮点型,Bool型 note01.py # python learning note 01 print(Hello world!) a 10 print a print type(a) a 1.3 print a,type(a) print a Tr…

vuecli 编译后部署_基于vue-cli 打包时抽离项目相关配置文件详解
前言:当使用vue-cli进行开发时时常需要动态配置一些设置,比如接口的请求地址(axios.defaults.baseURL),这些设置可能需要在项目编译后再进行设置的,所以在vue-cli里我们需要对这些配置文件进行抽离,不让webpack把配置文…

intel xdk 打ios的ipa包
1、打包 2、点击edit。下载csr文件,然后上传到苹果开发者网址,生成cer文件 上面两步搞完,把最后的按钮设置成"yes" 3、上传配置文件 转载于:https://www.cnblogs.com/linn/p/3844930.html

《C++程序设计POJ》《WEEK7 输入输出和模板》《流操纵算子》《文件读写》《二进制文件读写》...
函数指针,运算符重载 人懂我精,人精我深 用的时候查一查手册 dat 二进制文件 如果不指定文件夹,就是生成在当前文件夹,什么是当前文件夹?可执行文件所在的文件夹 绝对路径 相对路径 文件的读写指针 ifstream ofsteam s…
linux内存管理 之 内存节点和内存分区(Zone)
https://www.cnblogs.com/youngerchina/p/5624516.html Linux支持多种硬件体系结构,因此Linux必须采用通用的方法来描述内存,以方便对内存进行管理。为此,Linux有了内存节点、内存区、页框的概念,这些概念也是一目了然的。 内存节…

BZOJ 3585: mex( 离线 + 线段树 )
离线, 询问排序.先处理出1~i的答案, 这样可以回答左端点为1的询问.完成后就用seq(1)将1到它下一次出现的位置前更新. 不断这样转移就OK了--------------------------------------------------------------------#include<bits/stdc.h>using namespace std;#define M(l, r…

yum安装mysql后密码_Centos7:yum安装MySQL5.7后如何设置root密码
Centos下安装软件的方式很简单,只需要通过yum install xxx命令即可。第一步当然检查是否有mysql的yum源,命令:yumlist|grep mysql-community[主要还是安装开源的社区版]如果没有如图所示的和mysql*相关的数据源,可去官网上下载相关…

iOS开发:使用Block在两个界面之间传值(Block高级用法:Block传值)
使用Block的地方很多,其中传值只是其中的一小部分,下面介绍Block在两个界面之间的传值:先说一下思想:首先,创建两个视图控制器,在第一个视图控制器中创建一个UILabel和一个UIButton,其中UILabel…

Vscode 调试 Flutter 项目
1、Vscode 中打开 flutter 项目进行开发 2、运行 Flutter 项目 flutter run r 键:点击后热加载,也就算是重新加载吧。p 键:显示网格,这个可以很好的掌握布局情况,工作中很有用。 o 键:切换 android 和 ios 的预览模式。q 键:退出调试预览模…

Linux地址映射--线性映射与非线性映射
一,线性映射与非线性映射 1. 内存管理 物理内存管理: Linux内存最小管理单位为页(page),通常一页为4K。初始化时,linux会为每个物理内存也建立一个page的管理结构,操作物理内存时实际上就…

第三方消息推送回调Java app消息推送第三方选择
由于最先集成的是极光,因此根据官方给的推送设备区分方式中,选择了使用标签tag来进行区分管理方式,其接口提供了设置和清理标签, 每次设置会覆盖上次的结果,当然这个需要和极光后台进行交互,是异步返回的。5、由于其接口没有使用免费和付费区分,对于接口的访问没有限制,从使用的情况来看,经常会出现不准的情况,并且设置标签的效果其实是添加,导致业务需要改变标签时,需要先清除在设置,然而接口又经常出问题,导致这部分也是一塌糊涂了;如果想使用不受免费版本限制特性的推送服务,可以联系平台提供的商务对接,购买付费版本。