====== Requirements ====== ---- ===== Hardware Requirement ===== ---- To achieve the optimal performance when CloudBacko Pro is running on your machine, refer to this [[public:edition:cloudbacko_pro:hardware_requirement|list of hardware requirements]]. ===== Software Requirement ===== ---- Make sure the operating system where you have the MariaDB Database Server installed is compatible with the CloudBacko Pro. Refer to these lists of [[public:edition:cloudbacko_pro:supported_platforms|compatible operating systems]] and [[public:edition:cloudbacko_pro:supported_applications|application versions]]. ===== Antivirus Exclusion ===== ---- To optimize performance of CloudBacko Pro on Windows, and to avoid conflict with your antivirus software, refer to this [[public:faq:antivirus_exclusion|list of processes and directory paths that should be added to all antivirus software white-list / exclusion list]]. ===== CloudBacko Pro Installation ===== ---- Make sure that the latest version of CloudBacko Pro is installed directly on the machine where the MariaDB database(s) are hosted. Backup and restore of MariaDB database(s) running on a remote machine is not supported. ===== Java Heap Size ===== ---- The default Java heap size setting on CloudBacko Pro is 2048MB. It is highly recommended to increase the Java heap size setting to be at least 4096MB to improve backup and restore performance. The actual heap size is dependent on amount of free memory available on your MariaDB Database Server. See [[public:edition:cloudbacko_pro:faq:how_to_increase_java_heap_size|how to change CloudBacko Pro's Java heap size]]. ===== Network Drive ===== ---- The login accounts for network drives must have read and write access permission to ensure that backup and restore would be successful. ===== MariaDB Version ===== ---- For details of all supported MariaDB versions please refer to this [[public:edition:cloudbacko_pro:supported_applications|Software Compatibility List]]. To verify the MariaDB database version you can run the following query: Example: MariaDB database version 10.4.12 MariaDB [(none)]> select version(); +-----------------+ | version() | +-----------------+ | 10.4.12-MariaDB | +-----------------+ 1 row in set (0.00 sec) MariaDB [(none)]> For some older MariaDB database versions, to connect to MariaDB database use the **mysql –u root –p** command Example: MariaDB database version 10.1.22 >mysql -u root -p Enter password: ******** Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 17 Server version: 10.1.22-MariaDB mariadb.org binary distribution Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> select version(); +-----------------+ | version() | +-----------------+ | 10.1.22-MariaDB | +-----------------+ 1 row in set (0.00 sec) ===== MariaDB Database Status ===== ---- The MariaDB database instance must be online. Example: MariaDB database version 10.4.12 | {{public:module:mariadb_database:image015.png?800}} | For some older MariaDB database versions check the MySQL, which is the MariaDB database, instance is online. Example: MariaDB database version 10.1.22 | {{public:module:mariadb_database:image017.png?800}} | ===== TCP/IP Port ===== ---- Check the listening port of the MariaDB database instance (default is 3306) using the command **netstat –an** C:\>netstat -an Active Connections Proto Local Address Foreign Address State TCP 0.0.0.0:135 0.0.0.0:0 LISTENING TCP 0.0.0.0:445 0.0.0.0:0 LISTENING TCP 0.0.0.0:2179 0.0.0.0:0 LISTENING TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING TCP 0.0.0.0:5985 0.0.0.0:0 LISTENING TCP 0.0.0.0:47001 0.0.0.0:0 LISTENING TCP 0.0.0.0:49664 0.0.0.0:0 LISTENING TCP 0.0.0.0:49665 0.0.0.0:0 LISTENING TCP 0.0.0.0:49666 0.0.0.0:0 LISTENING TCP 0.0.0.0:49668 0.0.0.0:0 LISTENING TCP 0.0.0.0:49669 0.0.0.0:0 LISTENING TCP 0.0.0.0:49670 0.0.0.0:0 LISTENING TCP 0.0.0.0:49671 0.0.0.0:0 LISTENING TCP 0.0.0.0:50000 0.0.0.0:0 LISTENING TCP 10.16.10.88:139 0.0.0.0:0 LISTENING ===== Mysqldump Utility ===== ---- The mysqldump utility is installed on the MariaDB database server. Example: The default location for the mysqldump utitlity for MariaDB v10.4 is located in the following folder **C:\Program Files\MariaDB 10.4\bin** ===== Mysqldump Utility Version ===== ---- The mysqldump utility is the same version as the MariaDB database. To check the mysqldump version use the **mysqldump ––version** command. C:\Program Files\MariaDB 10.4\bin>mysqldump --version mysqldump Ver 10.17 Distrib 10.4.12-MariaDB, for Win64 (AMD64) C:\Program Files\ MariaDB 10.4\bin> ===== User Account Privileges ===== ---- A MariaDB database user account with the following privileges must be setup for the backup operation. MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO "username"@"localhost" IDENTIFIED BY "password"; Query OK, 0 rows affected (0.003 sec) MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO "username"@"localhost.localdomain" IDENTIFIED BY "password"; Query OK, 0 rows affected (0.002 sec) MariaDB [(none)]> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.002 sec) MariaDB [(none)]> ===== Localhost ===== ---- Verify that ‘localhost’ on the MariaDB database server is resolvable using the **ping localhost** command. C:\>ping localhost Pinging w2k16-std [::1] with 32 bytes of data: Reply from ::1: time<1ms Reply from ::1: time<1ms Reply from ::1: time<1ms Reply from ::1: time<1ms Ping statistics for ::1: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms C:\> ‘localhost’ is allowed to access the MariaDB database instance on the MariaDB service listening port (default 3306) using the command telnet localhost 3306. # telnet localhost 3306 Y 5.5.5-10.4.12-MariaDB7Ip{8E1e,■≈! G_,X[>cWm=&Fmysql_native_password The telnet utility is not installed by default on some Windows versions. ===== MariaDB Virtual System Databases ===== ---- The 'information_schema' and 'performance_schema' databases are MariaDB virtual system databases, which contains information about the user databases on the MariaDB instance are automatically excluded from the backup source. They are read-only and cannot be backed up. MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | chinook | | information_schema | | mysql | | nation | | performance_schema | | sportdb | | test | +--------------------+ 7 rows in set (0.002 sec) ===== Temporary Directory ===== ---- The databases selected for backup will be temporarily spooled to a temporary directory before being uploaded to the backup server or destination storage. Ensure that the temporary directory configured for the MariaDB database backup: * Is not located on the Windows System C:\ drive * Has sufficient disk space for the backup operation, the free space on the temporary directory drive should be at least 150% of the database size. As the temporary directory is also used for storing index files and any incremental or differential delta files generated during the backup job before they are uploaded to the backup destination. For example: If the default setting for Delta ratio is 50% for in-file delta, if the total MariaDB database size is 100GB and there is only one backup destination, the minimum free space needed on the drive where the temporary directory folder is located = 150GB 100GB = Total MariaDB database size 50GB = Total maximum size of incremental or differential delta files generated Please bear in mind the size of the databases may grow over time and you may need to review the temporary directory free space requirements on a regular basis. To calculate for the size of your databases run the command below. MariaDB [(none)]> SELECT -> table_schema 'Database Name', -> ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) 'Size in MB' -> FROM information_schema.tables -> GROUP by table_schema; +--------------------+--------------+ | Database | Size in (MB) | +--------------------+--------------+ | chinook | 1.83 | | information_schema | 0.19 | | mysql | 2.17 | | nation | 3.55 | | performance_schema | 0.00 | | sportdb | 2.89 | | test | 0.77 | +--------------------+--------------+ 7 rows in set (0.378 sec) ===== Limitations ===== ---- * Backup and restore must be to the same MariaDB database version. * When restoring MariaDB databases to an alternate location only one database can be selected and restored at any one time. * Restoring databases to another machine can only be done using the Restore raw file option. ===== Best Practices and Recommendations ===== ==== Temporary Directory ==== To ensure an optimal backup/restoration performance, it is highly recommended to set the temporary directory folder to a location with sufficient free disk space. It must be on another location other than Drive C: (e.g. Drive E:). ==== Periodic Backup Schedule ==== The periodic backup schedule should be reviewed regularly to ensure that the interval is sufficient to handle the data volume on the machine. Over time, data usage pattern may change on a production server, i.e. the number of new files created, the number of files which are updated/deleted, and new users may be added etc. Consider the following key points to efficiently handle backup sets with periodic backup schedule. * Hardware – to achieve optimal performance, compatible hardware requirements is a must. Ensure you have the backup machine’s appropriate hardware specifications to accommodate frequency of backups, * so that the data is always backed up within the periodic backup interval * so that the backup frequency does not affect the performance of the production server * Network – make sure to have enough network bandwidth to accommodate the volume of data within the backup interval. * Retention Policy - also make sure to consider the retention policy settings and retention area storage management which can grow because of the changes in the backup data for each backup job.