客户端通过unix_socket方式连接MySQL
2009-07-26 12:29
579 查看
我的系统是Ubuntu 8.10 desktop x86版,使用apt-get安装mysql服务端,配置文件路径:/etc/mysql/my.inf
1.查看mysql server的配置文件
27 [mysqld_safe]
28 socket = /var/run/mysqld/mysqld.sock
29 nice = 0
可以看到unix_socket路径是 /var/run/mysqld/mysqld.sock
2.填写客户端连接函数参数
函数原型:MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user,
const char *passwd, const char *db, unsigned int port, const char *unix_socket,
unsigned long client_flag)
mysql_real_connect(&mysql, NULL, "root", "123456;", "mysql", 0, "/var/run/mysqld/mysqld.sock", 0)
重点解释一下:
第二个参数host,要么写成"localhost",要么写成NULL,但是绝对不能写成IP地址,如果写成IP地址,连接方式会选择TCP/IP,而不是unix_socket;
第七个参数unix_socket,必须写成mysql server配置文件中的那个路径。
最后的建议:
如果程序和mysql服务器不在同一台电脑上,是无法使用unix_socket连接方式的,所以必须位于同一台主机。对于位于同一台主机上,而使用API进行开发的项目,强烈建议使用unix_socket连接方式,而不要使用TCP/IP方式,因为前者的效率更高!
1.查看mysql server的配置文件
27 [mysqld_safe]
28 socket = /var/run/mysqld/mysqld.sock
29 nice = 0
可以看到unix_socket路径是 /var/run/mysqld/mysqld.sock
2.填写客户端连接函数参数
函数原型:MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user,
const char *passwd, const char *db, unsigned int port, const char *unix_socket,
unsigned long client_flag)
mysql_real_connect(&mysql, NULL, "root", "123456;", "mysql", 0, "/var/run/mysqld/mysqld.sock", 0)
重点解释一下:
第二个参数host,要么写成"localhost",要么写成NULL,但是绝对不能写成IP地址,如果写成IP地址,连接方式会选择TCP/IP,而不是unix_socket;
第七个参数unix_socket,必须写成mysql server配置文件中的那个路径。
最后的建议:
如果程序和mysql服务器不在同一台电脑上,是无法使用unix_socket连接方式的,所以必须位于同一台主机。对于位于同一台主机上,而使用API进行开发的项目,强烈建议使用unix_socket连接方式,而不要使用TCP/IP方式,因为前者的效率更高!
相关文章推荐
- 关于socket通信的理解,socket连接通过IP+端口号的方式,那么如果两个服务器端的应用在同一台机器上,并且位于同一个tomcat容器下,那么岂不是两个服务器都收到了客户端发送的信息
- nginx通过TCP以及unix-domain-socket连接fastcgi方式对比
- 通过TCP/IP方式连接 “不能上到 mysqL 服务器连接 ”解决方法
- Android通过Http连接MySQL 实现登陆/注册(数据库+服务器+客户端)
- Android通过Http连接MySQL 实现登陆/注册(数据库+服务器+客户端)
- Android客户端通过Socket连接服务器
- tomcat通过socket连接MySQL,不再占用服务端口【linux】
- PHP-Websockets 上传文件2 优化支持php socket客户端和websocket连接websocket服务器 以守护进程方式运行编码
- delphi7 编写的客户端通过RSLinx OPC方式连接ab 1400plc
- android 通过socket连接服务器与客户端
- Android客户端与服务器端通过SOCKET连接进行读写(将JSON数据转化为字符串后传输)
- Mysql中通过processlist方式查询Mysql数据库当前连接的用户及会话信息
- nginx通过unix-domain-socket连接fastcgi
- 【Android学习笔记】Android作为客户端与Linux服务器端通过Socket连接
- socket连接联网查询客户端实现方式
- Android通过Http连接MySQL 实现登陆/注册(数据库+服务器+客户端)
- nginx通过unix:/socket与fastcgi连接,提升性能
- Android通过Http连接MySQL 实现登陆/注册(数据库+服务器+客户端),androidmysql
- VS2013通过MySQL方式连接到MySQL
- VS与MySQL通过ADO方式连接