方法1:
复制代码代码如下:
echo "show variables" | mysql | grep "socket"
方法二:
复制代码代码如下:
echo "status" | mysql | grep "socket"
注意:如果mysql设置了密码,使用-u,-p来指定用户名和密码
这里看到mysql的socket文件存放位置为/tmp/mysql.sock。
看到这儿应该知道问题所在了吧,使用localhost连接失败的原因为在socket的方式下,php默认配置的mysql服务的socket文件不存在,所以导致连接失败,如果把连接失败的错误信息dump出来,你应该会看到错误信息中包含了“No such file or directory”。
知道原因就容易修改了,只需要把php配置文件中mysql.default_socket、mysqli.default_socket、pdo_mysql.default_socket这三项值修改为mysql服务配置对应值即可,修改好后需要重启apache服务。当然也可以修改mysql配置文件中的socket信息,使其保持一致即可,修改好后重启mysql服务。
javasocket.连接服务端第一次读取不到数据第二次开始原因如下:1、socket通讯层要自己写及IO流不正确使用。遇到读取不到数据或者阻塞卡死现象或者数据读取不完整。
2、请求和响应报文格式多变解析麻烦。前面两种格式都简单。有对应框架处理。其它格式一般都需要自己手动处理。
c/s模式 你不仅需要一个client 还需要一个server你只写了一个client,没用对应的server 当然无法连接了!
import java.io.IOException
import java.net.ServerSocket
import java.net.Socket
/**
* @author zc
* @version 2011-8-1 下午04:35:19
*/
public class Server {
public static void main(String[] args) {
Server server = new Server()
server.await()
}
public void await(){
try {
ServerSocket ss = new ServerSocket(1234)
while (true) {
Socket s = ss.accept()
System.out.println("accepted a request")
System.out.println(s)
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
}
}
给你写了个简单的server
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)