Trouver le service de windows nom de l'instance de serveur MySql
Le nom par défaut de windows service qui détient instance de serveur MySQL est 'MySQL'. Mais MySQL 5.5 permet à l'utilisateur de spécifier un nom pour elle après l'installation. Maintenant, j'ai besoin de savoir le nom de MySQL service windows mais je ne peux pas comprendre d'où ma demande devrait regarder de ce nom. J'essayais de spécialement faire de ce nom inhabituel et ensuite trouver où MySQL stockées dans le système. Mais ce nom étrange est que dans la liste de services de registre de windows. mon.ini, my-huge.ini, et d'autres fichiers ini du serveur MySQL ne contient pas d'informations sur la façon dont il est un service windows est nommé. Alors, où MySQL stocke ce nom?
Windows version: 7 X86/X64, MySQL version: 5.5.
Merci à l'avance.
Vous devez vous connecter pour publier un commentaire.
Nouveau à MySQL, j'ai couru dans la même question. Ce que j'ai fait pour contourner ce problème est de définir l'instance shared_memory_base_name le même que le nom du service dans le ini:
Ce rendre disponible via la variable système @@shared_memory_base_name. Je n'ai pas fait d'activer la mémoire partagée des connexions, il suffit de mettre la variable.
Je n'ai pas essayé sous Linux, mais peut-être le réglage de l' @@socket variable système pourrait fournir le même.
Je réalise que j'ai un peu de retard pour vous aider à maintenant, mais quelqu'un peut trouver utile...
Il est stocké dans le registre. L'Instance MySQL Assistant de Configuration de lit le registre qui contient le nom et le chemin de l'correspondait service .exe.
Mais je ne sais pas exactement comment trouver ces entrées de registre par programmation.
PS: Les entrées peuvent être trouvés ici:
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL[xy]
(xy est la version comme: 57 5,7)
La ServiceName est stocké dans la clé "DisplayName" et le chemin d'accès à l' .exe dans "ImagePath".
Remarque: Ces chemin d'accès contient des paramètres de démarrage comme le chemin d'accès à la mes.fichier ini aussi.
MySql variable @@pid_file contient le chemin vers le fichier contient des proccess id de mysql instanse.
Lire cette valeur et de la carte de service windows.
Dans mon code c#:
MySQL n'a pas besoin d'enregistrer ce nom de n'importe où. Le processus serveur est lancé par Windows contrôleur de service, et le client communique avec le serveur via le réseau, donc il n'a pas besoin de connaître le nom de l'un ou l'autre. Comme vous l'avez découvert, le seul endroit où cela va apparaître dans la liste des services dans le registre. Sur Linux, processus de démons n'ont pas de noms particuliers aux Fenêtres de services. Le nom du service est un artefact de l'exécution sur Windows, et MySQL ne sait pas ou les soins à ce sujet.