|
|
|
| for(int n5=0; ; n5++) {
if(mysql_real_connect(/*тут стандартные данные в основном нули*/) {
/*тут вообще ничего нет*/
//сразу же завершим работу
mysql_close( myData ) ;
} else {
//примерно когда n5==2000 мы заходим сюда и больше подключатся не хотим
int kkkk=0;
}
}
????????????????????????????????????????????????????????????????????? | |
|
|
|
|
|
|
|
для: Олег5687
(26.07.2007 в 14:52)
| | Вы.
Как минимум потому, что не объяснили, что это за функция mysql_real_connect() | |
|
|
|
|
|
|
|
для: Олег5687
(26.07.2007 в 14:52)
| | Да и вот эту строчку прокоментируйте
| |
|
|
|
|
|
|
|
для: Олег5687
(26.07.2007 в 14:52)
| | если я правильно понимаю, то вы В ЦИКЛЕ ПОДКЛЮЧАЕТЕСЬ К БД? Если это так, то это пипец. Подключаться нужно один раз, и отключаться тоже. (если, конечно, база одна). По ходу, у вас сервер держит 2000 подключений. Естественно, что больше он держать не хочет. Наверняка, в настройках стоит предел подключений равный 2000:) | |
|
|
|
|
|
|
|
для: SHAman
(26.07.2007 в 15:02)
| | mysql_real_connect это функция подключения к серверу mysql. Я действительно в цикле подключаюсь к сервере, но после каждого подключения отключаюсь - mysql_close. Я отдельно запускал программу-скрипт для web сервера, тоже после определенного количества запусков перестает подключаться. Как же мне сервер делать? У меня 500 человек зайдут, а остальным что, лапу сосать? | |
|
|
|
|
|
|
|
для: SHAman
(26.07.2007 в 15:02)
| | mysql_real_connect это функция подключения к серверу mysql. Я действительно в цикле подключаюсь к сервере, но после каждого подключения отключаюсь - mysql_close. Я отдельно запускал программу-скрипт для web сервера, тоже после определенного количества запусков перестает подключаться. Как же мне сервер делать? У меня 500 человек зайдут, а остальным что, лапу сосать?
Если что у меня Windows XP, MySQL 4.XXX, пробовал и MySQL 5.xxxx | |
|
|
|
|
|
|
|
для: Олег5687
(26.07.2007 в 15:14)
| | что именно делает функция mysql_real_connect?
Какие функции вызывает? | |
|
|
|
|
|
|
|
для: Trianon
(26.07.2007 в 15:23)
| | mysql_real_connect и mysql_close функции из библиотеки mysql. mysql_real_connect - подключение к серверу-базе данных, mysql_close - отключение. | |
|
|
|
|
|
|
|
для: Олег5687
(26.07.2007 в 15:30)
| | не порите чушь.
Fatal error: Call to undefined function mysql_real_connect() in z:\home\localhost\www\Test\a\shoptree\xxxx.php on line 11 | |
|
|
|
|
|
|
|
для: Trianon
(26.07.2007 в 15:36)
| | mysql_real_connect из С++ библиотеки. | |
|
|
|
|
|
|
|
для: Олег5687
(26.07.2007 в 15:51)
| | На php две функции - mysql_pconnect - установка постоянного соединения в любом случае - скорее всего обложка к mysql_real_connect
Этой функцией пользоваться в web-приложениях категорически не рекомендуется.
и mysql_connect - установка соединения лишь в случае необходимости - с возвратом дескриптора уже установленного соединения, если таковое есть и наращиванием семафора использования дескриптора. Вот это обычно и применяют.
Соответственно mysql_close - уменьшает семафор использования дескриптора. И вырубает соединение лишь тогда, когда пользоваться им некому.
А пятьсот человек у Вас одновременно не зайдут.
Точнее - как зайдут - так и выйдут. Скрипты-то исполняются мгновенно. | |
|
|
|
|
|
|
|
для: Trianon
(26.07.2007 в 16:00)
| | Я конечно не знаю ... но во всех учебниках и примерах, по использованию MySQL в С++, делают так как я написал. | |
|
|
|
|
|
|
|
для: Олег5687
(26.07.2007 в 16:23)
| | Имеет смысл продублировать вопрос в ветви c/cpp | |
|
|
|
|
|
|
|
для: Trianon
(26.07.2007 в 16:41)
| | Еще раз попробовал, до mysql_close( myData ) количество потоков на сервере 1 после mysql_close( myData ) количество потоков 0.
for(int n5=0; ; n5++) {
if(mysql_real_connect(myData, StaticConnectClass->host(), StaticConnectClass->user(), StaticConnectClass->passwd(), StaticConnectClass->db(), StaticConnectClass->port(), StaticConnectClass->unix_socket(), StaticConnectClass->client_flag())) {
MYSQL_RES *r0=mysql_list_processes(myData);
if(r0->row_count != 1) {
int kkkkk=0;
}
mysql_close( myData ) ;
MYSQL_RES *r1=mysql_list_processes(myData);
int jjj=0;
// mysql_kill(myData, (*myData).thread_id);
} else {
int kkkk=0;
}
} | |
|
|
|