At about 10 in the morning, my colleague said that there was a problem when using JIRA. The specific screenshots are as follows:



Error: The number of connections to the mysql database is faulty

Solutions:

1. Log in to the mysql database

Mysql -- uroot -- p123456 Mysql > show variables like'%max_connections%'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 151 | + -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - + -- -- -- -- -- -- -- + 1 row in the set (0.00 SEC)Copy the code

Mysql default maximum number of connections is 100.

Later, I thought it might be different versions of the problem, the default connection number is also different.

The default maximum number of connections for mysql5.5.3 is 151, and the maximum number of connections is 100000.

2. Change the default maximum number of mysql connections to 1000

Add max_connections=1000 to [mysqld] /etc/my.cnf

Add 1: The default maximum number of connections of other mysql versions

Mysql5.5 mysql5.6 mysQL5.7: default maximum number of connections is 151, upper limit: 100000



The default maximum number of connections and the maximum number of connections that can be modified vary depending on the minor version of Mysql5.1



Mysql5.0: The default maximum number of connections is 100 and the upper limit is 16384



Add 2: Change the default maximum number of connections to the mysql database

Method 1: Modify the main mysql configuration file /etc/my.cnf, add max_connections=1000 to [mysqld], and restart the mysql service.

Method 2: Log in to the mysql client and modify global variables on the CLI

mysql -uroot -p123456
mysql> set global_max_connections = 200;
mysql> show processlist;
mysql> show status;
Copy the code

Check the maximum number of mysql connections after the modification

mysql> show variables like '%max_connections%'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 1000 | + -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - + -- -- -- -- -- -- -- + 1 row in the set (0.00 SEC)Copy the code

Mysqld. cc = mysqld.cc = mysqld.cc = mysqld.cc = mysqld.cc

{"max_connections", OPT_MAX_CONNECTIONS,
  "The number of simultaneous clients allowed.", (gptr*) &max_connections,
  (gptr*) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 100, 1, 16384, 0, 1,
  0},
Copy the code

Change it to:

{"max_connections", OPT_MAX_CONNECTIONS,
  "The number of simultaneous clients allowed.", (gptr*) &max_connections,
  (gptr*) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 1500, 1, 16384, 0, 1,
  0},
Copy the code

Save exit, then./configure; make; Make install can get the same effect

Mysqld_safe = mysqLD_safe

Edit the mysqLD_Safe configuration file to find the following:

then $NOHUP_NICENESS $ledir/$MYSQLD
  $defaults --basedir=$MY_BASEDIR_VERSION
  --datadir=$DATADIR $USER_OPTION
  --pid-file=$pid_file
  --skip-external-locking
  -O max_connections=1500
  >> $err_log 2>&1 else
  eval "$NOHUP_NICENESS $ledir/$MYSQLD
  $defaults --basedir=$MY_BASEDIR_VERSION
  --datadir=$DATADIR $USER_OPTION
  --pid-file=$pid_file
  --skip-external-locking $args
  -O max_connections=1500 >>
  $err_log 2>&1"
Copy the code

Save the Settings, exit, and restart the mysql service.