一、目标名称

  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. iOS8 用AVAudioPlayer播放音乐(Swift)

    AVAudioPlayer 类提供了播放音频文件的功能,在本次教程中,我们将对一个音乐文件进行播放暂停和停止操作,此外还会显示标题和播放时间.本次教程使用iOS8和Xcod6.3.1 打开Xcode创 ...

  2. Android 仿微信滑动删除

    做这个功能主要是项目需要:找了很多资料但是效果都不理想,后来就自己研究写了一个,拿出来共享给大家,贴上代码大家慢慢看看,还是比较容易懂的. 主要代码: package com.zbq.widget; ...

  3. html系列教程--input label

    <input> 标签:用于提交用户输入数据的文本框. input属性: 1.checked:用于checkbox,radio等元素,确定是否选中,true/false 2.disabled ...

  4. Ant 简易教程

    转载:http://www.cnblogs.com/jingmoxukong/p/4433945.html Ant 简易教程 Apache Ant,是一个将软件编译.测试.部署等步骤联系在一起加以自动 ...

  5. poj2459 Treasure Exploration (闭包+二分)

    这道题是让求派出机器人的最少数量,乍一看以为是简单的求最小路径覆盖,后来发现错了,因为有的点可以走多次,而二分中每个点只能走一次,所以要先用floyd进行传递闭包,然后用二分 #include< ...

  6. Linux命令之ifconfig

    许多windows非常熟悉ipconfig命令行工具,它被用来获取网络接口配置信息并对此进行修改.Linux系统拥有一个类似的工具,也就是ifconfig(interfaces config).通常需 ...

  7. JVM学习之JVM1.6 GC详解

    转自:http://www.cnblogs.com/ggjucheng/p/3977384.html,多谢分享 前言  JVM GC是JVM的内存回收算法,调整JVM GC(Garbage Colle ...

  8. mysql触发器使用注意

    1.在创建触发器的时候,语句中避免在一个select语句查询多个列,例如使用select a,b from table,应该分开使用select语句, 例如select a from table  s ...

  9. 转 git操作小结

    UNDER MIT LICENSE. 公司几乎所有的项目都是使用 git 仓库来管理代码,以前对 git 只有些肤浅的了解,每次提交代码或者上线的时候总是会提心吊胆,生怕出现一些未知的问题.经过三个月 ...

  10. HTML5 Placeholder实现input背景文字提示效果

    这篇文章我们来看看什么是input输入框背景文字提示效果,如下图所示: 这种效果现在网上非常的普遍流行,但大部分是使用JavaScript实现的.但HTML5给我们提供了新的纯HTML的实现方式,不需 ...