一、目标名称

  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多个数据库服务冲突的更多相关文章

  1. 数据库MySQL之 视图、触发器、存储过程、函数、事务、数据库锁、数据库备份、事件

    数据库MySQL之 视图.触发器.存储过程.函数.事务.数据库锁.数据库备份.事件 浏览目录 视图 触发器 存储过程 函数 事务 数据库锁 数据库备份 事件 一.视图 1.视图概念 视图是一个虚拟表, ...

  2. 阿里云数据库MySQL版快速上手!

    MySQL是全球最受欢迎的开源数据库,其在各Web应用中均有广泛部署.阿里云数据库MySQL版基于Alibaba的MySQL源码分支,经过双11高并发.大数据量的考验,拥有优良的性能和吞吐量.除此之外 ...

  3. 云应用开发之新浪SAE读写云端数据库MySQL

    本博文为前篇博文新浪云应用SAE日志查看的延续. 在读写云数据库MySQL之前,须要说明的是,在新浪云平台上使用数据库时.该平台默认会为每个应用单独新建一个数据库database实例.在该实例中再创建 ...

  4. 数据库MySQL学习笔记高级篇

    数据库MySQL学习笔记高级篇 写在前面 学习链接:数据库 MySQL 视频教程全集 1. mysql的架构介绍 mysql简介 概述 高级Mysql 完整的mysql优化需要很深的功底,大公司甚至有 ...

  5. MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限

    1.新建用户 //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> insert into mysql.user(Host,User,Pas ...

  6. Robot Framework-DatabaseLibrary数据库(MySql)

    Robot Framework-Mac版本安装 Robot Framework-Windows版本安装 Robot Framework-工具简介及入门使用 Robot Framework-Databa ...

  7. paip.导入数据英文音标到数据库mysql为空的问题之道解决原理

    paip.导入数据英文音标到数据库mysql为空的问题之道解决原理 #---原因:mysql 导入工具的bug #---解决:使用双引号不个音标括起来. 作者 老哇的爪子 Attilax 艾龙,  E ...

  8. paip.解决 数据库mysql增加列 字段很慢添加字段很慢

    paip.解决 数据库mysql增加列 字段很慢添加字段很慢 #环境如下: mysql5.6    数据仅仅3w alter table xxx add column yyy int default ...

  9. Sqoop是一款开源的工具,主要用于在HADOOP(Hive)与传统的数据库(mysql、oracle...)间进行数据的传递

    http://niuzhenxin.iteye.com/blog/1706203   Sqoop是一款开源的工具,主要用于在HADOOP(Hive)与传统的数据库(mysql.postgresql.. ...

随机推荐

  1. 黑马程序员_高新技术之javaBean,注解,类加载器

    ----------- android培训.java培训.java学习型技术博客.期待与您交流! ---------- 第一部分 javaBean 一,由内省引出javaBean 1,内省: 内省对应 ...

  2. URAL 1796. Amusement Park (math)

    1796. Amusement Park Time limit: 1.0 second Memory limit: 64 MB On a sunny Sunday, a group of childr ...

  3. 使用c#获取access中所有表的表名与内容

    以前在网上查过,似乎也可以通过读取access系统表的方法来获得,但是实在想不想来是什么,今天又在网上找了找,终于发现更加方便的方法,更重要的是,这种方法也可以通用所有OLEDB数据源. 这里用到了O ...

  4. php什么是变量的数据类型

    什么是变量的数据类型 在变量中,由于变量占用的空间单元不一样(占的地盘大小不一样),也分成几种数据类型,就像超市商品的包装袋,有几种不同类型,不同的商品使用不同的包装袋.我们可以通过使用“memory ...

  5. kafka 使用、介绍

    kafka  是一个消息系统, 具体资料可以参考官网: BrokerKafka集群包含一个或多个服务器,这种服务器被称为broker Topic每条发布到Kafka集群的消息都有一个类别,这个类别被称 ...

  6. QF——对不同尺寸屏幕的适配(自动布局:AutoLayout)

    对不同尺寸设备UI的适配: 很多时候,我们的App可能运行在不同尺寸的设备上,或者横竖屏时,呈现方法应该也不一样.这样便要求UI里各控件的位置和大小不能写死. 对于不同尺寸UI的适配,一般有三种对策: ...

  7. js点击更多显示更多内容效果

    我写了一个简单的分段显示插件,用法很简单:1,把你要分面显示的内容的容器元素增加一个class=showMoreNChildren,并增加一个自定义属性pagesize="8" 这 ...

  8. SVN+post-commit 搭建自动同步版本库

    一.需求. 本地文件上传到测试环境svn,测试环境同步到生产环境rsync.开发环境与测试环境与生产环境分离. 二.搭建SVN服务器. yum -y install subversion && ...

  9. python 内置错误类型 Built-in Exceptions

    BaseException +-- SystemExit +-- KeyboardInterrupt +-- GeneratorExit +-- Exception +-- StopIteration ...

  10. MVC4,MVC3,VS2012+ entity framework Migration from Sqlserver to Mysql

    在开发的初期个人认为因VS与Sqlserver的配合很默契,即可以方便的实现Code First,又可以使用SqlServer Manager很漂亮的进行建模与变更,也许是个人的使用习惯MS的界面做的 ...