у меня AWS RDS - MariaDB 10.1.31, db.t2.medium
. и я всегда использую этот код для подключения и закрытия экземпляра RDS:
$conn = new mysqli($servername, $username, $password, $dbname);
//--- SOME CODES HERE
$conn->close();
Я запускаю свои коды, используя cron каждую минуту. Затем я проверил процесс с помощью этой команды:
mysql> SELECT IP_ADDRESS, COUNT(*) AS NUM FROM ( SELECT SUBSTRING(HOST, 1, CHAR_LENGTH(HOST) - 6) AS IP_ADDRESS FROM INFORMATION_SCHEMA.PROCESSLIST GROUP BY HOST ) AS t1 GROUP BY IP_ADDRESS ORDER BY IP_ADDRESS DESC;
+--------------+-----+
| IP_ADDRESS | NUM |
+--------------+-----+
| localhost | 1 |
| 172.31.9.xxx | 4 |
| 172.31.3.yy | 10 |
| 172.31.2.zzz | 1 |
+--------------+-----+
4 rows in set (0.34 sec)
Я запускаю эту команду каждую секунду и понимаю, что IP-адрес одного из экземпляров EC2 все еще там, даже я ввел $conn->close();
в свои коды.
похоже, что процесс застрял в таблице PROCESSLIST.
как сразу очистить таблицу PROCESSLIST после выполнения $conn->close();
?
спасибо.