Background: The MySQL into mysqli, the number of connections, it is not in fact, because I moved a bit of PHP sock file location caused by these several socket modifications have not been modified completely, so there have been too many connections, From the MySQL show Processlist did not find that there is really a connection, in fact, with Tshark grasp the package can be seen (http://justwinit.cn/post/7458/), and did not issue a request, And it is estimated that the client of mysqli, although the problem is small, engaged in a long time, all want to reinstall PHP, found that the path is wrong to write the same time mysqli the client prompts the number of connections too many false hints led to the wrong direction. As follows:
[Root@iz25z0ugwgtz etc]# grep-r "Mysql.sock"./
./php.ini:pdo_mysql.default_socket=/data/runsock/mysqlsock/ Mysql.sock
./php.ini:;mysql.default_socket =/tmp/mysql.sock
./php.ini:mysql.default_socket =/data/ Runsock/mysqlsock/mysql.sock
/php.ini:mysqli.default_socket =/data/runsock/mysql.sock//This position is moved to,/data/ Runsock/mysqlsock/mysql.sock caused.
Remember to restart PHP-FPM after modification:
[ROOT@IZ25Z0UGWGTZ etc]# service php-fpm restart gracefully shutting down php-fpm
. Do
starting php-fpm done
______________________ troubleshooting points are as follows _______________________________
Warning:mysqli::real_connect (): (hy000/1040): Too many connections in:
scene: manually compile and install MySQL, and set the installation location, PHP to connect MySQL localhost way
cause Analysis: Manually compile installation location after all the MySQL files are in the development of the directory or the data directory, PHP default will only look for/temp/mysql.sock find this sock file, so will cause sock file can not find.
Workaround:
1. Make a soft chain for sock files
Ln-s/data/mysqldb/mysql.sock/tmp/mysql.sock;
Or
2. Modify PHP default Mysql.sock connection address
Mysql.default_socket=/data/mysqldb/mysql.sock
3. Connect using a TCP socket
MySQL (' 127.0.0.1 ', ' username ', ' passwod ');
Here to introduce PHP mysql_connect () function
Definitions and usage
The mysql_connect () function opens a non-persistent MySQL connection.
Grammar
Mysql_connect (Server,user,pwd,newlink,clientflag)
parameters |
Description |
server |
Optional. Specify the server to connect to. Can include a port number, such as "Hostname:port", or a path to a local socket, such as ":/path/to/socket" for localhost. If the PHP directive mysql.default_host not defined (by default), the default value is ' localhost:3306 '. |
user |
is optional. User name. The default value is the user name of the server process owner. |
pwd |
is optional. Password. The default value is a blank password. |
newlink |
is optional. If mysql_connect () is invoked the second time with the same argument, no new connection will be established, and the connection ID that is already open will be returned. The parameter New_link changes this behavior and causes mysql_connect () to always open a new connection, even when mysql_connect () was previously invoked with the same parameters. |
clientflag |
Optional. The Client_flags parameter can be a combination of the following constants:
Mysql_client_ssl-using SSL encryption
- Mysql_c Lient_compress-Use the compression protocol
- Mysql_client_ignore_space-Allow the interval after the function name
- mysql_client_interactive-Allow off Interaction timeout before a closed connection time inactive
|
return value
If successful, returns a MySQL connection identity and returns FALSE if it fails.
Tips and comments
Note: As soon as the script is finished, the connection to the server is closed unless the mysql_close () has been explicitly invoked before.
Tip: To create a persistent connection, use the Mysql_pconnect () function.
Example
<?php
$con = mysql_connect ("localhost", "Mysql_user", "mysql_pwd");
if (! $con)
{
die (' Could not connect: '. Mysql_error ());
}
Some code ...
Mysql_close ($con);
? >