数据库MySQL多个数据库服务冲突
一、目标名称
MySQL
二、目标版本
mysql-5.6.24-win32.1432006610.zip
三、环境信息
系统:windows 7 旗舰版
防火墙:关闭 —— 注意:如果防火墙不关闭或不允许列外的话,远程登陆将会失败。
四、问题严重性和复杂度
严重性:非常严重,直接导致数据库无法使用,与之相关的所有应用均受到影响。
复杂度:非常复杂,涉及到数据库的安装问题,由其他安装应用程序引入,问题比较隐晦不容易发现。
五、问题描述
(1) - 首先是依赖于该数据库的程序打开时,弹出错误对话框提示所数据库“某某@某某”无法访问。

在MySQL数据库中出现这种无法访问的原因有很多,例如服务器未开通远程访问权限,用户密码错误等一系列原因。上图中‘root'@'localhost'显示我在本地登录,但事实上这是我已经把MySQL数据库维护好了之后故意在本地制造的一个无法访问的提示,因为要重现原来的我又得忙活半天了。
(2) - 然后到Navicat中访问数据库同样出现无法访问的错误提示。初步判断时数据库服务没启动造成的。
(3) - 远程登录到用windows 7旗舰版系统做的服务器,并用管理员权限运行命令窗口。
(4) - 切换到mysql\bin目录下,用mysql -u root -p登录数据库,发现以前设置的密码不能用了,直接提示Access denied for user。然后我尝试不用密码直接登陆,我发现能够进入MySQL,并且通过select user()查询到自己当前的登陆用户是root@localhost。但是用show databases查询数据库时始终只有infromation_schema和test两个数据库,而目录下的mysql和其他应用数据库都没有显示出来。并且在设置mysqladmin -u root -p password后密码无法修改,悲催。
(5) - 开始向通过直接卸载服务,然后重新安装服务来解决该问题,于是我使用net stop mysql停止服务,再使用mysqld remove卸载服务。我尝试重新安装服务,然后再启动mysql服务,发现仍然只有infromation_schema和test两个数据库。于是我开始认为是my-default.ini配置文件的问题,我又开始尝试寻找各种配置my.ini的方法,这个启动mysql服务的过程中出现最多的是1067。光这个问题就会把你整崩溃,因为你完全不知道错哪儿。这里有一个非常隐晦的问题,启动不了不一定是my.ini的问题,也可能是其他问题,例如其他的软件也安装并启动了mysql服务,而我们停止的和启动的是冲突的服务,但是一般我们无法发现,只看到它给我们反馈了1067的错误。我光解决这个问题就花了1天的时间,被弄得非常无语。
(6) - 换了一台机器,在官网上下载了最新的MySQL 5.7.11 for Windows再我家用电脑上安装之后任然只有infromation_schema和test两个数据库。最后不得不使用原来的mysql-5.6.24-win32.1432006610.zip数据库版本进行解压,不用配置my.ini直接使用默认的my-default.ini安装启动mysql服务后登录可以看见mysql这个数据库,喜出望外。
(7) - 在本地使用Navicat测试连接,更改数据库mysql使用update user set host='%' where user='root'; flush privilideges;更新外界访问权限,此时还有一点问题就是我的user中有一个user为空,host为localhost的用户,这条记录会伤害本地连接以及远程访问,因此我删掉之后就能正常访问了。
(8) - 原来的数据库重新加入到data目录下,直接拷贝其他的,注意mysql、information_schema、test等原有的数据库就不要拷贝了,尤其是mysql。拷贝之后会发现我们拷贝过来的数据库能看见,但是数据库不能够访问,会出现inodb错误之类的东西。
(9) - 将原来的数据库中data目录下除了跟本地用户相关的文件的其他文件都拷贝过来覆盖即可。

(10)- 回到原来的服务器,使用Navicat登录到本地,发现能够登录无密码版本的,并且找到了zantao的数据库,于是找到问题原因是因为这个叫禅道的软件也启动了mysql服务,这个服务于我安装的服务冲突,而我在命令窗口登录时识别到的是另外一个,这种冲突很隐晦。mysql自身无法很好的检测。
(11) - 停止服务,并重新配置我的数据库,OK了。
数据库MySQL多个数据库服务冲突的更多相关文章
- 数据库MySQL之 视图、触发器、存储过程、函数、事务、数据库锁、数据库备份、事件
数据库MySQL之 视图.触发器.存储过程.函数.事务.数据库锁.数据库备份.事件 浏览目录 视图 触发器 存储过程 函数 事务 数据库锁 数据库备份 事件 一.视图 1.视图概念 视图是一个虚拟表, ...
- 阿里云数据库MySQL版快速上手!
MySQL是全球最受欢迎的开源数据库,其在各Web应用中均有广泛部署.阿里云数据库MySQL版基于Alibaba的MySQL源码分支,经过双11高并发.大数据量的考验,拥有优良的性能和吞吐量.除此之外 ...
- 云应用开发之新浪SAE读写云端数据库MySQL
本博文为前篇博文新浪云应用SAE日志查看的延续. 在读写云数据库MySQL之前,须要说明的是,在新浪云平台上使用数据库时.该平台默认会为每个应用单独新建一个数据库database实例.在该实例中再创建 ...
- 数据库MySQL学习笔记高级篇
数据库MySQL学习笔记高级篇 写在前面 学习链接:数据库 MySQL 视频教程全集 1. mysql的架构介绍 mysql简介 概述 高级Mysql 完整的mysql优化需要很深的功底,大公司甚至有 ...
- MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限
1.新建用户 //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> insert into mysql.user(Host,User,Pas ...
- Robot Framework-DatabaseLibrary数据库(MySql)
Robot Framework-Mac版本安装 Robot Framework-Windows版本安装 Robot Framework-工具简介及入门使用 Robot Framework-Databa ...
- paip.导入数据英文音标到数据库mysql为空的问题之道解决原理
paip.导入数据英文音标到数据库mysql为空的问题之道解决原理 #---原因:mysql 导入工具的bug #---解决:使用双引号不个音标括起来. 作者 老哇的爪子 Attilax 艾龙, E ...
- paip.解决 数据库mysql增加列 字段很慢添加字段很慢
paip.解决 数据库mysql增加列 字段很慢添加字段很慢 #环境如下: mysql5.6 数据仅仅3w alter table xxx add column yyy int default ...
- Sqoop是一款开源的工具,主要用于在HADOOP(Hive)与传统的数据库(mysql、oracle...)间进行数据的传递
http://niuzhenxin.iteye.com/blog/1706203 Sqoop是一款开源的工具,主要用于在HADOOP(Hive)与传统的数据库(mysql.postgresql.. ...
随机推荐
- 消除“Permission is only granted to system apps”错误
遇见这个问题我百度搜了一大堆说是须要clean项目,可是我每次clean项目的时候我的R文件总是丢失. 如今我给大家介绍一下避免授予系统权限报错更改方法 在AndroidManifest.xml中使用 ...
- javascript高级知识点——函数原型
代码信息来自于http://ejohn.org/apps/learn/. 向函数的原型中添加方法 function Ninja(){} Ninja.prototype.swingSword = fun ...
- SEL数据类型,@selector的用法,以及调用SEL
1.SEL数据类型 SEL是个指针类型的数据,类似C语言中的函数指针.在OC中,每个对象方法都有其对应着一个SEL变量.当我们调用对象方法时,编译器会将该方法转换成一个SEL的数据,然后去类中寻找该方 ...
- web.xml加载顺序详解
一. 1.启动tomcat启动web项目,首先读取web.xml文件中<context-param>和<listener> 2.容器创建一个ServletContext(ser ...
- Flink资料(2)-- 数据流容错机制
数据流容错机制 该文档翻译自Data Streaming Fault Tolerance,文档描述flink在流式数据流图上的容错机制. ------------------------------- ...
- 关于Thinkphp3.2版本的分页问题
最近公司官网改版,需要把旧的thinkphp版本换到现在最新的3.2去,因此,就开展了一系列的升级工作..在修改命名空间的同时,发现Page分页类能正常运行了,但是分页的链接却是错误的,例如在Admi ...
- codeforces 645 D. Robot Rapping Results Report 二分+拓扑排序
题目链接 我们可以发现, 这是一个很明显的二分+拓扑排序.... 如何判断根据当前的点, 是否能构造出来一个唯一的拓扑序列呢. 如果有的点没有出现, 那么一定不满足. 如果在加进队列的时候, 同时加了 ...
- Linux宕机最安全的重启方法(你肯定不知道)
Linux 内核虽然号称“不死族”,几乎不会崩溃或者死机,但是特殊情况下,还是有一定几率会宕机的.因为 Linux 广泛用于生产环境,所以每一次宕机都会引起相当大的损失.本文介绍在它死机至后,一种温柔 ...
- J2SE知识点摘记(二十四)
覆写hashCode() 在明白了HashMap具有哪些功能,以及实现原理后,了解如何写一个hashCode()方法就更有意义了.当然,在HashMap中存取一个键值对涉及到的另外一个方法为equa ...
- Apache开启expires响应头,优化缓存
apache开始expires响应头输出 expires是什么 指示资源什么时候过期的时间值(GMT时间),在指定的过期时间前,浏览器可以直接使用自身缓存的版本,而不用向服务器发请求,大大减轻服务器压 ...