Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Administration
Administration Forum d'entraide sur l'administration de MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/05/2008, 18h29   #1
Membre confirmé
 
Avatar de doderic
 
Inscription : mai 2004
Messages : 190
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 190
Points : 297
Points : 297
Envoyer un message via MSN à doderic Envoyer un message via Yahoo à doderic
Par défaut limiter le nombre de clients sur MySQL

Hello,
Y a t-il une fonction dans Mysql API (de préférence en C puisque c'est là que je code) qui permet de limiter volontairement le nombre de clients qui doivent se connecter à la base sur un serveur? Thanks
doderic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2008, 23h08   #2
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
En SQL :

Code :
SET global max_connections = 10 ;
ça doit aussi pouvoir se régler une fois pour toute dans le mysql.ini.
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2008, 19h49   #3
Membre confirmé
 
Avatar de doderic
 
Inscription : mai 2004
Messages : 190
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 190
Points : 297
Points : 297
Envoyer un message via MSN à doderic Envoyer un message via Yahoo à doderic
Salut!
Où dois je mettre cette requête? Peux tu me situer un peu plus s'il te plait ?
doderic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2008, 21h41   #4
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
euh... tu utilises bien ton API pour envoyer des requêtes à MySQL ? genre mysql_query("select machin from truc") ?

A partir du moment où tu as envoyé cette requête au serveur, le nombre de connexions est limité à 10, jusqu'au redémarrage du serveur où jusqu'à ce que tu remodifies la variable système max_connections.
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/06/2008, 19h44   #5
Membre confirmé
 
Avatar de doderic
 
Inscription : mai 2004
Messages : 190
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 190
Points : 297
Points : 297
Envoyer un message via MSN à doderic Envoyer un message via Yahoo à doderic
Hi,
D'accord pour ton astuce mais je veux limiter ça d'avance. En fait en distribuant l'application et compte tenu de la licence du nombre de postes achetée, j'aimerais faire des versions compilés où je restreins d'avance dans le code le nombre de clients qi doivent se connecter au serveur. c'est ce que je veux en fait. Dans ton cas c'est pas raiment clair
doderic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/06/2008, 22h16   #6
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
Pour le faire une fois pour toute, c'est dans le my.ini. Mais ça n'empêche évidemment personne qui aurait accès au serveur de le modifier...

Si ta problématique est de brider l'appli distribuées, je ne vois pas trop d'autre solution que de passer régulièrement ma requête, ou de vérifier la valeur de @@max_connections et faire un format c: s'ils ont triché
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 13h51   #7
Membre confirmé
 
Avatar de doderic
 
Inscription : mai 2004
Messages : 190
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 190
Points : 297
Points : 297
Envoyer un message via MSN à doderic Envoyer un message via Yahoo à doderic
Salut Antoun,
A PArtir le fait de le faire dans le ficher de configuration .ini, s'il faut prendre la méthode que tu dis, faut-il qu'à chaque fois qu'un client dans le réseau essaie d'accéder au serveur, il doit émettre une requête contenant l'instruction système dont tu parles?
doderic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/06/2008, 16h30   #8
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
Non, avec l'option GLOBAL il suffit de le faire une fois après le démarrage du serveur. Par contre, toute personne avec des droits d'admin peut re-modifier le @@max_connections derrière ton dos.
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2008, 11h14   #9
Membre confirmé
 
Avatar de doderic
 
Inscription : mai 2004
Messages : 190
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 190
Points : 297
Points : 297
Envoyer un message via MSN à doderic Envoyer un message via Yahoo à doderic
Hi,
je crois que je vais essayer ta soluce mais dis moi stp. Supposons qu'au lancement de la partie serveur du logiciel, j'envoie une requete (peut - etre pour lister le résultat après dans une grille). Dois - je mettre en même temps l'instruction que tu me donnes dans cette requête? (avant que les clients ne cherchent à se connecter au serveur contenant la partie serveur)?

- Et puis connais tu l'option à modifier dans my.ini?
Merci.

Ex de code de ce que tu dis: mysql_query(&mysql,"SELECT login, heure FROM clients SET global max_connections=6");
Quelque chose comme ça???
doderic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2008, 11h49   #10
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
Non, c'est une requête en soi. Donc :

Code :
1
2
mysql_query($mysql, "SET global max_connections=6") OR die(mysql_error($mysql));
mysql_query($mysql,"SELECT login, heure FROM clients") OR die(mysql_error($mysql));
- attention au $ au lieu de &

- a priori, il n'y a pas de raison particulière de lier les deux requêtes ; le SET GLOBAL est valable jusqu'à nouvel ordre ou jusqu'au redémarrage du serveur.

- merci de penser aux balises [CODE][/CODE] quand tu postes du code sur le forum

Pour le my.ini, j'imagine que c'est un paramètre max_connections ou max-connections.
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2008, 14h29   #11
Membre confirmé
 
Avatar de doderic
 
Inscription : mai 2004
Messages : 190
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 190
Points : 297
Points : 297
Envoyer un message via MSN à doderic Envoyer un message via Yahoo à doderic
Salut Autoun,
En fait c'est & et non $ comme tu le dis. JE code en C et non en PHP ;-). Merci pour tes réponses. Je vais essayer tout ce que t'as dit. A+ et Thanks!
Bonne suite à toi
doderic est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h52.


 
 
 
 
Partenaires

Hébergement Web