mysql问题排查过程感受
《mysql问题排查过程感受》要点: mysql问题排查过程感受晚上把博客迁了个服务器,新建用户的时候遇到问题了. 关于mysql的问题. 前置操作 建了两个用户,一个laravel,一个blog用户以及他们的同名数据库. 建好之后,命令行下面连接mysql服务,都能正常登录,而且也都能连上各自的数据库. 问题体现 之前laravel用的root账号,这次建好laravel用户之后,改了laravel的配置文件,laravel的服务一切正常 但是blog用户能在终端登录,代码不克不及连接数据库. 1.开始以为是用户权限没设置好1.1 重新设置权限给blog用户,还是不行. 1.2 根据mysql官方文档删除用户之后,重建blog用户. 竟然还是不行! 1.3 刚好在迁移博客的时候从GitHub拉了typecho的新代码,这个时候以为是typecho升级造成的问题,那么就别升级了,直接用新代码新安装.竟然还是不行!! ** 期间经历了重启php-fpm,重启mysql等各种乱七八糟的操作之后还是没办理.** 那就只能看看调试信息了. 2.调试typecho只提示连接数据库失败,上服务器改了下install.php文件,把具体的异常打印出来. 异常中说
3.搜索好多人都说连接数据库的时候把localhost改成127.0.0.1就可以办理.但如果就这么办理了多没意思 有人提到是socket文件纰谬.看了下php.ini,配置文件中的选项是空的,注释掉的. 办理办理A 这里其实应该有解决方法了,就是去改php.ini,设置默认的socket. 但还是不想这么简单的办理问题,就继续往下查了. 办理B (这里还走了一个弯路,以为是socket文件纰谬,删掉sock文件,重启mysql,发现还是不行.) 执行
连接mysql,执行 ,成果: 看了下php的配置 这里可以看到mysql的socket设置和php是的socket是纰谬应的. 这里用了一个比较二的办法.直接在/tmp建立了一个软连接到实际的sock,能运行了. 后期的猜测与疑问1.为什么laravel能正常跑而typecho不行呢? 猜测:typecho用的是pdo,会必要这个socket,laravel没用这个. 在调试期间也用phpstorm自带的数据库连接器连接也失败,如果是这种猜测的话为什么phpstorm也失败,莫非phpstorm用的连接内核也是PDO? 2.为什么他们把localhost改成127.0.0.1就行? 这个问题就太专业了,不知道了. 巴拉巴拉 中途还惨杂着切换typecho各种试,typecho新老版本还切换了分歧的数据驱动文件. 排盘问题的时候还是别搞幺蛾子了,一点点慢慢排查. 我有时候有点受虐倾向,便是喜欢走弯路去排查问题. 从头到尾总共能花了两个多小时吧.. 编程之家PHP培训学院每天发布《mysql问题排查过程感受》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |