Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Except for two plain text files: the MONyog.log file and a very small .ini file (that contains information about the port on which SQL DM for MySQL listens, The SQL DM for MySQL administrator password and the path to the data folder), everything is kept in high-performance database files (SQLite format).

TOP

Anchor
FAQ-10
FAQ-10

10. Can I move a SQL DM for MySQL installation to another computer while keeping the data stored in SQL DM for MySQL database?

Yes, this is quite simple actually. Just install SQL DM for MySQL on the 2nd machine. After install stop the running MONyog(SQL DM for MySQL) service and copy the ..\MONyog\Data folder from the old installation. You may also copy the MONyog.log if you want. All the connection configuration and the data will be in 'data' directory. The error log is MONyog.log and setting are stored in 'MONyog.ini' and 'preferences.config'. If you have made any changes to monitors they will be stored in 'Counters.def' and for CSO's in 'udo.def'. Copy all of them from your old installation onto new PC. After that start the service again.

TOP

Anchor
FAQ-11
FAQ-11

11. Can SQL DM for MySQL be configured as a virtual host in my 'ordinary' Apache webserver?

...

After changing the configuration, restart the apache server.

TOP

Anchor
FAQ-12
FAQ-12

12. How can I access SQL DM for MySQL pages proxying through other webservers?

...

Code Block
themeConfluence
<Proxy *>
             Order deny, allow
             Allow from all
             </Proxy>
             ProxyHTMLExtended On
             ProxyPass      /monyog/  http://<ip-system-B>:5555/
             ProxyHTMLURLMap http://<ip-system-B>:5555/ /monyog/
             <Location /monyog/>       
                   ProxyPassReverse /
                   SetOutputFilter  proxy-html
                   ProxyHTMLURLMap  /      /monyog/
                   RequestHeader    unset  Accept-Encoding
             </Location>


TOP

Anchor
FAQ-13
FAQ-13

13. How can I access SQL DM for MySQL pages proxying through nginx?

...

Code Block
themeConfluence
server {
     server_name _;
     listen 80;
     location / {
            proxy_pass http://<ip-system-b>:5555;
            proxy_redirect     off;
            proxy_cache my-cache;
            proxy_cache_valid  200 302  0m;
            proxy_cache_valid  404      0m;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
            proxy_max_temp_file_size 0;
            client_max_body_size       10m;
            client_body_buffer_size    128k;
            proxy_connect_timeout      9000;
            proxy_send_timeout         9000;
            proxy_read_timeout         9000;
            proxy_buffer_size          4k;
            proxy_buffers              4 32k;
            proxy_busy_buffers_size    64k;
            proxy_temp_file_write_size 64k;
      }
}
server {
     server_name _;
     listen 443;
     ssl on;
     ssl_certificate /etc/nginx/conf/<certificate_name>.crt; 
     ssl_certificate_key /etc/nginx/conf/<certificate_key>.key; 
     location / { 
            proxy_pass http://<ip-system-b>:5555; 
            proxy_redirect off; 
            proxy_cache my-cache;
            proxy_cache_valid 200 302 0m; 
            proxy_cache_valid 404 0m; 
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_max_temp_file_size 0; 
            client_max_body_size 10m; 
            client_body_buffer_size 128k;
            proxy_connect_timeout 9000; 
            proxy_send_timeout 9000; 
            proxy_read_timeout 9000;
            proxy_buffer_size 4k; 
            proxy_buffers 4 32k;
            proxy_busy_buffers_size 64k; 
            proxy_temp_file_write_size 64k; 
     } 
}

TOP

Anchor
FAQ-14
FAQ-14

14. Can I access SQL DM for MySQL pages using encrypted connection such as "https"?

...

  1. Create a directory

    Code Block
    themeConfluence
    mkdir sslcert

    Now protect the directory,

    Code Block
    themeConfluence
    chmod 0700 sslcert
  2. Create two subdirectories

    Code Block
    themeConfluence
    mkdir certs private
  3. Create a database to keep track of each certificate

    Code Block
    themeConfluence
    echo '100001' >serial
    touch certindex.txt
  4. Create a custom config file for OpenSSL to use similar to openssl.cnf in your /etc/pki/tls folder.

    Code Block
    themeConfluence
         dir = .
            [ ca ]
            default_ca = CA_default
            [ CA_default ]
            serial = $dir/serial
            database = $dir/certindex.txt
            new_certs_dir = $dir/certs
            certificate = $dir/cacert.pem
            private_key = $dir/private/cakey.pem
            default_days = 365
            default_md = md5
            preserve = no
            email_in_dn = no
            nameopt = default_ca
            certopt = default_ca
            policy = policy_match
            [ policy_match ]
            countryName = match
            stateOrProvinceName = match
            organizationName = match
            organizationalUnitName = optional
            commonName = supplied
            emailAddress = optional
            [ req ]
            default_bits = 1024 # Size of keys
            default_keyfile = key.pem # name of generated keys
            default_md = md5 # message digest algorithm
            string_mask = nombstr # permitted characters
            distinguished_name = req_distinguished_name
            req_extensions = v3_req
            [ req_distinguished_name ]
            0.organizationName = Organization Name (company)
            organizationalUnitName = Organizational Unit Name (department, division)
            emailAddress = Email Address
            emailAddress_max = 40
            localityName = Locality Name (city, district)
            stateOrProvinceName = State or Province Name (full name)
            countryName = Country Name (2 letter code)
            countryName_min = 2
            countryName_max = 2
            commonName = Common Name (hostname, IP, or your name)
            commonName_max = 64
            0.organizationName_default = My Company
            localityName_default = My Town
            stateOrProvinceName_default = State or Providence
            countryName_default = US
            [ v3_ca ]
            basicConstraints = CA:TRUE
            subjectKeyIdentifier = hash
            authorityKeyIdentifier = keyid:always,issuer:always
            [ v3_req ]
            basicConstraints = CA:FALSE
            subjectKeyIdentifier = hash
  5. Create a root certificate All other certificates you create will be based of this. Since this is not a commercial certificate software may complain when they use your certificates. You may give people the "public" certifcate and your certifcate will work like commercial ones when they import it. To create, while in the 'sslcert' directory type:

    Code Block
    themeConfluence
    openssl req -new -x509 -extensions v3_ca
    -keyout private/cakey.pem -out cacert.pem -days 365 -config ./openssl.cnf

    You will be prompted for information and a password. Do not lose this password, make sure it is a secure one and back up the two files that are created.

    The two files that are created are cacert.pem, which is the one you can give to others for import in their browsers and cakey.pem, which will be in the private directory.

  6. Create a key and signing request

    Code Block
    themeConfluence
    openssl req -new -nodes -out name-req.pem
    -keyout private/name-key.pem -config ./openssl.cnf

    You will be prompted for information. The critical part is the "Common Name". This must be the server's hostname, such as mail.your.domain or the IP address. If you want to cover all subdomains you can enter *.your.domain. Use the "Organizational Unit" to remind you what the certificate is for, such as "Web Server". This will generate two files:

    • name-req.pem - the request

    • name-key.pem - the private key in the private directory

  7. Sign the request This will generate the certificate,

    Code Block
    themeConfluence
    openssl ca -out name-cert.pem -config
    ./openssl.cnf -infiles name-req.pem

    You will be prompted for the password used when creating the root certificate. Two files are created:

    • <number.pem> - a copy of it in the certs directory 
    • name-cert.pem - which is the certificate


  8. Copy to the correct location For apache 2.x on Red Hat using the default location, the directory is:

    1. For the name-key.pem: 

      Code Block
      themeConfluence
      cp 
      name-key.pem /etc/httpd/conf/ssl.key/
    2. For the certificate:

      Code Block
      themeConfluence
      cp
      name-cert.pem /etc/httpd/conf/ssl.crt/
  9. Create a Virtual Host

    Code Block
    themeConfluence
    <VirtualHost ip-system-A>:443> DocumentRoot /var/www/html
         ServerName myserver
         ErrorLog /etc/httpd/logs/ssl_error_log
         TransferLog /etc/httpd/logs/ssl_access_log
         SSLEngine On
         SSLCertificateFile /etc/httpd/conf/ssl.crt/name-cert.pem
         SSLCertificateKeyFile /etc/httpd/conf/ssl.key/name-key.pem
          </VirtualHost>
  10. Configure proxy in Apache described in FAQ 13 and restart Apache.

    Edit the Hosts file [/etc/hosts]

    Code Block
    themeConfluence
    <ip-system-A> myserver

TOP

Anchor
FAQ-15
FAQ-15

15. What are the major differences between other major MySQL Monitoring Tool and SQL DM for MySQL?

...

  • SQL DM for MySQL is distributed with a perpetual license and is not bundled with anything else. But other MySQL Monitoring Tools are available only as part of a larger support package with periodical license terms.
  • SQL DM for MySQL needs no installation (of 'agents') on the server where the MySQL servers are running. Other does.
  • SQL DM for MySQL 'has everything in itself' - the webserver, the database, the MySQL client. It does not depend on the existence of other webservers, runtimes/Virtual Machines (like JAVA) and needs no separate database install. Other monitoring tools requires a full JDK (java), a TOMCAT server and a MySQL server instance for itself. Due to this simplified architecture install, configuration and first of all maintenance and upgrade is much simpler with SQL DM for MySQL. Download packages and disk storage required are much smaller with SQL DM for MySQL.

TOP

Anchor
FAQ-16
FAQ-16

16. Can I trust the expertise of SQL DM for MySQL developers?

SQL DM for MySQL is developed by the Webyog Softworks that also created the most popular GUI for data management with the MySQL server - SQLyog Enterprise. We have more than 10 years of experience with designing MySQL related software. We have expanded our team with highly qualified developers ever since we started. We are devoted to constantly extending our knowledge and understanding of MySQL internals. What more would you expect?

TOP

Anchor
FAQ-17
FAQ-17

17. How does SQL DM for MySQL connect to MySQL?

SQL DM for MySQL uses the most proved and most efficient way of connecting: the native MariaDB Connector/C that is compiled into SQL DM for MySQL. Nothing else required: no separate client instance, no database abstraction layer (like ODBC/JDBC/ADO/.NET) and no webserver extensions (like PHP). Additionally, the connection can be 'wrapped' in a SSH tunnel. Also, SQL DM for MySQL implementation for this does not involve any other program (like Putty) running.

TOP

Anchor
FAQ-18
FAQ-18

18. Windows warns after installation that SQL DM for MySQL may not have installed properly.

...

  • Backup the connections.data file before uninstalling
  • Restore the old connections.data after the new install. After a restart, SQL DM for MySQL will recognize connection settings in the old connections.data.

TOP

Anchor
FAQ-19
FAQ-19

19. I would like to use SSH-tunnel, but my Windows server does not support it. Can that be fixed?

Yes, SSH support can be installed on Windows. You may install a complete Cygwin (Unix command line implementation for Windows). Alternatively, there are small packages available that support only a small subset of Cygwin (like SSH packages). Installation details depends on the exact Windows version.

TOP

Anchor
FAQ-20
FAQ-20

20. SQL DM for MySQL throws an error when trying to connect to MySQL.

Please go through Error when trying to connect to MySQL. The same as here applies to SQL DM for MySQL as the client code is exactly the same in both programs. Observe however that everything related to HTTP-tunneling with SQLyog is not relevant for SQL DM for MySQL.

TOP

Anchor
FAQ-21
FAQ-21

21. Failed to connect to MySQL: Can't connect to local MySQL server through socket... What can i do about this?

Ensure that the host specified resolves to an IP-adress. This error occurs with some Linux distributions (most important Debian) when specifying 'lcoalhost'. The system will map this to a Unix SOCKET file. SQL DM for MySQL connects through TCP and not to SOCKET. Try the ip '127.0.0.1' instead.

TOP

Anchor
FAQ-22
FAQ-22

22. SQL DM for MySQL is taking up too much of system resources with the PROCESSLIST-based sniffer.

You may have noticed that, while using the PROCESSLIST-based sniffer, SQL DM for MySQL increases the load on the CPU as well as the I/O subsystem of the system on which it is installed - even when the MySQL server is idle. Don't panic: it's normal. When using the PROCESSLIST-based sniffer, SQL DM for MySQL continually queries the MySQL server at the end of each time interval, which can be specified by you. It then retrieves the results and stores them in an internal sniffer database before displaying the results back to you. Now, if you set a very short time interval, one that almost approaches 0, then in actuality SQL DM for MySQL will almost be stuck in an infinite loop! Consequently, the load on the CPU and I/O subsystem will increase exponentially. We generally recommend an interval of not more than 0.1sec times the number of servers for which Processlist-based sniffers are enabled. However, if you're worried that you may miss out on some important queries running on the MySQL server, use the Performance Schem or MySQL Proxy mode. The LUA script supplied with SQL DM for MySQL should handle the task for MySQL proxy. For more information on using MySQL Proxy with SQL DM for MySQL, click here.

TOP

Anchor
FAQ-23
FAQ-23

23. Why is display of queries truncated in Query Analyzer?

...

  • As a security measure, SQL DM for MySQL extracts only the first 2000 characters of the query.
  • MySQL does not record query delimiters in the General Log. Therefore, while analyzing the General Log, SQL DM for MySQL takes into consideration only the first line of the queries, and ignores the rest if they span over multiple lines.

TOP

Anchor
FAQ-24
FAQ-24

24. The servers that I have registered do not display. What is wrong?

Check if the server is filtered based on a particular state, change your server filter to All Servers and now you will be able to see your server amongst the servers if you had successfully registered it. You can also use the search bar next to the server filter to search for your server name or tag name to get to your server.

TOP

Anchor
FAQ-25
FAQ-25

25. Now, anybody will be able to connect to my SQL DM for MySQL server and retrieve details about MySQL servers.

Of course not! The SQL DM for MySQL authentication system will ensure that only those people that should have access have.

TOP

Anchor
FAQ-26
FAQ-26

26. I have the same server registered twice. Metrics are reported different. Why?

For every registered server SQL DM for MySQL collects data independently. That is also the case when a server has been registered twice. Even if they were registered at the same time and even if the chosen sample interval is the same too, the connection and the server will have some latency and data will not be retrieved simultaneously. For that reason SQL DM for MySQL may (or rather will) retrieve and store slightly different values for each connection. This is most visible in the 'Delta' timeframe and least visible in the 'Current/all' timeframe. For GROUPING with 'History/Trends' the difference for each GROUP will depend on the selected grouping interval. Due to laws of statistics the difference will be less the longer the time interval (theoretically/statistically they will converge more and more the closer time interval and/or the no. of samples comes to infinity). Practically, you will rarely need more than around 20 samples in a GROUP for the difference to be negligible.

TOP

Anchor
FAQ-27
FAQ-27

27. Will it affect the performance of a server if SQL DM for MySQL connects to it?

It will practically not on real 'live' servers. The queries sent by SQL DM for MySQL use almost no resources. We do not query data stored on disk and what we do query is stored in memory on the server. However if you are testing SQL DM for MySQL using a server instance that does almost nothing else and if you retrieve data at very short intervals the impact of SQL DM for MySQL may be slightly observable. The special Processlist feature (unique) may take a little more resources if there are lots of processes/client threads running. But SQL DM for MySQL only sends queries related to this when the corresponding SQL DM for MySQL client interface (the SQL DM for MySQL 'processlist' page) is open. Switching to another page or closing the browser will stop sending the queries populating the SQL DM for MySQL processlist.

TOP

Anchor
FAQ-28
FAQ-28

28. Is it possible to avoid that SQL DM for MySQL itself influences certain counters reported?

SQL DM for MySQL is a client. When it connects the MySQL server will start a connection thread. And that connection will be reported by SQL DM for MySQL. That cannot be avoided. The processlist feature has an option to 'filter out' SQL DM for MySQL connection - as well as other connections from other clients if you want - using a simple SELECT statement.

TOP

Anchor
FAQ-29
FAQ-29

29. Can I customize SQL DM for MySQL counters?

...