思考一个问题的解决过程

环境:CentOS 6.2

问题描述:

MySQL返回错误提示为: Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ (2)

项目中需要实现代码导出MySQL数据库中表结构的功能,于是我先单独写这个功能,然后整合上去,单独的小程序可以了,但是整合上去却无法连接MySQL数据库,返回的错误码和提示如标题。

问题分析:

这个问题出现的奇怪之处是,单独的小程序可以使用,但是整合到项目中却不可以使用,而且错误提示是/tmp/mysql.sock不可用,于是我使用ls查看,结果发现该路径不存在,也就说这个路径指向的套接字根本不存在,而/usr/lib/mysql/mysql.sock却是存在的。但是问题回到原点,为什么单独的小程序可以呢?

原因就在于单独的小程序使用的我自己虚拟机上安装的MySQL的库以及头文件,然而,项目中却是包含了对MySQL封装后的头文件,而且Makefile文件写的比较复杂,我是小菜,所以看不太懂,但是根据情况分析得知我的这段代码在项目中使用的库肯定不是我自己虚拟机的MySQL库,因此,它对sock的路径指向是不对的,也就是说单独的小程序的sock是/usr/lib/mysql/mysql.sock,因为它是存在的,所以可以运行,然而项目中由于使用的库不一样,所以sock的路径是/tmp/mysql.sock,所以它是无法连接数据库的。

解决方法:

遇到问题,我也是首先在网上搜索,参考的这位哥们的答案解决的,我使用的是添加链接的方法,即$>ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

总结:

其实当我们遇到问题的时候如果仔细的去分析问题的出错原因,然后根据自己掌握的知识去解决的话,我想还是可以搞定的,但是可能人都是有惰性的,我也是,一般遇到问题就会先到网上去搜索,然后挨个的试试,然后问题不知道是怎么发生的,解决了也不知道是怎么解决的,如此一次一次,遇到问题仍然是百度、谷歌。

其实我倒不算是说这样去搜问题有什么不好,毕竟大家都是这么一步步走过来的,在我们刚学编程的时候,估计都听老师或者前辈说过,要多使用搜索引擎,但是当我走到我现在这个阶段,发现,搜索有时候其实很浪费时间,好多问题的解决办法都是抄来抄去(我也经常这么干),更有甚者,有些答案连去试验都没有就转走,这样对于下面遇到这个问题人来说就是灾难,因为不管怎么搜,总是那么几个答案,而且打开来看根本就是一模一样(我就经常遇到这样的情况),连自己遇到问题时的开发环境都不带附加的。

我想说的是我们是应该多使用搜索引擎,毕竟在开始的阶段,它是最好的老师。但是还是不要停止使用我们的大脑,它才是世界上最快、最精密的计算机,不要让它资源浪费,如果只是一味的照着网上的答案去”解决问题“,而不思考,那么你只能一直做”码“农了。

曾经一位前辈告诉过我一句话:当你无法从网上找到你需要的答案,而必须去书上找时,你就真正进入编程的门了。

思考一个问题的解决过程

时间: 2024-08-28 03:23:54

思考一个问题的解决过程的相关文章

一个问题完整解决过程记录

有时候一些东西不经意听见了,并不当回事,回头就忘了.人总是这么健忘! 学习hebernate的时候,看到一句话,对于需 要映射到数据库中的实体类需要满足几个要求,其中有一个是说对于重写了equals重写后要重写hashcode.相信这是一句老生常谈的话了,大家都不 陌生.当时我也一扫而过.后来看到一个短片说怎样验证一个cookie有效性也提到了hash算法.于是就想验证一下之前的两个重写. 当时随手就写了一段代码(没有用快捷键),如下: 1 public class hash { 2 publi

一个图文混排问题的解决过程

需求如所示:左边的是效果图,右边的是完成后的图                 具体需求描述:用户的回复一条就是一个cell,字数不定.当存在某种条件时,需要在文字(可能换行)的最后一个字后面添加一个能点击的删除按钮小图标,文字支持emoji表情符号. 解决过程: 1.一看到这种文字中需要穿插图片的就想到了富文本中的NSTextAttachment对象,它可以包装一个image后生成一个富文本,再给UILabel显示就能完成显示需求,但是,该对象只能包装UIImage对象,无法监听图片的点击事件

[MySQL]-->询5 几天之内解决在新年发行一个同事的生日过程

前言:        遇到朋友提问,例如以下:SELECT * FROM ali_users WHERE  DATEDIFF(CAST(CONCAT(DATE_FORMAT(NOW(),'%y'),DATE_FORMAT(birthday,'-%m-%d'))AS DATE),CAST(DATE_FORMAT(NOW(),'%y-%m-%d') AS DATE)) <=1上面的能够找到今天或者明天过生日的假设今天是12月31日,这时候来年的1月1日的就找不到了.怎么办? 1.准备測试数据,须要包

启动Tomcat一闪而过——分析及解决过程

转自http://www.cnblogs.com/godtrue/p/4339045.html 启动Tomcat一闪而过--分析及解决过程 嗯,昨天将有关JDK的知识稍微整理了一下,现在稍微整理一下有关Tomcat的! 1:Tomcat是什么? Tomcat是当今世界上使用最为广泛的.开源免费的Servlet/JSP容器,其主要功能是用于发布JavaWeb应用. 更多的信息请参看: http://tomcat.apache.org/ 2:怎么选择Tomcat的版本 规则是看我们选择使用的技术是什

lab6:分析Linux内核创建一个新进程的过程

李俊锋 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.实验原理 1.进程的定义 进程是操作系统的概念,每当我们执行一个程序时,对于操作系统来讲就创建了一个进程,在这个过程中,伴随着资源的分配和释放.可以认为进程是一个程序的一次执行过程. 2.进程与程序的区别 程序时静态的,它是一些保存 在磁盘上得指令的有序集合,没有任何执行的概念. 进程是一个动态的概念,它是程序执行的过程

MySQL数据库ab主从复制出错及解决过程

MySQL数据库ab主从复制出错及解决过程 一.mysql主从服务器报错描述:Slave_IO_Running=NO,Slave_SQL_Running=YES,Last_Errno=0 mysql slave stop ; mysql slave start; mysql show slave status ; 如果Slave_IO_Running=YES ...解决过程 :1 如果:Slave_IO_Running=NO,Slave_SQL_Running=YES,Last_Errno=0m

[转]线上GC故障解决过程记录

排查了三四个小时,终于解决了这个GC问题,记录解决过程于此,希望对大家有所帮助.本文假定读者已具备基本的GC常识和JVM调优知识,关于JVM调优工具使用可以查看我在同一分类下的另一篇文章: http://my.oschina.net/feichexia/blog/196575 背景说明 发生问题的系统部署在Unix上,发生问题前已经跑了两周多了. 其中我用到了Hadoop源码中的CountingBloomFilter,并将其修改成了线程安全的实现(详情见:AdjustedCountingBloo

MySQL redo lock 死锁问题排查 &amp; 解决过程

版权声明:本文由 MySQL redo lock 死锁问题排查 & 解决过程 张青林 原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/181 来源:腾云阁 https://www.qcloud.com/community 周一上班,首先向同事了解了一下上周的测试情况,被告知在多实例场景下 MySQL Server hang 住,无法测试下去,原生版本不存在这个问题,而新版本上出现了这个问题,不禁心头一颤,心中不禁感到奇怪

记录linux /bin被误删除的解决过程

1.事因: 执行shell测试时,shell中rm -rf $path/* 变量$path为空,结果执行的命令是rm -rf / 事发时及时ctrl+c中断,导致只有/bin /boot目录删除 2.造成后果 大部分/bin下的shell命令无法执行,例如ls mkdir chmod tar ssh login...也就是想ssh远程登录也不行了. 3.解决过程 1).好在我当前ssh会话没有关上,虽然新会话没有办法远程ssh,但只要现在这个会话不关闭那么就可以一直用着……………… 2).从集群