1. General Information

The FromDual Ops Center for MariaDB and MySQL (focmm) is an web application for DBA’s and System Administrators to manage their MariaDB, MySQL and Galera Cluster database farms.

The main task of Ops Center is to support you in your daily MariaDB, MySQL and Galera Cluster operation tasks.

The Ops Center works on your local machine as well as on smaller IT centers and your private or public cloud infrastructure. It helps you administering your MariaDB and MySQL infrastructure and providing MariaDB and MySQL Databases as a Service (DBaaS).

Ops Center is a web-based application connecting to your databases through MariaDB/MySQL and ssh protocol.

FromDual Ops Center architecture

2. Installing and Upgrading

2.1. Prerequisites

To make Ops Center working you need a classical LAMP stack.

Minimal requirements are:

Preferred distributions are Debian 11 and Ubuntu 22.04.

2.1.1. Supported distributions

We follow the Debian and Ubuntu distribution maintenance policies for Long Term Support (LTS) Releases.

Thus we support the following distributions for Ops Center itself (v1.2.0 and newer):

  • Debian 10 (Buster)

  • Debian 11 (Bullseye)

  • Ubuntu 20.04 (Focal Fossa)

  • Ubuntu 22.04 (Jammy Jellyfish)

We had some problems with Redhat based distributions and O/S interactions. If you really need these distributions, please get in contact with us!

Ops Center supports the following distributions as targets (database server):

  • Debian 10 (Buster)

  • Debian 11 (Bullseye)

  • Ubuntu 20.04 (Focal Fossa)

  • Ubuntu 22.04 (Jammy Jellyfish)

  • Rocky Linux 8 (and also Redhat, Oracle Linux, AlmaLinux, CentOS, Fedora)

  • Rocky Linux 9 (and also Redhat, Oracle Linux, AlmaLinux, CentOS, Fedora)

Note
Other distributions like Redhat, Oracle Linux, AlmaLinux, CentOS and Fedora may work as well. Please let us know if you experience any problem with those.

If you prefer to use our FromDual Repository you can skip the following steps and continue installing Ops Center with our Ubuntu and Debian repository.

For your distribution continue with:

2.1.2. Debian 10 prerequisites

Debian
apt update
apt install apache2 libapache2-mod-php mariadb-server php-mysqlnd arping
a2enmod rewrite
a2enmod ssl
a2ensite default-ssl
systemctl restart apache2.service
Checks
Apache is running:
systemctl status apache2.service
● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
  Drop-In: /run/systemd/system/apache2.service.d
           └─zzz-lxc-service.conf
   Active: active (running) since Fri 2023-01-20 14:07:16 UTC; 6s ago
     Docs: https://httpd.apache.org/docs/2.4/
  Process: 16249 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
 Main PID: 16253 (apache2)
    Tasks: 6 (limit: 4915)
   Memory: 10.7M
   CGroup: /system.slice/apache2.service
           ├─16253 /usr/sbin/apache2 -k start
           ├─16254 /usr/sbin/apache2 -k start
           ├─16255 /usr/sbin/apache2 -k start
           ├─16256 /usr/sbin/apache2 -k start
           ├─16257 /usr/sbin/apache2 -k start
           └─16258 /usr/sbin/apache2 -k start
MariaDB is running:
systemctl status mariadb.service
● mariadb.service - MariaDB 10.3.36 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
  Drop-In: /run/systemd/system/mariadb.service.d
           └─zzz-lxc-service.conf
   Active: active (running) since Fri 2023-01-20 14:06:48 UTC; 1min 22s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
 Main PID: 10747 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 31 (limit: 4915)
   Memory: 68.9M
   CGroup: /system.slice/mariadb.service
           └─10747 /usr/sbin/mysqld

Continue with Common Checks.

2.1.3. Debian 11 prerequisites

Debian
apt update
apt install apache2 libapache2-mod-php mariadb-server php-mysqlnd arping
a2enmod rewrite
a2enmod ssl
a2ensite default-ssl
systemctl restart apache2.service
Checks
Apache is running:
systemctl status apache2.service
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
    Drop-In: /run/systemd/system/service.d
             └─zzz-lxc-service.conf
     Active: active (running) since Fri 2023-01-20 14:22:44 UTC; 4s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 9839 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 9843 (apache2)
      Tasks: 6 (limit: 4915)
     Memory: 11.1M
     CGroup: /system.slice/apache2.service
             ├─9843 /usr/sbin/apache2 -k start
             ├─9844 /usr/sbin/apache2 -k start
             ├─9845 /usr/sbin/apache2 -k start
             ├─9846 /usr/sbin/apache2 -k start
             ├─9847 /usr/sbin/apache2 -k start
             └─9848 /usr/sbin/apache2 -k start

MariaDB is running:

systemctl status mariadb.service
● mariadb.service - MariaDB 10.5.18 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
    Drop-In: /run/systemd/system/service.d
             └─zzz-lxc-service.conf
     Active: active (running) since Fri 2023-01-20 14:21:55 UTC; 1min 19s ago
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 8103 (mariadbd)
     Status: "Taking your SQL requests now..."
      Tasks: 9 (limit: 4915)
     Memory: 62.9M
     CGroup: /system.slice/mariadb.service
             └─8103 /usr/sbin/mariadbd

Continue with Common Checks.

2.1.4. Ubuntu 20.04 prerequisites

Ubuntu
apt update
apt install apache2 libapache2-mod-php mariadb-server php-mysqlnd arping
a2enmod rewrite
a2enmod ssl
a2ensite default-ssl
systemctl restart apache2.service
Checks
Apache is running:
systemctl status apache2.service
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
    Drop-In: /run/systemd/system/service.d
             └─zzz-lxc-service.conf
     Active: active (running) since Fri 2023-01-20 14:27:13 UTC; 3s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 9684 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 9688 (apache2)
      Tasks: 6 (limit: 4915)
     Memory: 10.8M
     CGroup: /system.slice/apache2.service
             ├─9688 /usr/sbin/apache2 -k start
             ├─9689 /usr/sbin/apache2 -k start
             ├─9690 /usr/sbin/apache2 -k start
             ├─9691 /usr/sbin/apache2 -k start
             ├─9692 /usr/sbin/apache2 -k start
             └─9693 /usr/sbin/apache2 -k start
MariaDB is running:
systemctl status mariadb.service
● mariadb.service - MariaDB 10.3.37 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
    Drop-In: /run/systemd/system/service.d
             └─zzz-lxc-service.conf
     Active: active (running) since Fri 2023-01-20 14:26:17 UTC; 1min 24s ago
       Docs: man:mysqld(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 8023 (mysqld)
     Status: "Taking your SQL requests now..."
      Tasks: 31 (limit: 4915)
     Memory: 70.0M
     CGroup: /system.slice/mariadb.service
             └─8023 /usr/sbin/mysqld

Continue with Common Checks.

2.1.5. Ubuntu 22.04 prerequisites

Ubuntu
apt update
apt install apache2 php php-mysqli mariadb-server php-posix mariadb-client
a2enmod rewrite
a2enmod socache_dbm
# ssl conflicts with gnutls which is enabled by default:
a2enmod ssl
a2ensite default-ssl
systemctl restart apache2.service
Checks
Apache is running:
systemctl status apache2.service
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
    Drop-In: /run/systemd/system/service.d
             └─zzz-lxc-service.conf
     Active: active (running) since Fri 2023-01-20 14:40:58 UTC; 26s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 9459 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 9463 (apache2)
      Tasks: 6 (limit: 4915)
     Memory: 12.7M
     CGroup: /system.slice/apache2.service
             ├─9463 /usr/sbin/apache2 -k start
             ├─9464 /usr/sbin/apache2 -k start
             ├─9465 /usr/sbin/apache2 -k start
             ├─9466 /usr/sbin/apache2 -k start
             ├─9467 /usr/sbin/apache2 -k start
             └─9468 /usr/sbin/apache2 -k start
MariaDB is running:
systemctl status mariadb.service
 ● mariadb.service - MariaDB 10.6.11 database server
      Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Drop-In: /run/systemd/system/service.d
              └─zzz-lxc-service.conf
      Active: active (running) since Fri 2023-01-20 14:38:55 UTC; 2min 51s ago
        Docs: man:mariadbd(8)
              https://mariadb.com/kb/en/library/systemd/
    Main PID: 7804 (mariadbd)
      Status: "Taking your SQL requests now..."
       Tasks: 9 (limit: 4915)
      Memory: 63.2M
      CGroup: /system.slice/mariadb.service
              └─7804 /usr/sbin/mariadbd

Continue with Common Checks.

2.1.6. Redhat 8 prerequisites

Redhat
dnf install httpd php-mysqli php mariadb-server php php-posix wget mod_ssl openssl

systemctl restart httpd.service
systemctl start mariadb.service

You possible have to adapt the iptables firewall rules as well.

Checks
Apache is running:
systemctl status httpd.service
httpd (pid  1578) is running...
MariaDB is running:
systemctl status mariadb.service
mariadbd (pid  1837) is running...

Continue with Common Checks.

2.1.7. Redhat 9 prerequisites

Redhat
dnf install httpd php-mysqlnd php mariadb mariadb-server php php-posix wget mod_ssl openssl

systemctl restart httpd.service
systemctl start mariadb.service

You possible have to adapt the iptables firewall rules as well.

Checks
Apache is running:
systemctl status httpd.service
httpd.service - The Apache HTTP Server
   Status: "Processing requests..."
MariaDB is running:
systemctl status  mariadb.service
mariadb.service - MariaDB database server
   Active: active (running) since Sat 2015-12-19 14:21:22 CET; 15s ago

Continue with <Common Checks>.

2.1.8. RHEL 8

Rocky Linux
Note
This release is currently not supported because of technical reasons.

2.1.9. RHEL 9

Rocky Linux
Note
This release is currently not supported because of technical reasons.

2.1.10. OpenSuSE 13.1

OpenSuSE

Due to missing demand on market we did not test yet.

2.1.11. Common Checks

Check if web server is answering (replace IP address with your Ops Center machines IP address): http://127.0.0.1

Check if PHP is working:

cat << _EOF >/var/www/html/hello.php
<?php
echo "hello world!";
?>
_EOF

and then go to: http://127.0.0.1/hello.php

Ops Center test

Web-server is answering with SSL: https://127.0.0.1/hello.php

Ops Center test SSL

2.2. Installation of Ops Center

2.2.1. From Ubuntu and Debian repository

Debian

Add the FromDual APT repository as described FromDual APT Repository.

Then install Ops Center with the following command:

apt install focmm

2.2.2. DEB package on Debian 10/11 DEB or Ubuntu 20.04/22.04

Debian
Ubuntu

To install Ops Center manually you can download it from our download site and store it under /tmp.

apt update
VERSION='1.2.1'
apt install /tmp/focmm_${VERSION}-1_all.deb

2.2.3. Tarball on Debian 10/11 or Ubuntu 20.04/22.04

Debian
Ubuntu

To install Ops Center manually you can download it from our download site and store it under /tmp. Please check Prerequisites first before continuing!

VERSION='1.2.1'
tar -C /var/www/html -xf /tmp/focmm-${VERSION}.tar.gz
cd /var/www/html
chown -R www-data: /var/www/html/focmm-${VERSION}
ln -s focmm-${VERSION} focmm
chown -h www-data: focmm
mkdir /etc/focmm
chown www-data: /etc/focmm

2.2.4. Securing Ops Center under Debian and Ubuntu

If you are not allowed to modify your web server configuration files please consider to use our .htaccess template (tpl/htaccess.template).

SSL

To configure the Ops Center web server to use https/SSL you have to create some certificates first:

mkdir /etc/apache2/ssl
chmod 700 /etc/apache2/ssl
openssl req -x509 -newkey rsa:4096 -keyout /etc/apache2/ssl/focmm.key -out /etc/apache2/ssl/focmm.crt -days 3650 -nodes

a2enmod ssl
a2ensite default-ssl

Then change your Apache configuration file as follows:

# /etc/apache2/sites-available/default-ssl.conf

SSLEngine on
SSLCertificateFile    /etc/apache2/ssl/focmm.crt
SSLCertificateKeyFile /etc/apache2/ssl/focmm.key

and then create an apache Ops Center configuration file:

cat >/etc/apache2/conf-available/focmm.conf <<_EOF
#
# /etc/apache2/conf-available/focmm.conf
#

<Directory /var/www/html/focmm>

  RewriteEngine On
  RewriteCond %{HTTPS} !=on
  RewriteRule (.*) https://%{SERVER_NAME}/focmm/$1 [R,L]
</Directory>
_EOF

Do not forget to restart Apache afterwards with:

a2enmod rewrite
a2enconf focmm
systemctl restart apache2.service
http basic access authentication

If you want additionally use http "basic access authentication" to add another layer of security. You have to add the following lines to the /etc/apache2/conf-available/focmm.conf file:

  AuthType Basic
  AuthName "focmm admin"
  AuthUserFile /var/www/html/.htpasswd-focmm
  Require valid-user

And then to set a password:

htpasswd -c -b /var/www/html/.htpasswd-focmm admin admin
systemctl restart apache2.service

Remember the user (admin) and the password (admin) for later login.

2.2.5. From Redhat 7 repository

centos.png redhat.png

Add the FromDual RPM repository as described here.

Then install Ops Center with the following command:

dnf install focmm

2.2.6. RPM on Redhat 7

Redhat
CentOS

To install Ops Center for MariaDB and MySQL manually you can download it from our download site and store it under /tmp.

VERSION='1.2.1'
cd /tmp
dnf localinstall focmm-${VERSION}-1.el7.noarch.rpm

2.2.7. Tarball on Redhat 7

Redhat
CentOS

To install Ops Center for MariaDB and MySQL manually you can download it from our download site and store it under /tmp.

dnf install httpd php php-mysqli mariadb-server php-posix php-mysqli mod_ssl openssl

VERSION='1.2.1'
tar -C /var/www/html -xf /tmp/focmm-${VERSION}.tar.gz
cd /var/www/html
chown -R apache: /var/www/html/focmm-${VERSION}
ln -s focmm-${VERSION} focmm
chown -h apache: focmm
mkdir /etc/focmm
chown apache: /etc/focmm

2.2.8. From Redhat 8 and 9 repository

Redhat
CentOS
CentOS
CentOS
CentOS

Redhat, Oracle Linux, Rocky Linux, AlmaLinux and CentOS are currently not supported any more because of problems with O/S interaction. Please let us know if you need these distributions…​

2.2.9. Securing Ops Center under Redhat 7

Set firewall rules and load some default SElinux policies:

systemctl enable mariadb.service
systemctl start mariadb.service
systemctl enable httpd.service
systemctl start httpd.service

iptables -L
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --reload

sestatus
VERSION='1.2.1'
semodule -i /var/www/html/focmm-${VERSION}/tpl/focmm.pp
semodule --list | grep focmm

Important: Please note that Ops Center does currently not work correctly with SElinux enabled. To make Ops Center working correctly set SElinux to permissive:

setenforce 0
sed -i 's/^SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config

If you are not allowed to modify your web-server configuration files please consider to use our .htaccess template (tpl/htaccess.template).

SSL

To configure the Ops Center web server to use https/SSL you have to create some certificates first:

mkdir /etc/ssl/private
chmod 700 /etc/ssl/private
openssl req -x509 -newkey rsa:4096 -keyout /etc/ssl/private/focmm.key -out /etc/ssl/certs/focmm.crt -days 3650 -nodes

Then change your Apache configuration file as follows:

# /etc/httpd/conf.d/ssl.conf

SSLEngine on
SSLCertificateFile    /etc/ssl/certs/focmm.crt
SSLCertificateKeyFile /etc/ssl/private/focmm.key

systemctl restart httpd.service

and then create an apache focmmm configuration file:

cat >/etc/httpd/conf.d/focmm.conf <<_EOF
#
# /etc/httpd/conf.d/focmm.conf
#

<Directory /var/www/html/focmm>

  RewriteEngine On
  RewriteCond %{HTTPS} !=on
  RewriteRule (.*) https://%{SERVER_NAME}/focmm/$1 [R,L]
</Directory>
_EOF

Do not forget to restart Apache afterwards with:

# /etc/httpd/conf.modules.d/00-base.conf
LoadModule rewrite_module modules/mod_rewrite.so

systemctl restart httpd.service
http Basic Access Authentication

If you want additionally use http "basic access authentication" to add another layer of security. You have to add the following lines to the /etc/httpd/conf.d/focmm.conf file:

  AuthType Basic
  AuthName "focmm admin"
  AuthUserFile /var/www/html/.htpasswd-focmm
  Require valid-user

And then to set a password:

htpasswd -c -b /var/www/html/.htpasswd-focmm admin admin
systemctl restart httpd.service

Remember the user (admin) and the password (admin) for later login.

2.3. Preparing Repository Database

Create the Ops Center Schema in the repository database as follows:

mysql --user=root

CREATE SCHEMA focmm;
CREATE USER 'focmm_owner'@'127.0.0.1' IDENTIFIED BY 'secret';
GRANT ALL ON focmm.* to 'focmm_owner'@'127.0.0.1';

2.4. Creating Ops Center Repository

Now you have to connect with your browser to the Ops Center. The URL looks like this: https://127.0.0.1/focmm/ (change the IP address according to your needs). If you are using self signed certificates you possible get some warnings of your web browser:

Ops Center Installation

More information about this topic you can find on the Mozilla website.

If you have configured http Basic Access Authentication above you will be prompted for the user and the password:

Ops Center http Baisc Access Authentication login prompt

When you have logged in and you did it the first time Ops Center tries to do some basic checks and lets you know about the diagnosis:

Ops Center diagnosis

If you get an error code 3002 or 3004 and/or the following error in your Apache error log, then it is most probably SELinux which causes troubles:

PHP Warning:  error_log(/var/www/html/focmm-v1.2.1/log/error.log): failed to open stream: Permission denied in /var/www/html/focmm-v1.2.1/lib/Log.inc on line 109

sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      31

setenforce 0

Before you continue installing Ops Center you can Test the connection with the Test connection button:

Ops Center Test connection

At the end you have to enter the connect information for your Ops Center Repository Database you have created above. The Ops Center will start installing the Repository:

Ops Center installing repository

If everything completed successful you can login. The default user/password is admin/admin:

Ops Center Login

After the login you reach the Ops Center Dashboard. Currently it will be empty and thus shows a nice architecture overview:

Ops Center Dashboard

If you reached this step Ops Center is installed and needs to be configured>>.

2.5. Upgrade Ops Center

2.5.1. Upgrade preparation

Before you start with the upgrade you should do a backup of your focmm database schema first. A simple command like this should do the job:

mysqldump --user=root --password --single-transaction --databases focmm >focmm_dump.sql

Your current used version of Ops Center you can find under: Configuration → Repository → FromDual Ops Center version.

2.5.2. Upgrading from v0.3 to v0.9

Upgrading from Ops Center v0.3 to v0.9 and newer happens automatically. Please do a backup of your Ops Center Instance before you upgrade!

Copy the .htaccess file from the old to the new version.

2.5.3. Upgrading from v0.9 to v1.2.1

Upgrading from Ops Center v0.9 to v1.2.1 and newer happens automatically. Please do a backup of your Ops Center Instance before you upgrade!

Copy the .htaccess file from the old to the new version.

Important
In some cases the folder focmm/tmp/start_jobs.lock is missing. In this case jobs are not started. Please check the log file under focmm/log/start_jobs.log and create the folder accordingly. Further a file named pid should be located in this folder. Create also this file if it is not there.
mkdir focmm/tmp/start_jobs.lock
touch focmm/tmp/start_jobs.lock/pid
chown -R www-data: focmm/tmp/start_jobs.lock

2.5.4. Downgrading Ops Center

In the case you hit a serious bug after upgrade you have to downgrade Ops Center again. To do a downgrade is quite simple: Install your old Ops Center version and restore your backup done above:

mysql --user=root --password < focmm_dump.sql

2.6. Configuration of Ops Center

To configure the Ops Center go to the Configuration menu on the left:

The Ops Center Configuration Menu

2.6.1. Ssh Public Key

Ops Center relies on ssh to securely access your servers. Thus it is necessary for Ops Center to have its own ssh keys to avoid password prompts:

Ssh public key is missing

Typically Ops Center cannot create itself the necessary files and needs your help:

Ssh key creation leads to an error

Create the required files as follows and try again:

Debian based distributions:
mkdir /var/www/.ssh
chown www-data: /var/www/.ssh
Redhat based distributions:
mkdir /usr/share/httpd/.ssh
chown apache: /usr/share/httpd/.ssh
Note
If you installed Ops Center via packages (DEB or RPM) the package installation has already created this directory.

If everything was successful it should look as follows:

Ssh key created

2.6.2. License Information

Ops Center is free of costs for non-commercial use. For commercial use you need a license of FromDual. To confirm that you are using Ops Center correctly you have to add the License Key.

To request a new License Key click on one of the links:

Ops Center License Key request

When you have added the license key you get an overview over the systems you are eligible to use with Ops Center:

Ops Center Licenses overview

2.6.3. Crontab

Ops Center needs the systems crontab to run some periodical jobs. For this you have to add the jobs to the crontab:

If you have created the crontab it should look like this:

Ops center Crontab Jobs

If you want to remove the crontab jobs again click on the Delete Crontab button.

2.6.4. Repository

The menu item Repository provides mainly information about Ops Center versions and where the configuration file is stored. This is primarily needed for bug reports.

Ops Center Repository Information

2.6.5. Bugs

If you hit a bug with FromDual tools or if you have a feature request you can add them to our Bug database.

2.6.6. Feature requests

This is also true for feature requests. You can report them to our Bug database or send us an <a href="mailto:feedback@fromdual.com?Subject=Feature request">email</a> or report the feature request here:

Ops Center Feature Requests

2.6.7. User

Currently there is only one user called admin available to operate Ops Center.

Ops Center Users

After logging in to Ops Center you should change this default password (admin) to something more secret. This admin user is a very powerful user which has full rights over all your databases. So take care of it!

Ops Center Users Password

3. Dashboard

The dashboard of a new (= empty) Ops Center looks as follows:

Empty dashboard

First of all you have to Add a Machine (= host, server).

4. Machine

Note
In older Ops Center releases a Machine was called Server.

In Ops Center terminology a Machine is a physical or virtual machine (also called server or host) or a container (LXD, Docker, etc.). The Machine is the thing a database Instance or a Load Balancer resides.

Ops Center communicates via ssh with the Machine.

4.1. Machine overview

In the Machine overview you get an overview of all existing Machines and you can add new Machines:

Machine overview

4.2. Add or edit machine

To add a new Machine to the Ops Center click on the Add Machine button in the Machine overview.

Add new Machine

Then click to the Add Machine button to create the Machine inside the Ops Center Repository.

The fields have the following meaning:

Field name Meaning of the Field

Machine name

Machine name (hostname, DNS name of the machine).

Default IP

IP address (or hostname) of the management interface Ops Center should connect to.

ssh Port

Port which is used by Ops Center to connect to the machine (this is typically ssh port 22).

O/S user

O/S user Ops Center should use (typically root).

MyEnv control

If the Machine us under MyEnv control or not. This functionality is deprecated and will probably removed soon.

Containerized

If the Machine is containerized or not. This functionality is deprecated and will probably removed soon.

Resource Groups

Is the team the Load Balancer belongs to and to which it is cleared to.

Monitoring URL

URL to the monitoring solution (for example FromDual Performance Monitor) this machine is monitored with.

When you have saved the Machine information Ops Center confirms as follows:

Save Machine

The error message appears because Ops Center cannot access the Machine yet. This is because the Ops Center ssh Public Key is missing on the Machine. Add the Ops Center ssh Public Key as advised in the error message.

You should NOT continue until ALL checks in the Checks tab are passed successfully.

4.3. Settings tab

In the Settings tab you can either edit the Machine settings again, delete the Machine from the Ops Center repository or run the Refresh job to gather machine information.

Machine configuration overview

4.4. Checks tab

To get an overview of the state of your machine you can either click the Check Machine button for all checks or you can run each check individually by clicking on the Check now button:

Machine checks

When you run the checks Ops Center shows you for each check what it was doing, what the result was and what you should do to fix the problem:

Checking machine

You might be surprised that some checks have been performed already. This is because Ops Center runs periodically all the jobs in the background with Crontab. So it might have happened Ops Center was faster than you checking the Machine…​

Tip
Ops Center uses ssh to access the database machines. To allow this, your web machine user (apache or www-data) must have a valid shell. To allow Ops Center to connect to the database machines without a password prompt the public key of the Ops Center user has to be copied manually the first time to the database machine.

4.5. Performance tab

In the Performance tab you see the graphs of the most critical performance metrics of your Machine. These are: CPU, Memory (RAM), I/O, Network and Paging:

Machine Performance

If you have a sever performance problem you should see it here.

4.6. Monitoring tab

Clicking one the Machine Monitoring tab will redirect you to the link you have indicated while adding your Machine.

4.7. Costs tab

In the Machine Costs tab you see, aggregated per hour, how many resources your Machine has used and the costs per resource. This allows you to get fain grained cost information per Machine and per hour.

Machine Costs

5. Instance

5.1. Instance overview

In the Instance overview you will see which MariaDB/MySQL instances (aka databases) are registered in you Ops Center Repository:

Instance overview

Here you can select the Instance you want to work with, change its settings or check the state of it.

To add a new Instance to the Ops Center Repository click on the Add Instance button. If you want to create a completely new Instance click on the Create Instance button.

5.2. Add or edit an Instance

Before you can start working with Ops Center you have to add an existing database Instance to the Ops Center. Creating a database Instance is a different topic discusses further down.

Adding an Instance in this context means: Add an existing Instance to the Ops Center Repository only not install or create it.

In the form Add new/Edit Instance you have to enter:

  • A unique Instance name (this name must be unique across your whole company which you want to manage with Ops Center). Ideally this name is the same you use in MyEnv and in the FromDual Backup Manager.

  • The machine this instance is located on.

  • The directory where the MariaDB/MySQL binaries are installed (basedir). Typically this is /usr. If the instance is under MyEnv control use the same value as in myenv.conf. If you are not sure try this command: dirname $(dirname $(which mysqld)).

  • The directory where the MariaDB/MySQL data are located (datadir). Typically this is /var/lib/mysql. If you are not sure try this command: SHOW GLOBAL VARIABLES LIKE 'datadir';.

  • The location of your database instance configuration file (my.cnf or my.ini typically located under /etc or /etc/mysql).

  • The service name or IP address your instance listens to. This is often the same name or IP address as the server. If you have a dedicated name/IP for your instance use this one.

  • The port your MariaDB/MySQL instance listens to (typically 3306).

  • The instance user Ops Center should use. You should use a user which clearly identifies what it is used for. So we recommend: focmm_admin. But you can also use root. This user should be created as follows:

CREATE USER 'focmm_admin'@'<ip_of_focmm>' IDENTIFIED BY '<some_secret_password>';
GRANT ALL ON *.* TO 'focmm_admin'@'<ip_of_focmm>'
  • The instance users password as specified above (<ip_of_focmm>).

  • If this instance is readonly or not. This is mostly important for replication slaves.

Add or edit Instance

5.3. Create a new Instance

Creating an Instance in this context means: Installing the MariaDB/MySQL binaries on a Machine and then add it to the Ops Center Repository. Compared to adding an Instance: Add an existing Instance to the Ops Center Repository only.

The Create Instance process consists of 3 steps: Step 1: Selecting the Machine

Create Instance - Step 1

Step 2: Specify Instance specific information

Create Instance - Step 2

Step 3: Specify Instance configuration variables

Create Instance - Step 3

After clicking the [.buttonstyl]e#Create Instance# button it will take awhile until the database binaries are installed…​

Create Instance - Step 4

And finally you get the confirmation that the database was created successful and added to the Ops Center Repository.

Create Instance - Step 5

5.4. Instance Settings tab

In the Instance settings overview you can either edit the instance again, delete it or choose some other instance operations:

Instance Settings tab

5.5. Instance Checks tab

To get an overview of the state of your instance you can either click the Check Instance button for all checks or you can run each check individually by clicking on the Check now button:

Instance checks

When you run the checks Ops Center shows you for each check what it was doing, what the result was and what you should do to fix the problem:

Checking the instance

You might be surprised that some checks have been performed already. This is because Ops Center runs periodically in the background all the jobs. So it might have happened Ops Center was faster than you checking the instance…​

If all checks passed successful the instance checks look as follows:

Instance checks successful

Do not try to continue here as long as not all checks are OK. The further steps will not work.

5.6. Instance Operations tab

In the operations tab you:

  • Stop and start your instance.

  • Set instance to readonly or read-write.

  • Backup and restore your instance.

  • And see the 20 last lines of your MariaDB/MySQL error log.

Instance operations
Note
The Ops Center repository instance itself cannot be stopped but only restarted. This prevents that you take Ops Center out of service by mistake.

Starting a instance looks as follows:

Start instance

Stopping a instance looks as follows:

Stop instance

And setting a instance to readonly as follows:

Set instance readonly
Important
If you want to make the readonly state persistent after the next instance restart you have to manually add it to the instance configuration file (my.cnf).

5.6.1. Database backup

Backup database
Backup type

First you have to choose the backup type. Those are exactly the same backup types as in the FromDual backup manager. For further information see there:

Choose backup type
Backup mode

Next you have to decide if the backup should be done logically (using mariadb-dump, mysqldump) or physically (using mariadb-backup, mysqlbackup or xtrabackup):

Choose backup mode

The backup mode cannot be selected for all backup types.

Backup behavior

Some backups can be done inconsistent. Ops Center (and FromDual Backup Manager) prohibits you from doing invalid backups. If you have some MyISAM tables in your database this backup will be blocking for the whole duration of the backup. If you want to avoid blocking backups use InnoDB storage engine only:

Backup behavior
Backup policy

Define the backup policy you want to store your backup in:

Backup policy
Backup directory

Specify where your backup should be written to. This is ideally another device than your database disk. Sometimes NFS mounts are used to write backups to:

Backup directory
FromDual brman location

Ops Center uses in the background FromDual Backup/Recovery Manager to perform the backups. Here you have to specify where on the database server brman is installed. This has to be done before you start with the backup:

Backup location
FromDual brman location

After clicking on the Start Backup button Ops Center shows you the command it was sending to the database server. The backup job was not executed directly but sent into the Ops Center job handler. There you can see the actual state of the backup job:

FromDual brman start

5.7. Processlist tab

In the process list you can see who is actually connected to the instance and which query is running:

Processlist

You can further filter for specific connections or sort most of the columns. If a query is using too much of resources you can also kill the query or event terminate the connection. The refresh interval can be set from 2 to 60 seconds.

5.8. Schema tab

In the Instance Schema tab you get an overview over the schemas (aka databases) in your instance. Here you can also create a new Schema by clicking on the Create Schema button.

Note
We intentinonally do NOT allow to send SQL statements from Ops Center to your database Instance. Please use other, specialized tools, for this. See also Graphical User Interfaces (GUI) for MariaDB and MySQL.
Schema tab
Table 1. Schemas of an Instance
Column Meaning of the Column

Schema

Name of the Schema.

Size

Size of the Schema in bytes. Space used in the filesystem (measured with du --total).

%

Size of the Schema in percentage of the total size of the Instance (Size / Grand total).

Size + Common

Size of the Schema plus the share in Common in bytes.

%

Size of the Schema plus the share in Common in percentage of the Grant total (Size + Share of Common / Grand total).

By clicking on a Schema name you reach the Tables overview:

Tables of Schema in Schema tab

Those data are gathered from the INFORMATION_SCHEMA.TABLES view:

Table 2. Tables of a Schema
Column Meaning of the Column

Table name

Name of the table.

Engine

Storage Engine used for this table.

Version

Version of the table.

# Rows

Estimated number of rows in the table.

Avg row length

Calculated average row length of a row in bytes.

Data length

Size of the data in this table.

Index length

Size of the indexes in this table.

Total length

Size of the table in total (data + index).

5.8.1. Create Schema

On the Create Schema page you have to possiblity to create a new schema with a default Character Set:

Create a Schema

5.9. Accounts tab

Under the Accounts tab you can create new or edit existing MariaDB/MySQL Accounts and grant or revoke privileges to or from these Accounts.

An Account in our terminology is the combination of a MariaDB/MySQL username and password. For example root@localhost is an Account. A user is a username without the host. For example the Accounts root@localhost and root@127.0.0.1 both belong to the same user root.

With the Create Account button on the bottom you can create new Accounts. With the View Link or the Edit Link on the right you can view Account details or Edit an Account.

Accounts tab

5.9.1. Account Details

In the Account Details you can see the Global Privileges,

Instance Account Details Global

the Schema Privileges and the Table and Column Privileges of an Account:

Account Details per Schema

5.9.2. Edit Account

Here you can grant and revoke privileges to and from an Account. The password of an Account is not visible here because the password hashing algorithm of MariaDB/MySQL does not allow to revert the password from the hash.

5.9.3. Delete Account

An Account can be deleted in Account Details on the bottom.

5.10. Configuration tab

5.10.1. Instance Configuration

Under the Menu item InstancesConfiguration you can manage your actual MariaDB/MySQL configuration files for each database instance.

When you click on the menu Configuration it will take a while because Ops Center will directly fetch the recent database configuration file from the machine.

Configuration Files

Under Configuration Files you get an overview of the currently available database configuration files, there size and when they were last modified:

Configuration Files

You can click on one of the configuration files to view its content or to modify and store the content of the configuration file back to the database machine.

Main Configuration File

The main database configuration file is the one you specified under Instances[Settings]. If you click on the link to the file you can also view its content or modify and store it on the machine.

Main Configuration File
Recent Variables

Under Recent Variables you get all database configuration variables how they are set at the moment (SHOW GLOBAL VARIABLES;).

Recent Configuration Variables
Edit a Configuration File

If you click on one of the configuration files you can edit and store the configuration files. In the first line you get some information about the configuration file you are actually viewing: The version number of the configuration file in the Ops Center repository, when the file was last modified, its size, and other (older) versions available in the Ops Center repository.

Edit a Configuration File

The version number lets you keep track of the database configuration changes.

In the text box showing your actual database configuration you can change your current configuration file version or view older version of your configuration file. In the line Comment: you should see the comment of the last change which lead to this version.

With the button Fetch from Machine you tell Ops Center to retrieve the current version of the database configuration file from the machine. If you did some changes on the database configuration file you can save and deploy it to database machine with the Save & Deploy button. If you have chosen an older version of your database configuration file the button Make current & Deploy makes this configuration file the actual one and deploys it again to the machine. This allows you to revert old changes of the configuration file.

When you pressed the Save & Deploy button you will be prompted for a comment of the change before it will be stored in the Ops Center repository and deployed to the database machine.

After the changes are deployed you have to restart your database instance to activate your configuration changes.

5.11. Performance tab

In the performance tab you find various performance views similar to the ones of MySQL Workbench:

  • Memory Usage

  • Hot Spots for I/O

  • High Cost SQL Statements

  • Database Schema Statistics

  • Wait Event Times (Expert)

  • InnoDB Statistics

  • User Resource Use

Instance Performance tab
Note
If you hover over some items some extended or more detailed information is shown.

5.12. Monitoring tab

In this tab you will be redirected to the monitoring link you have provided under Settings: Monitoring URL.

6. Cluster

6.1. About Cluster

A high availability Cluster is a bunch of machines or databases which provide together a service typically for an application. They are grouped together to primarily provide a high availability service (HA). In some rare cases you also get some performance befits of a HA Cluster.

Ops Center actually can operate:

  • Master/Slave Replication Clusters,

  • Master/Master Replication Clusters and

  • Galera Clusters.

6.2. Cluster overview

Important
Before you start you must added all the Machines of each Master/Slave, Master/Master or Galera Cluster node and created or added all MariaDB/MySQL Instances on those Machines.

In the Cluster overview you can add a Cluster by clicking on the Add Cluster button. Adding a Cluster in this context means: Adding the Cluster to the Ops Center Repository:

Add a new Cluster
Note
When adding a new Cluster you have to decide if it will be a Galera Cluster, a Master/Slave Replication Cluster or a Master/Master Replication Cluster. You cannot change your choice afterwards any more. If you want to correct your choice you have to delete and add the Cluster again…​

6.3. Replication Cluster (Master/Slave)

6.3.1. General things about Master/Master Replication Cluster

Converting a M/S Cluster into a M/M Cluster or vice versa is not allowed. Delete the Cluster from Ops Center and add a new one.

6.3.2. Adding a new Replication Cluster (Master/Slave)

Choose a unique and descriptive Cluster Name and select the Cluster Type Master/Slave:

Add a new Cluster
Table 3. Adding a new Master/Slave Replication Cluster
Field name Meaning of the Field

Cluster name

Name of the Master/Slave Replication Cluster.

Cluster Type

Choose Master/Slave for a Master/Slave Replication Cluster.

Resource Group

To which Resource Group this Cluster should belong to.

Failover only if sync

Should failover be executed only if Master and Slave are in sync. This is related to Seconds behind Master. If Slave is behind. Failover will not be executed. This prevents failover just because of Slave lagging issues.

Start VIP only if sync

Should VIP be started if new Master is in sync with old Master or should be waited until it caught up. This is a trade-off between fast failover and risking data inconsistency or even loss of data in case of failover.

Master

Which node should be considered as the actual Master.

Failover Slave

Which Slave node should become the new Master during failover.

Slave activity

Should a Slave be read-only or read-write when it is a Slave.

Slaves

Nodes which should become Slaves.

of Master

And which should be their Master.

Reattach Slave to new Master

In case of failover should Slave be reattached to the new Master or not.

Clicking on the Create Cluster button creates a new Cluster inside Ops Center.

After creating the Cluster some configuration work has to be done: The server_id must be different on all nodes of a Replication Cluster. The variable log_slaves_update must be set to ON on all nodes which have the binary log enabled. And all Slave nodes must be set to read_only if Slave activity is checked. This can be achieved by changing the database configuration under InstanceConfiguration.

Additionally you have to set the Instance to Read only under InstanceSettingsEdit.

6.3.3. Settings of a Replication Cluster (Master/Slave)

In the Settings tab you get an overview over your Cluster configuration:

Replication Cluster Settings

Here you can also Edit your Cluster or Delete it from Ops Center again. If you want to remove on single Node from the Replication Cluster click on the Delete Instance icon on the right.

6.3.4. Checks of a Replication Cluster (Master/Slave)

In the Checks tab of the Replication Cluster you get all the important Checks of the Master and all its Slaves.

The following Checks are performed:

  • Unique Server ID between all the Cluster nodes.

  • If all Instance Checks on Master have succeeded.

  • If all Instance Checks on Slaves have succeeded.

  • If Slaves are set to read_only.

  • If log_slave_updates is enabled on Slaves.

  • If IO and SQL threads on Slave are up and running.

Check of Replication Cluster

6.3.5. Operations of a Replication Cluster (Master/Slave)

In the Operations tab you get a short overview over your Replication Cluster. Here you can Switchover from your current Master to the elected new Master and force a Failover. The difference between Switchover and a Failover Switchover is that the Switchover is nicely where as the Failover is with "brute force". So check the Failover flag only if the Master Machine has a sever problem.

Note
It is a good idea to test the Switchover on a regular base to make sure it really works when you need it!

In the Slave section run different actions with your Slave like:

  • Stop Replication

  • Change Replication to this Slave to new Master

  • Skip erroneous events

  • Reset Replication and

  • Start Replication

Replication Cluster Operations
Stop Replication

This is to Stop the Replication on the Slave. If you try to Stop the Replication if it is already stopped you will get some error messages.

A Replication consists of 2 Threads, the IO and the SQL thread. In some rare cases it makes sense to stop them individually with Stop IO Thread and Stop SQL Thread.

Change Master

This is to reconfigure your Replication on the Slave. Changing Replication has to be done after your copied over your Backup from Master to the Slave.

Change Master
Table 4. Changing Replication on the Slave
Field name Meaning of the Field

Master Host

IP address or hostname of the Master.

Master Port

Port of the Master. This is typically 3306

Master User

User which should be used for the Replication. This Replication User must be created on the Master first and needs the REPLICATION SLAVE privilege. You can do this under InstanceAccountsCreate Account

Master Password

Password of the Replication User.

Master Log File

Binary Log File of the Master from the Point in Time the Backup was taken. If there there is/was not traffic on the Master since you took the Backup you can just click on the Take this icon.

Master Log Pos

Position of the Binary Log File of the Master from the Point in Time the Backup was taken. If there there is/was not traffic on the Master since you took the Backup you can just click on the Take this icon.

Skip 1 event

If Replication halts because of erroneous events (SQL thread only!) you can skip this event (one by one=.

Note
Be aware that this means if you need this operation that your data are NOT consistent any more!
Reset Replication

Make a Slave forget that he was a Slave.

Note
This destroys your Replication. So be careful doing this.
Start Replication

This is to Start the Replication on the Slave. If your Replication is already running the item is disabled.

A Replication consists of 2 Threads, the IO and the SQL thread. In some rare cases it makes sense to start them individually with Start IO Thread and Start SQL Thread.

Build Slave

Build Slave automatically new from Master. This is not fully implemented yet.

6.4. Replication Cluster (Master/Master)

6.4.1. General things about Master/Master Replication Cluster

Converting a Master/Slave Cluster into a Master/Master Cluster or vice versa is not allowed. Delete the Cluster from Ops Center and add a new one.

For Master/Master Replication Cluster only an active/passive set-up (one writer node) is supported.

A Master/Master Replication Cluster is only supported as a 2-node ring. 3-node ring is NOT supported by Ops Center.

6.4.2. Adding a new Replication Cluster (Master/Master)

Choose a unique and descriptive Cluster Name and select the Cluster Type Master/Master:

Add a new Cluster
Table 5. Adding a new Master/Master Replication Cluster
Field name Meaning of the Field

Cluster name

Name of the Master/Master Replication Cluster.

Cluster Type

Choose Master/Master for a Master/Master Replication Cluster.

Resource Group

To which Resource Group this Cluster should belong to.

Failover only if sync

Should failover be executed only if Master and Slave are in sync. This is related to Seconds behind Master. If Slave is behind. Failover will not be executed. This prevents failover just because of Slave lagging issues.

Start VIP only if sync

Should VIP be started if new Master is in sync with old Master or should be waited until it caught up. This is a trade-off between fast failover and risking data inconsistency or even loss of data in case of failover.

Master

Which nodes should be considered as Masters.

Active Master

Which node should be considered as the actual Master.

Slave activity

Should a Slave be read-only or read-write when it is a Slave.

Slaves

Nodes which should become Slaves.

of Master

And which should be their Master.

Reattach Slave to new Master

In case of failover should Slave be reattached to the new Master or not.

Clicking on the Create Cluster button creates a new Cluster inside Ops Center.

After creating the Cluster some configuration work has to be done: The server_id must be different on all nodes of a Replication Cluster. The variable log_slaves_update must be set to ON on all nodes which have the binary log enabled. And all Slave nodes must be set to read_only if Slave activity is checked. This can be achieved by changing the database configuration under InstanceConfiguration.

Additionally you have to set the Instance to Read only under InstanceSettingsEdit.

6.4.3. Settings of a Replication Cluster (Master/Master)

In the Settings tab you get an overview over your Cluster configuration:

Settings of a new Master/Master Cluster

Here you can also Edit your Cluster or Delete it from Ops Center again. If you want to remove on single Node from the Replication Cluster click on the Delete Instance icon on the right.

6.4.4. Checks of a Replication Cluster (Master/Master)

In the Checks tab of the Replication Cluster you get all the important Checks of the Masters and all their Slaves.

The following Checks are performed:

  • Unique Server ID between all the Cluster nodes.

  • If all Instance Checks on Masters have succeeded.

  • If all Instance Checks on Slaves have succeeded.

  • If Slaves are set to read_only.

  • If log_slave_updates is enabled on Slaves.

  • If IO and SQL threads on Slave are up and running.

Checks for Master/Master Replication Cluster

6.4.5. Operations of a Replication Cluster (Master/Master)

In the Operations tab you get a short overview over your Replication Cluster. Here you can Switchover from your current Master to the elected new Master and force a Failover. The difference between Switchover and a Failover Switchover is that the Switchover is nicely where as the Failover is with "brute force". So check the Failover flag only if the Master Machine has a sever problem.

Note
It is a good idea to test the Switchover on a regular base to make sure it really works when you need it!

In the Slave section run different actions with your Slave like:

  • Stop Replication

  • Change Replication to this Slave to new Master

  • Skip erroneous events

  • Reset Replication and

  • Start Replication

Master/Master Replication Cluster Operations
Stop Replication

This is to Stop the Replication on the Slave. If you try to Stop the Replication if it is already stopped you will get some error messages.

A Replication consists of 2 Threads, the IO and the SQL thread. In some rare cases it makes sense to stop them individually with Stop IO Thread and Stop SQL Thread.

Change Master

This is to reconfigure your Replication on the Slave. Changing Replication has to be done after your copied over your Backup from Master to the Slave.

Change Master
Table 6. Changing Replication on the Slave
Field name Meaning of the Field

Master Host

IP address or hostname of the Master.

Master Port

Port of the Master. This is typically 3306

Master User

User which should be used for the Replication. This Replication User must be created on the Master first and needs the REPLICATION SLAVE privilege. You can do this under InstanceAccountsCreate Account

Master Password

Password of the Replication User.

Master Log File

Binary Log File of the Master from the Point in Time the Backup was taken. If there there is/was not traffic on the Master since you took the Backup you can just click on the Take this icon.

Master Log Pos

Position of the Binary Log File of the Master from the Point in Time the Backup was taken. If there there is/was not traffic on the Master since you took the Backup you can just click on the Take this icon.

Skip 1 event

If Replication halts because of erroneous events (SQL thread only!) you can skip this event (one by one=.

Note
Be aware that this means if you need this operation that your data are NOT consistent any more!
Reset Replication

Make a Slave forget that he was a Slave.

Note
This destroys your Replication. So be careful doing this.
Start Replication

This is to Start the Replication on the Slave. If your Replication is already running the item is disabled.

A Replication consists of 2 Threads, the IO and the SQL thread. In some rare cases it makes sense to start them individually with Start IO Thread and Start SQL Thread.

Build Slave

Build Slave automatically new from Master. This is not fully implemented yet.

6.5. Galera Cluster

6.5.1. Add new Cluster (Galera)

Choose a unique and descriptive Cluster Name, select the Cluster Type Galera Cluster and then select the nodes which should belong to this Cluster:

Add a new Cluster

Then click on the Create Cluster button.

Note
One Instance (Node 1 to 5) can only belong to one Cluster at the same time!
Note
Currently up 5 Galera nodes are supported by Ops Center in a Galera Cluster.

6.5.2. Settings tab (Galera)

In the Settings tab you get an overview of all the nodes belonging to a Cluster, you can remove nodes from the Cluster by click on the Remove Instance from Cluster icon on the right. You can edit a Cluster with the Edit Cluster and delete the whole Cluster from the Ops Center Repository with the Delete Cluster button:

Settings tab

6.5.3. Checks tab (Galera)

In the Checks tab you can see the actuall state of your Cluster and all the Cluster nodes:

Checks tab

6.5.4. Operations tab (Galera)

In the Operations tab you get some actuall state information of your Cluster and all the Cluster nodes:

Operations tab
Note
Starting and stopping an Instance in the Cluster is done in Instance Operations.

Further you can deploy a new Galera Cluster configuration with the Deploy Configuration button if there is no configuration yet.

Operations 2
Note
The Deploy Configuration button is only shown if there is no Galera configuration yet (grastate.dat is missing).

If you deploy the Galera configuration via Ops Center make sure the variables wsrep_on (MariaDB Galera Cluster only) and wsrep_provider are set correctly. This is still an issue with v1.2.1 and older.

For MariaDB Galera Cluster on Debian based distributions:

wsrep_on       = on
wsrep_provider = /usr/lib/libgalera_smm.so

For Galera Cluster for MySQL on Debian based distributions:

# wsrep_on       = on   # NOT needed
wsrep_provider = /usr/lib/libgalera_smm.so

For MariaDB Galera Cluster on Redhat based distributions:

wsrep_on       = on
wsrep_provider = /usr/lib64/libgalera_smm.so

For Galera Cluster for MySQL on Redhat based distributions:

# wsrep_on       = on   # NOT needed
wsrep_provider = /usr/lib64/libgalera_smm.so

7. Load Balancer

7.1. About Load Balancer

A Load Balancer is a service which balances load between different other services. In our case a Load Balancer distributes application requests between different database nodes (for example Galera nodes or replication Slaves). A Load Balancer typically can also do failover.

Ops Center supports (v1.2.0 and newer) the following Load Balancer:

  • Ops Center Load Balancer HAproxy

  • Galera Load Balancer

  • MariaDB MaxScale Load Balancer

  • Ops Center Load Balancer ProxySQL

7.2. HAproxy Load Balancer

7.2.1. Installing HAproxy Load Balancer

Before you start you should install the HAproxy Load Balancer package on the machines where the HAproxy Load Balancer should reside:

apt update && apt install haproxy netcat   # On Debian based distributions
dnf install haproxy netcat   # On Redhat based distributions

vi /etc/haproxy/haproxy.cfg

The HAproxy Load Balancer configuration file is located under /etc/haproxy/haproxy.cfg. A useful configuration file for testing purposes to start with looks as follows:

# New syntax for HA-Proxy 1.7 etc.

global
  daemon
  stats socket /run/haproxy/admin.sock level admin

listen mysql
  bind    *:3306
  mode    tcp
  maxconn 112
  timeout connect 10s
  timeout client 60s
  timeout server 60s
  balance roundrobin
  default_backend galera_nodes

backend galera_nodes
  timeout connect 10s
  timeout server 60s
  server galera1 192.168.7.81:3306 maxconn 8 check
  server galera2 192.168.7.82:3306 maxconn 8 check
  server galera3 192.168.7.83:3306 maxconn 8 check

listen admin
  bind    192.168.7.107:8080
  mode    http
  timeout connect 10s
  timeout client 1m
  timeout server 1m
  stats   uri /
  stats   enable
  stats   show-legends
  stats   refresh           5s
  stats   realm             Haproxy\ Statistics
  stats   auth              monitor:AdMiN123
  stats   admin             if TRUE

7.2.2. Machine and ssh key

Ideally you add a Machine in Ops Center where the HAproxy Load Balancer resides. If you omit this step you should copy over at least the ssh Public Key of the Web-Server user to the Machine the HAproxy Load Balancer resides. For a Debian based distribution this is done as follows:

sudo ssh-copy-id -i /var/www/.ssh/id_?sa.pub -p 22 root@10.139.158.117

7.2.3. Adding a new HAproxy Load Balancer

To add a new HAproxy Load Balancer to the Ops Center click on the Load Balancer item in the menu on the left and then click the Add Load Balancer button:

Load Balancer overview

Choose a unique and descriptive Name for the Load Balancer and choose the Type HAproxy:

Add a new HAproxy Load Balancer
Table 7. The fields have the following meaning:
Field name Meaning of the Field

Name

Unique and descriptive name for the Load Balancer.

Type

Type of Load Balancer.

Resource Group

Is the team the Load Balancer belongs to and to which it is cleared to.

Admin User

O/S user Ops Center will use to connect to the machine.

Admin IP

IP address (or hostname) Ops Center will use to connect to.

ssh Port

Port which is used by Ops Center to connect to the machine (this is typically ssh port 22).

Socket or IP:Port

Socket or IP/port combination the Load Balancers admin interface can be reached.

Configuration File

Configuration file of the HAproxy Load Balancer. The HAproxy Load Balancer configuration file is typically located under /etc/haproxy/haproxy.cfg.

Then click to the Create button to create the Load Balancer in the Ops Center repository.

If you follow the Continue button you will end up in the configuration overview (Settings tab) of the Load Balancer. If you follow the link you will reach the Operations tab.

7.2.4. Settings tab

In the Settings tab you can see the actual configuration of your HAproxy Load Balancer. With the Edit Load Balancer button you can change some of those settings. With the Delete Load Balancer button you can remove the Load Balancer from Ops Center again.

Important
The Load Balancer is only delete in the Ops Center repository. Nothing is changes or deleted on the machine! You have to remove the Load Balancer manually from there afterwards…​
add HAproxy Load Balancer

7.2.5. Edit Load Balancer

Here you can change all the settings you have entered during adding your Load Balancer:

Edit HAproxy Load Balancer

If you have changed your Load Balancer configuration do not forget to restart the Load Balancer.

Note
Actually it is NOT possible to add to and delete Nodes from the HAproxy Load Balancer through Ops Center. This must be done directly in the HAproxy configuration file.

7.2.6. Checks tab

In the Checks tab you can see if the HAproxy Load Balancer is up and running and get some simple monitoring statistics.

HAproxy Load Balancer Checks tab

7.2.7. Operations tab

This functionality is currently not supported yet.

7.3. Galera Load Balancer

7.3.1. Installing Galera Load Balancer

Before you start you should install the Galera Load Balancer package on the machines where the Galera Load Balancer should reside. If you are using the FromDual Repositories, this is quite easy:

apt update && apt install glb   # On Debian based distributions
dnf install glb   # On Redhat based distributions

systemctl enable glb

vi /etc/default/glb   # On Debian based distributions
vi /etc/sysconfig/glbd   # On Redhat based distributions

The Galera Load Balancer configuration file is located under /etc/default/glb (on Debian based distributions) and under /etc/sysconfig/glbd (on Redhat based distributions). A useful configuration file to start with looks as follows:

LISTEN_ADDR="3306"
CONTROL_ADDR="10.139.158.117:8011"   # 127.0.0.1:8011 is currently NOT supported by Ops Center
CONTROL_FIFO="/run/glbd.fifo"
THREADS="4"
MAX_CONN="453"
DEFAULT_TARGETS="192.168.1.1:3306:1 192.168.1.2:3306:1 192.168.1.3:3306:1"
OTHER_OPTIONS="--round"

7.3.2. Machine and ssh key

Ideally you add a Machine in Ops Center where the Galera Load Balancer resides. If you omit this step you should copy over at least the ssh Public Key of the Web-Server user to the Machine the Galera Load Balancer resides. For a Debian based distribution this is done as follows:

sudo ssh-copy-id -i /var/www/.ssh/id_?sa.pub -p 22 root@10.139.158.117

7.3.3. Adding a new Galera Load Balancer

To add a new Load Balancer to the Ops Center click on the Load Balancer item in the menu on the left and then click the Add Load Balancer button:

Load Balancer overview

Choose a unique and descriptive Name for the Load Balancer and choose the Type Galera Load Balancer:

Add a new Galera Load Balancer
Table 8. The fields have the following meaning:
Field name Meaning of the Field

Name

Unique and descriptive name for the Load Balancer.

Type

Type of Load Balancer.

Resource Group

Is the team the Load Balancer belongs to and to which it is cleared to.

Admin User

O/S user Ops Center will use to connect to the machine.

Admin IP

IP address (or hostname) Ops Center will use to connect to.

ssh Port

Port which is used by Ops Center to connect to the machine (this is typically ssh port 22).

Socket or IP:Port

Socket or IP/port combination the Load Balancers admin interface can be reached.

Configuration File

Configuration file of the Galera Load Balancer. The Galera Load Balancer configuration file is typically located under /etc/default/glb on DEB based distributions and under /etc/sysconfig/glbd on RPM based distributions.

Balancing Policy

Policy how your Galera Load Balancer should balance connections (Least connected, Round Robin, Random, Source Tracking (aka Source Sticky), Single Destination). For more details look here: Destination Selection Policies.

Then click to the Create button to create the Load Balancer in the Ops Center repository.

If you follow the Continue button you will end up in the configuration overview (Settings tab) of the Load Balancer. If you follow the link you will reach the Operations tab.

7.3.4. Operations tab

Operations tab

Next you should start your Galera Load Balancer if it is not started yet.

Start Load Balancer
Note
Actually the synchronization of the Galera Load Balancer configuration information in the Ops Center (Settings tab) and the Galera Load Balancer configuration (/etc/default/glb or /etc/sysconfig/glbd) is not so smooth yet as it could be. Possibly you have to change the Galera Load Balancer configuration and stop it manually the first time until everything is working well…​

Here you can stop (Stop Load Balancer), start (Start Load Balancer) and restart (Restart Load Balancer) the Galera Load Balancer and Persist configuration of your Galera Load Balancer you have changed in the Ops Center.

When you persist the configuration the old version is backed-up in the same directory.

Load Balancer Operations

By clicking on the + or - icon you can increase and decrease the weight of a back end node. By clicking on the Drain node or Undrain node icon on the very right you can drain or undrain a backend node. A weight of 0.000 has the same meaning an effect as draining a node. Undraining a node leads to a node weight of 1.000. So the old value is not remembered at the moment.

7.3.5. Checks tab

In the checks tab you can see if the Galera Load Balancer is up and running and get some simple monitoring statistics.

Load Balancer Checks tab

7.3.6. Settings tab

In the Settings tab you can see the actual configuration of your Galera Load Balancer. With the Edit Load Balancer button you can change some of those settings. With the Delete Load Balancer button you can remove the Load Balancer from Ops Center again.

Important
The Load Balancer is only delete in the Ops Center repository. Nothing is changes or deleted on the machine! You have to remove the Load Balancer manually from there afterwards…​
Edit Load Balancer

7.3.7. Edit Load Balancer

Here you can change all the settings you have entered during adding your Load Balancer. There is one additional option: Balancing Policy.

Edit Load Balancer

If you have changed your Load Balancer configuration do not forget to persist the configuration and Restart the Load Balancer in the Operations tab…​

Note
Actually it is NOT possible to add and delete nodes from the Galera Load Balancer. This must be done directly in the configuration file.

7.4. MariaDB MaxScale Load Balancer

7.4.1. Installing MariaDB MaxScale Load Balancer

FromDual Ops Center only supports MariaDB MaxScale version 6 (v2.6) and newer.

Before you start you should install the MariaDB MaxScale Load Balancer package on the machines where the MaxScale Load Balancer should reside.

MariaDB MaxScale can be downloaded from here: Download MariaDB.

Note
MariaDB MaxScale is licensed under Business Source License (BSL).

When you have downloaded the package you can install it as follows:

apt install ./maxscale-*.deb   # for Debian and Ubuntu
dnf localinstall ./maxscale-*.rpm   # For Redhat based distributions

7.4.2. Machine and ssh key

Ideally you add a add a Machine in Ops Center where the MaxScale Load Balancer resides. If you omit this step you should copy over at least the ssh Public Key of the Web-Server user to the Machine the MariaDB MaxScale Load Balancer resides. For a Debian based distribution this is done as follows:

sudo ssh-copy-id -i /var/www/.ssh/id_?sa.pub -p 22 root@10.139.158.117

7.4.3. Adding a new MaxScale Load Balancer

To add a new Load Balancer to the Ops Center click on the Load Balancer item in the menu on the left and then click the Add Load Balancer button:

Adding a MaxScale Load Balancer

Choose a unique and descriptive Name for the Load Balancer and choose the Type [.buttonstyle]MaxScale#:

Add MaxScale Load Balancer
Table 9. The fields have the following meaning:
Field name Meaning of the Field

Name

Unique and descriptive name for the Load Balancer.

Type

Type of Load Balancer.

Resource Group

Is the team the Load Balancer belongs to and to which it is cleared to.

Admin User

O/S user Ops Center will use to connect to the machine.

Admin IP

IP address (or hostname) Ops Center will use to connect to.

ssh Port

Port which is used by Ops Center to connect to the machine (this is typically ssh port 22).

Socket or IP:Port

Socket or IP/port combination the Load Balancers admin interface can be reached.

Configuration File

Configuration file of the Load Balancer. The Load Balancer configuration file is typically located under /etc/maxscale.cnf.

If MaxScale is added successfully to the Ops Center repository start the Load Balancer under the Operations tab…​

7.4.4. Settings tab

In the Settings tab you can see the actual configuration of your MariaDB MaxScale Load Balancer. With the Edit Load Balancer button you can change some of those settings. With the Delete Load Balancer button you can remove the Load Balancer from Ops Center again.

Important
The Load Balancer is only delete in the Ops Center repository. Nothing is changes or deleted on the machine! You have to remove the Load Balancer manually from there afterwards…​
Settings tab of MaxScale Load Balancer

7.4.5. Checks tab

In the Checks tab you can see if the MariaDB MaxScale Load Balancer is up and running and get some simple monitoring statistics.

Checks tab of MaxScale Load Balancer

7.4.6. Operations tab

In the Operations tab you can do the following actions: Stop Load Balancer, Start Load Balancer, Restart Load Balancer and Drain node or Undrain node on the icons to the right.

Note
Configuration of MariaDB MaxScale with Ops Center is currently NOT possible. You have to do it manually in the MariaDB MaxScale configuration file on the Machine.

At the bottom of the page you can see the last 20 lines of the MaxScale error log (from journalctl)

Operations tab of MaxScale Load Balancer

7.5. ProxySQL Load Balancer

FromDual Ops Center supports basic functionality of ProxySQL.

Before you start you should install the ProxySQL Load Balancer package on the machines where the ProxySQL Load Balancer should reside.

ProxySQL can be downloaded from here: ProxySQL Installation.

When you have downloaded the package you can install it as follows:

apt install ./proxysql_*.deb   # For Debian based distributions
dnf localinstall proxysql-*.rpm   # For Redhat based distributions

Make sure your ProxySQL SQL Load Balancer is started with:

systemctl start proxysql

Create a remote admin user as follows:

mysql --user=admin --password=admin --host=127.0.0.1 --port=6032

ProxySQL> SELECT * FROM runtime_global_variables WHERE variable_name LIKE 'admin-admin_credentials%';
ProxySQL> UPDATE global_variables SET variable_value='admin:admin;radmin:radmin' WHERE variable_name='admin-admin_credentials';
ProxySQL> LOAD ADMIN VARIABLES TO RUNTIME;
ProxySQL> SELECT * FROM runtime_global_variables WHERE variable_name LIKE 'admin-admin_credentials%';

7.5.1. Machine and ssh key

Ideally you add a add a Machine in Ops Center where the ProxySQL Load Balancer resides. If you omit this step you should copy over at least the ssh Public Key of the Web-Server user to the Machine the ProxySQL Load Balancer resides. For a Debian based distribution this is done as follows:

sudo ssh-copy-id -i /var/www/.ssh/id_?sa.pub -p 22 root@10.139.158.117

7.5.2. Adding a new ProxySQL Load Balancer

To add a new Load Balancer to the Ops Center click on the Load Balancer item in the menu on the left and then click the Add Load Balancer button:

Adding a ProxySQL Load Balancer

Choose a unique and descriptive Name for the Load Balancer and choose the Type ProxySQL:

Add ProxySQL Load Balancer
Table 10. The fields have the following meaning:
Field name Meaning of the Field

Name

Unique and descriptive name for the Load Balancer.

Type

Type of Load Balancer.

Resource Group

Is the team the Load Balancer belongs to and to which it is cleared to.

Admin User

O/S user Ops Center will use to connect to the machine.

Admin IP

IP address (or hostname) Ops Center will use to connect to.

ssh Port

Port which is used by Ops Center to connect to the machine (this is typically ssh port 22).

Socket or IP:Port

Socket or IP/port combination the Load Balancers admin interface can be reached.

Configuration File

Configuration file of the Load Balancer. The Load Balancer configuration file is typically located under /etc/proxysql.cnf.

If ProxySQL is added successfully to the Ops Center repository start the Load Balancer under the Operations tab…​

7.5.3. Settings tab

In the Settings tab you can see the actual configuration of your ProxySQL Load Balancer. With the Edit Load Balancer button you can change some of those settings. With the Delete Load Balancer button you can remove the Load Balancer from Ops Center again.

Important
The Load Balancer is only delete in the Ops Center repository. Nothing is changes or deleted on the machine! You have to remove the Load Balancer manually from there afterwards…​
ProxySQL Load Balancer Settings tab

7.5.4. Checks tab

Note
This works since Ops Center v1.2.2 and newer.

In the Checks tab you can see if the ProxySQL Load Balancer is up and running and get some simple monitoring statistics.

ProxySQL Load Balancer Checks tab

7.5.5. Operations tab

Operations functionality is not supported yet.

8. Virtual IPs (VIPs)

8.1. About Virtual IPs (VIPs)

VIP is an abbreviation for Virtual IP. On other systems it is also called floating IP. A virtual IP address is an IP address that does not correspond to an actual physical network interface (port). Uses for VIPs include fault-tolerance, and mobility [Wikipedia].

Ops Center supports (v1.2.0 and newer) 2 different types of VIPs:

  • Ops Center controlled VIPs (deprecated).

  • keepalived controlled VIPs. [keepalived]

8.2. Installing keepalived

To control VIPs with keepalived is the preferred method. To use VIPs with keepalived you first have to install keepalived:

apt intall keepalived   # On Debian based distributions

dnf install keepalived   # On Redhat based distributions

If you do not install keepalived it will just not work!

8.3. Adding a new VIP

Click on the VIPs item in the menu on the left and then click the Add VIP button.

Adding a VIP

Choose to which cluster the VIP should belong to (if any), the IP address of the VIP, to which network interface the VIP should be bound to and the 2 machines which are involved in the VIP failover:

VIP failover

Then click to the Add VIP button to add the VIP to the Ops Center repository

Table 11. The fields have the following meaning:
Field name Meaning of the Field

Cluster

Cluster the VIP belongs to (if any). NOTE: Cluster has just a descriptive meaning right now. This could change in the future.

Resource Group

Is the team the Load Balancer belongs to and to which it is cleared to.

IP address

IP address of the VIP.

Service name

If there is a service name (DNS) specified for the VIP, set it here. DNS names make your application independent from the IP address.

Interface

Physical network interface the VIP should be bound to. IMPORTANT: Currently this must be the same physical interface on all machines). Different interface is not supported right now!

Primary

The primary (preferred) machine where the VIP should reside.

Failover

The failover (secondary) machine the VIP should switch to.

Keepalived

If keepalive should be used for controlling the VIP or not. NOTE: Not to use keepalived (native VIP) is deprecated and will be removed in the future.

8.4. Settings tab

In the Settings tab you edit or delete a VIP:

VIP configuration overview

8.5. Checks tab

To get an overview of the state of your VIPs you can either click the Check VIP button for all checks or you can run each check individually by clicking on the Check now button on the right:

VIP checks

8.6. Operations tab

In the Operations tab you can (Please choose…​ on the right below Operations):

  • Stop a VIP via keepalived

  • Start a VIP via keepalived

  • Failover a VIP via keepalived

VIP operations

A failover of the VIP can be done when it is stopped OR when it is started. This gives you the possibility to start the VIP on an other node after stopping it.

Or deploy the keepalived configuration with the Deploy configuration button .

The Deploy configuration button is only shown if the VIP stopped. It will deploy the Ops Center settings of the VIP into the keepalived configuration on the machine.

Further down you see the error log (journalctl) of keepalived. This helps to understand the problem in case something does not work as expected.

9. Tools

9.1. Database User Tool

The Ops Center Database User tool is made to manage many different MariaDB/MySQL accounts in several different instances. Before you see some useful information here you have to click on the Rescan User now button.

FromDual Ops Center will list now the users of all instances you have under Ops Center control. Further Ops Center provides you with some security relevant information about those users. And it will show you if those users have no password.

User tool refresh

Now you can either clone a user or drop some of them:

Clone or drop user

When you clone a user you can clone it to different instances and change username and host:

Clone user

9.2. Compare Tool

The Ops Center compare tool is made to compare different MariaDB/MySQL schema either in structure or in content:

Compare tool

As a next step you have to select the databases (instances) which you want to compare:

Compare tool instance selection

In a third step you have to select the schema you would like to compare:

Compare tool schema selection

9.2.1. Structure compare

In the structure compare you can see the tables which are missing and the differences of the tables:

Structure compare differences

9.2.2. Content compare

In the content compare you can see if the tables have different or if they have equal content:

Content compare differences

IMPORTANT: If you have traffic on those tables it might be that the content is reported differently even it is equal. For performance reasons big tables are not compared at the moment yet.

9.3. Config Diff Tool

In the configuration diff tool you can compare the configuration variables of 2 different MariaDB/MySQL instances. First you have to select the instances:

Configuration diff tool

Then you will see the differences of the MariaDB/MySQL configuration variables between the 2 instances and the configuration variables default values:

Configuration variable differences

9.4. Jobs Tool

The Ops Center has its own job scheduling system:

Ops Center Jobs

Here you can start, stop, check, kill, restart and delete jobs:

Ops Center Jobs

You can define your own jobs which should be running on a specific server:

Ops Center Jobs

Ops Center backup jobs are automatically added to the Ops Center Jobs Scheduler. And after a while they are automatically started.

All the jobs are automatically started and check according to the Ops Center crontab-tool[Crontab Tool] tasks.

9.4.1. Job status

The following Ops Center job status do exist:

Table 12. Ops Center Job status:
Status Meaning of status

Added

Job is added to the job system and will be stated automatically soon…​

Hold

Job is added to the job system but needs to be started manually!

Restart

Preparing

Internal used.

Started

Job is started.

Running

Job is running.

Killing

Job was killed and is terminating.

Finished

Job has finished (ok or err)

Failed

Job has died

Killed

Job was killed

Erroneous

Deleted

Job was deleted from the job view and is not visible any more. The job files are deleted as well.

Ops Center Jobs Status Flow

9.4.2. Job files

Every Ops Center job creates some files on the server the job is executed in the directory specified in Configuration.inc ($gJobTmpDir). The file consists of a name and a job number:

  • job.00000001 - The job to execute itself.

  • pid.00000001 - The PID of the job as soon as the job is started.

  • ret.00000001 - The return code of the job as soon as the job has ended.

  • stderr.00000001 - The stderr output of the job.

  • stdout.00000001 - The stdout output of the job.

9.5. Crontab Tool

One of the tools of FromDual Ops Center for MariaDB and MySQL is the centralized Ops Center Tool for all of your database machines. Instead of maintaining various different crontabs on different machines you can manage them now in one place within the Ops Center.

Under the Tools menu on the left you find Crontab. Here you get a first overview of crontab jobs available:

Centralized Crontab
  • The first column shows if the crontab job is active or not.

  • The second column indicates the O/S user the crontab job should run as.

  • Then we have the typical crontab scheduling entries: Minute, Hour, Day, Month and Day of Week (DoW).

  • Now follows the actual command which should be run with a comment describing the command.

  • The column Last indicates when the job was run last successfully.

  • And RC shows the last Return Code of the job (0 - success, otherwise error number).

  • With the trash icon you can delete a crontab job and with the run icon you can start and run a crontab job right now.

With the Add Crontab Entry button on the bottom you can add new crontab entries. To make it persistent you have to save the entry with the Save Crontab button.

You can change as well existing crontab entries directly in-line followed by the Save Crontab button.

CAUTION: Do not mix up the Ops Center Crontab under the Configuration/Crontab menu with the Centralized Crontab for your database machines under Tools/Crontab menu.

9.6. Reports Tool

In the Reports Tool you get an overview over the Machines and Instances which are under Ops Center control. You can find here which Resource Group (team, department) has machines and how much RAM and CPU they are using.

Further you can see how many instances are in use and the size of the instances owned by Resource Groups:

Reports Tool

9.7. File Transfer Tool

With the FromDual Ops Center file transfer tool you can easily upload files from your personal computer to the focmm machine, download files from the focmm machine to your personal computer or transfer files from the focmm machine to any of your database machines or between them. This feature is made for importing, exporting or transferring data from, to or between your different database instances. For example to copy a production schema to a testing database instance.

For backup and restore of a database instance or schema see Instance Operations tab.

File Tranfer

You can reach the file transfer tool under the menu Tools on the left and then File transfer.

9.7.1. Upload

For uploading a file just click to the Browse…​ button, select a file from your local file system and then click to Upload File.

Upload File

After a while, when the upload is completed, the file will appear in the Download section of your focmm machine.

Download section

Alternatively you can also upload files from your personal computer to the focmm machine via your favourite file transfer tools like scp or sftp.

9.7.2. Download

If you want to download a file from your focmm machine to your personal computer just click on one of the files shown in the download section. A window will pop-up and let you choose the location to store the file to.

Download file

Alternatively you can also download files from your focmm machine to your personal computer via your favourite file transfer tools like scp or sftp.

9.7.3. Transfer

To transfer files between your focmm machine and your database machines or between your different database machines you have to choose the machines first, then navigate through your file system tree on each server and then press the transfer link (arrow left to right or arrow right to left) to transfer the file.

Transfer file

10. Ops Center Questions and Answers (FAQ)

IMPORTANT: For technical details check our ops-center-user-guide[FromDual Ops Center User Guide].

  1. What is the FromDual Ops Center License?

    FromDual Ops Center is licensed under the FromDual Enterprise Tools License.

  2. What are the FromDual Ops Center Costs?

    FromDual Ops Center is free of costs for trial and non-commercial use. For commercial use the yearly fee depends on the amount of database instances you want to operate under FromDual Ops Center. Please ask FromDual for a quote.

  3. What is the FromDual Ops Center default User and Password?

    The default user and password are: admin / admin

  4. Is the FromDual Ops Center free of costs?

    FromDual Ops Center is free of costs for trial and non-commercial use.

  5. What is the use case of the FromDual Ops Center?

    The FromDual Ops Center for MariaDB and MySQL (focmm) is a browser-based Graphical User Interface (GUI) to operate and manage your MariaDB and MySQL database server farms more easily.