mysql中的mysql_real_connect连接参数配置

2008-02-23 07:43:11来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

在前一篇文章中,讲述了如何进行mysql源程式代码的编译链接,但是没有讲述运行情况,在按照上一篇文章代码下进行编译运行后,发现无法链接数据库文档,显然是在mysql_real_connect()函数中出现了问题。在mysql的英文手册中找到关于mysql_real_connect()的如下描述:

//函数原型描述 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)

Description

mysql_real_connect() attempts to establish a connection to a MySQL database engine
running on host. mysql_real_connect() must complete successfully before you can
execute any other API functions that require a valid MYSQL connection handle structure.

The parameters are specified as follows:

*

The first parameter should be the address of an existing MYSQL structure. Before
calling mysql_real_connect() you must call mysql_init() to initialize the MYSQL
structure. You can change a lot of connect options with the mysql_options() call.
See Section 17.2.3.47, “mysql_options()”.
*

The value of host may be either a hostname or an IP address. If host is NULL or the
string "localhost", a connection to the local host is assumed. If the OS supports sockets
(Unix) or named pipes (Windows), they are used instead of TCP/IP to connect to the server.
*

The user parameter contains the user's MySQL login ID. If user is NULL or the empty
string "", the current user is assumed. Under Unix, this is the current login name. Under
Windows ODBC, the current username must be specified explicitly. See Section 18.1.9.2,
“Configuring a MyODBC DSN on Windows”.
*

The passwd parameter contains the password for user. If passwd is NULL, only entries
in the user table for the user that have a blank (empty) password field are checked for a
match. This allows the database administrator to set up the MySQL privilege system in
such a way that users get different privileges depending on whether they have specified
a password.

Note: Do not attempt to encrypt the password before calling mysql_real_connect();
password encryption is handled automatically by the client API.
*

db is the database name. If db is not NULL, the connection sets the default database
to this value.
*

If port is not 0, the value is used as the port number for the TCP/IP connection. Note
that the host parameter determines the type of the connection.
*

If unix_socket is not NULL, the string specifies the socket or named pipe that should
be used. Note that the host parameter determines the type of the connection.
*

The value of client_flag is usually 0, but can be set to a combination of the following
flags to enable certain features:

//上面描述了五个参数的主要取值,MYSQL *为mysql_init函数返回的指针,host为null或 // localhost时链接的是本地的电脑,当mysql默认安装在unix(或类unix)系统中,root账户是没// 有密码的,因此用户名使用root,密码为null,当db为空的时候,函数链接到默认数据库,在进行 // mysql安装时会存在默认的test数据库,因此此处能够使用test数据库名称,port端口为0,使用 // unix连接方式,unix_socket为null时,表明不使用socket或管道机制,最后一个参数经常配置为0

Flag Name Flag Description
CLIENT_COMPRESS Use compression protocol.
CLIENT_FOUND_ROWS Return the number of found (matched) rows, not the number of
changed rows.
CLIENT_IGNORE_SPACE Allow spaces after function names. Makes all functions names
reserved words.
CLIENT_INTERACTIVE Allow interactive_timeout seconds (instead of wait_timeout
seconds) of inactivity before closing the connection. The client's session wait_timeout
variable is set to the value of the session interactive_timeout variable.
CLIENT_LOCAL_FILES Enable LOAD DATA LOCAL handling.
CLIENT_MULTI_STATEMENTS Tell the server that the client may send multiple
statements in a single string (separated by ‘;’). If this flag is not set,
multiple-statement execution is disabled. Added in MySQL 4.1.
CLIENT_MULTI_RESULTS Tell the server that the client can handle multiple result
sets from multiple-statement executions or stored procedures. This is automatically
set if CLIENT_MULTI_STATEMENTS is set. Added in MySQL 4.1.
CLIENT_NO_SCHEMA Don't allow the db_name.tbl_name.col_name syntax. This is for
ODBC. It causes the parser to generate an error if you use that syntax, which is useful
for trapping bugs in some ODBC programs.
CLIENT_ODBC The client is an ODBC client. This changes mysqld to be more
ODBC-friendly.
CLIENT_SSL Use SSL (encrypted protocol). This option should not be set by
application programs; it is set internally in the client library. Instead, use

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: mysql5 master slave安装配置日志

下一篇: MySQL账户相关