MySQL Notifier is a tool that enables you to monitor and adjust the status of your local and remote MySQL server instances through an indicator that resides in the system tray. MySQL Notifier also gives quick access to MySQL Workbench through its context menu.
The MySQL Notifier is installed by MySQL Installer, and (by default) will start-up when Microsoft Windows is started.
To install, download and execute the MySQL Installer, be sure the MySQL Notifier product is selected, then proceed with the installation. See the MySQL Installer manual for additional details.
For notes detailing the changes in each release of MySQL Notifier, see the MySQL Notifier Release Notes.
Visit the MySQL Notifier forum for additional MySQL Notifier help and support.
Start, Stop, and Restart instances of the MySQL Server.
Automatically detects (and adds) new MySQL Server services. These are listed under , and may also be configured.
The Tray icon changes, depending on the status. It's green if all monitored MySQL Server instances are running, or red if at least one service is stopped. The Update MySQL Notifier tray icon based on service status option, which dictates this behavior, is enabled by default for each service.
Links to other applications like MySQL Workbench, MySQL Installer, and the MySQL Utilities. For example, choosing will load the MySQL Workbench Server Administration window for that particular instance.
If MySQL Workbench is also installed, then the and options are available for local (but not remote) MySQL instances.
Monitors both local and remote MySQL instances.
MySQL Notifier resides in the system tray and provides visual status information for your MySQL server instances. A green icon is displayed at the top left corner of the tray icon if the current MySQL server is running, or a red icon if the service is stopped.
MySQL Notifier automatically adds discovered MySQL services on the
local machine, and each service is saved and configurable. By
default, the Automatically add new services whose name
contains option is enabled and set to
mysql. Related Notifications
Options include being notified when new services are
either discovered or experience status changes, and are also
enabled by default. And uninstalling a service will also remove
the service from MySQL Notifier.
Clicking the system tray icon will reveal several options, as the follow figures show:
The Service Instance menu is the main MySQL Notifier window, and enables you to Stop, Start, and Restart the MySQL server.
The menu includes several links to external applications (if they are installed), and a Refresh Status option to manually refresh the status of all monitored services (in both local and remote computers) and MySQL instances.
The main menu will not show the menu when there are no services being monitored by MySQL Notifier.
The , menu configures MySQL Notifier and includes options to:
Use colorful status icons: Enables a colorful style of icons for the tray of MySQL Notifier.
Run at Windows Startup: Allows the application to be loaded when Microsoft Windows starts.
Automatically Check For Updates Every # Weeks: Checks for a new version of MySQL Notifier, and runs this check every # weeks.
Automatically add new services whose name contains: The text used to filter services and add them automatically to the monitored list of the local computer running MySQL Notifier, and on remote computers already monitoring Windows services.
Ping monitored MySQL Server instances every # seconds: The interval (in seconds) to ping monitored MySQL Server instances for status changes. Longer intervals might be necessary if the list of monitored remote instances is large.
Notify me when a service is automatically added: Will display a balloon notification from the taskbar when a newly discovered service is added to the monitored services list.
Notify me when a service changes status: Will display a balloon notification from the taskbar when a monitored service changes its status.
Automatic connections migration delayed until: When there are connections to migrate, postpone the migration by one hour, one day, one week, one month, or indefinitely.
The , menu enables you to configure the monitored services and MySQL instances. First, with the Services tab open:
The Instances tab is similar:
Adding a service or instance (after clicking in the window) enables you to select a running Microsoft Windows service or instance connection, and configure MySQL Notifier to monitor it. Add a new service or instance by clicking service name from the list, then to accept. Multiple services and instances may be selected.
Add instances:
For issues that are not documented here, visit the MySQL Notifier Support Forum for MySQL Notifier help and support.
Problem: attempting to
start/stop/restart a MySQL service might generate an error
similar to "The Service
MySQLVERSION
failed the most recent status change request with the
message "The service
mysqlVERSION
was not found in the Windows Services".
Explanation: this is a case-sensitivity
issue, in that the service name is
MySQLVERSION
compared to having
mysqlVERSION
in the configuration file.
Solution: either update your
MySQL Notifier configuration file with the correct information,
or stop MySQL Notifier and delete this configuration file. The
MySQL Notifier configuration file is located at
%APPDATA%\Oracle\MySQL
Notifier\settings.config where
%APPDATA% is a variable and depends on
your system. A typical location is
"C:\Users\YourUsername\AppData\Running\Oracle\MySQL
Notifier\settings.config" where
YourUsername is your system's
user name. In this file, and within the ServerList section,
change the ServerName values from lowercase to the actual
service names. For example, change
mysqlVERSION
to
MySQLVERSION,
save, and then restart MySQL Notifier. Alternatively, stop
MySQL Notifier, delete this file, then restart MySQL Notifier.
Problem: when connecting to a remote computer for the purpose of monitoring a remote Windows service, the Add Service dialog does not always show all the services shown in the Windows Services console.
Explanation: this behavior is governed by the operating system and the outcome is expected when working with nondomain user accounts. For a complete description of the behavior, see the User Account Control and WMI article from Microsoft.
Solution: when the remote computer is in a compatible domain, it is recommended that domain user accounts are used to connect through WMI to a remote computer. For detailed setup instructions using WMI, see Section 3.2, “Setting Up Remote Monitoring in MySQL Notifier”.
Alternatively, when domain user accounts are not available, Microsoft provides a less secure workaround that should only be implemented with caution. For more information, see the Description of User Account Control and remote restrictions in Windows Vista KB article from Microsoft.
MySQL Notifier uses Windows Management Instrumentation (WMI) to manage and monitor services on remote computers. This section explains how it works and how to set up your system to monitor remote MySQL instances.
In order to configure WMI, it is important to understand that the underlying Distributed Component Object Model (DCOM) architecture is doing the WMI work. Specifically, MySQL Notifier is using asynchronous notification queries on remote Microsoft Windows hosts as .NET events. These events send an asynchronous callback to the computer running MySQL Notifier so it knows when a service status has changed on the remote computer. Asynchronous notifications offer the best performance compared to semisynchronous notifications or synchronous notifications that use timers.
Asynchronous notification requires the remote computer to send a callback to the client computer (thus opening a reverse connection), so the Windows Firewall and DCOM settings must be properly configured for the communication to function properly.
Most of the common errors thrown by asynchronous WMI notifications are related to Windows Firewall blocking the communication, or to DCOM / WMI settings not being set up properly. For a list of common errors with solutions, see Common Errors.
The following steps are required to make WMI function. These steps are divided between two machines. A single host computer that runs MySQL Notifier (Computer A), and multiple remote machines that are being monitored (Computer B).
Enable remote administration by either editing the
Group Policy Editor, or using
NETSH:
Using the Group Policy Editor:
Click , click
, type
GPEDIT.MSC, and then click
.
Under the Local Computer Policy heading, expand Computer Configuration.
Expand Administrative Templates, then Network, Network Connections, and then Windows Firewall.
If the computer is in the domain, then double-click Domain Profile; otherwise, double-click Standard Profile.
Double-click Windows Firewall: Allow inbound remote administration exception to open a configuration window.
Check the option button and then click .
Using the NETSH command:
The "netsh firewall" command is deprecated as of Microsoft Server 2008 and Vista, and replaced with "netsh advfirewall firewall".
Open a command prompt window with Administrative rights (you can right-click the Command Prompt icon and select Run as Administrator).
Execute the following command:
NETSH advfirewall firewall set service RemoteAdmin enable
Open the DCOM port TCP 135:
Open a command prompt window with Administrative rights (you can right-click the Command Prompt icon and select Run as Administrator).
Execute the following command:
NETSH advfirewall firewall add rule name=DCOM_TCP135 protocol=TCP localport=135 dir=in action=allow
Add the client application that contains the sink for the
callback (MySqlNotifier.exe) to the
Windows Firewall Exceptions List (use either the Windows
Firewall configuration or NETSH):
Using the Windows Firewall configuration:
In the Control Panel, double-click Windows Firewall.
In the Windows Firewall window's left panel, click Allow a program or feature through Windows Firewall.
In the Allowed Programs window, click and do one of the following:
If MySqlNotifier.exe is in the
Allowed programs and features list, make sure it is
checked for the type of networks the computer
connects to (Private, Public or both).
If MySqlNotifier.exe is not in
the list, click .
In the Add a Program
window, select the
MySqlNotifier.exe if it
exists in the Programs list, otherwise click
Browse... and go to the directory where
MySqlNotifier.exe was
installed to select it, then click
.
Make sure MySqlNotifier.exe
is checked for the type of networks the computer
connects to (Private, Public or both).
Using the NETSH command:
Open a command prompt window with Administrative rights (you can right-click the Command Prompt icon and click ).
Execute the following command, where you change
"[YOUR_INSTALL_DIRECTORY]":
NETSH advfirewall firewall add rule name=MySqlNotifier program=[YOUR_INSTALL_DIRECTORY]\MySqlNotifier.exe action=allow dir=in
If Computer B is either a member of
WORKGROUP or is in a different domain
that is untrusted by Computer A, then the callback
connection (Connection 2) is created as an Anonymous
connection. To grant Anonymous connections DCOM Remote
Access permissions:
Click , click
, type
DCOMCNFG, and then click
.
In the Component Services dialog box, expand Component Services, expand Computers, and then right-click My Computer and click .
In the My Computer Properties dialog box, click the COM Security tab.
Under Access Permissions, click .
In the Access Permission dialog box, select ANONYMOUS LOGON name in the Group or user names box. In the Allow column under Permissions for User, select Remote Access, and then click .
If the user account that is logged on to the computer running the MySQL Notifier (Computer A) is a local administrator on the remote computer (Computer B), such that the same account is an administrator on Computer B, you can skip to the "Allow for remote administration" step.
Setting DCOM security to allow a non-administrator user to access a computer remotely:
Grant "DCOM remote launch" and activation permissions for a user or group:
Click , click
, type
DCOMCNFG, and then click
.
In the Component Services dialog box, expand Component Services, expand Computers, and then right-click My Computer and click .
In the My Computer Properties dialog box, click the COM Security tab.
Under Launch and Activation Permission, click .
In the Launch and Activation Permission dialog box, follow these steps if your name or your group does not appear in the Groups or user names list:
In the Launch and Activation Permission dialog box, click .
In the Select Users or Groups dialog box, add your name and the group in the Enter the object names to select box, and then click .
In the Launch and Activation Permission dialog box, select your user and group in the Group or user names box. In the Allow column under Permissions for User, select Remote Launch, select Remote Activation, and then click .
Grant DCOM remote access permissions:
Click , click
, type
DCOMCNFG, and then click
.
In the Component Services dialog box, expand Component Services, expand Computers, and then right-click My Computer and click .
In the My Computer Properties dialog box, click the COM Security tab.
Under Access Permissions, click .
In the Access Permission dialog box, select ANONYMOUS LOGON name in the Group or user names box. In the Allow column under Permissions for User, select Remote Access, and then click .
Allowing non-administrator users access to a specific WMI namespace:
In the Control Panel, double-click Administrative Tools.
In the Administrative Tools window, double-click Computer Management.
In the Computer Management window, expand the Services and Applications tree.
Right-click the WMI Control icon and select Properties.
In the WMI Control Properties window, click the Security tab.
In the Security tab, select the namespace and click . Root/CIMV2 is a commonly used namespace.
Locate the appropriate account and check Remote Enable in the Permissions list.
Allow for remote administration by either editing the
Group Policy Editor or using
NETSH:
Using the Group Policy Editor:
Click , click
, type
GPEDIT.MSC, and then click
.
Under the Local Computer Policy heading, double-click Computer Configuration.
Double-click Administrative Templates, then Network, Network Connections, and then Windows Firewall.
If the computer is in the domain, then double-click Domain Profile; otherwise, double-click Standard Profile.
Click Windows Firewall: Allow inbound remote administration exception.
On the Action menu either select , or double-click the selection from the previous step.
Check the radio button, and then click .
Using the NETSH command:
Open a command prompt window with Administrative rights (you can right-click the Command Prompt icon and click Run as Administrator).
Execute the following command:
NETSH advfirewall firewall set service RemoteAdmin enable
Confirm that the user account you are logging in with uses
the Name value and not the Full
Name value:
In the Control Panel, double-click Administrative Tools.
In the Administrative Tools window, double-click Computer Management.
In the Computer Management window, expand the System Tools then Local Users and Groups.
Click the Users node, and on the right side panel locate your user and make sure it uses the Name value to connect, and not the Full Name value.
0x80070005
DCOM Security was not configured properly (see Computer
B, the Setting DCOM security...
step).
The remote computer (Computer B) is a member of
WORKGROUP or is in a domain that is untrusted by the
client computer (Computer A) (see Computer A, the
Grant Anonymous connections DCOM Remote Access
permissions step).
0x8007000E
The remote computer (Computer B) is a member of
WORKGROUP or is in a domain that is untrusted by the
client computer (Computer A) (see Computer A, the
Grant Anonymous connections DCOM Remote Access
permissions step).
0x80041003
Access to the remote WMI namespace was not configured
properly (see Computer B, the Allowing
non-administrator users access to a specific WMI
namespace step).
0x800706BA
The DCOM port is not open on the client computers
(Computer A) firewall. See the Open the DCOM
port TCP 135 step for Computer A.
The remote computer (Computer B) is inaccessible because its network location is set to Public. Make sure you can access it through the Windows Explorer.