分析:这是典型的socket没有正确设置的情况。
连接MySQL数据库有两种方式:TCP/IP(一般理解的端口的那种)和Unix套接字(一般叫socket或者sock)。大部分情况下,可以用localhost代表本机127001,但是在MySQL连接时,二者不可混用,而且MySQL中权限设置中localhost与127001也是分开设置的。当设置为127001时,系统通过TCP/IP方式连接数据库;当设置为localhost时,系统通过socket方式连接数据库。
解决:首先要看本机MySQL的socket套接字文件在哪里,查看命令是:
mysqld --verbose --help | grep socket
输出结果显示套接字文件的位置,比如:这台服务器显示的是
socket /var/run/mysqld/mysqldsock
然后修改php的配置文件phpini与之对应起来就好了。
找到这一项:
mysqldefault_socket =
一般来说这一项都是空的,改成:
mysqldefault_socket = /var/run/mysqld/mysqldsock
这里应写上一步查询到的文件,根据你的情况设置。至此php配置就修改好了,如果是CLI(命令行)方式或者CGI方式的话,立即就生效,如果是FASTCGI方式,需要重启一下fastcgi进程。
1看看端口号有没有配置正确,看一下配置参数svcename跟services文件中配置的db2端口号是否一致,windows一般用50000,unix/linux一般用60000
2连接出错首先看看服务器ip 和端口写对没有
ip如果没错就要看看服务器的db2服务端口对不对。另外对于服务器下面这些也要注意
检查服务器的配置情况如下:
验证存在的DB2数据库
db2 list db directory
db2 list db directory show detail
验证实例使用的通讯协议,查看DB2COMM变量
db2set -all
查看数据库管理器的配置,查看SVCENAME(特指tcpip协议)
db2 get dbm cfg
查看/etc/services中,有无与上面对应SVCENAME的端口,例如:
db2cDB2 50000/tcp
要确认服务器是否在监听,可以用netstat -an 来查看端口是否处于LISTEN状态
连接MYSQL:mysql-h主机地址-u用户名-p用户密码
Linux *** 作系统,是一种计算机 *** 作系统,中文读法大致一般为“哩内克斯”,但真正的读法应为“哩纳克斯”。Linux *** 作系统的内核的名字也是“Linux”。Linux *** 作系统也是自由软件和开放源代码发展中最著名的例子。
简单地说,Linux是一套免费使用和自由传播的类Unix *** 作系统,它主要用于基于Intelx86系列CPU的计算机上。这个系统是由世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。
Linux的出现,最早开始于一位名叫LinusTorvalds的计算机业余爱好者,当时他是芬兰赫尔辛基大学的学生。他的目的是想设计一个代替Minix的 *** 作系统,这个 *** 作系统可用于386、486或奔腾处理器的个人计算机上,并且具有Unix *** 作系统的全部功能,因而开始了Linux雏形的设计。
绝大多数基于Linux内核的的 *** 作系统使用了大量的GNU软件,包括了shell程序、工具、程序库、编译器及工具,还有许多其他程序,例如Emacs。
正因为如此,GNU计划的开创者理查德·马修·斯托曼博士提议将Linux *** 作系统改名为GNU/Linux。但有些人只把 *** 作系统叫做"Linux"。
以上就是关于MySQL localhost无法连接数据库怎么办全部的内容,包括:MySQL localhost无法连接数据库怎么办、连接数据库失败,SQLSTATE=08001怎么解决、linux系统mysql数据库怎么进入数据库(linux进入mysql数据库命令)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)