Support

Documentation

database - Database restoration

Each element under databaseInfo has the following options.

changecollation

When set to 1 or true UNiTE will try to forcibly change the collation of all tables and fields to UTF8 (utf8_general_ci). Normally this is not required, unless you have a broken database setup.

[Note]Note

This option is deprecated. Please use the utf8db option instead.

dbdriver

The database driver to use. You can use one of:

  • mysqli. The mysqli driver is the newest version of PHP's MySQL driver and we suggest trying this first.

  • mysql. Alias pdomysql. Uses the PDO MySQL database driver. Only applicable to Joomla sites.

Please remember that our backup software and UNiTE itself only support MySQL–compatible database servers such as MySQL itself, and MariaDB. You cannot restore a MySQL database dump on a different database server technology such as PostgreSQL or Microsoft SQL Server even if that database technology is supported by your CMS.

dbhost

Database host name (MySQL server's host name).

dbport

Optional. The port your MySQL server listens to.

Use this if your host told you that your database connection information is something like something.example.com:1234. The part before the colon is the dbhost. The part after the colon, as long as it consists only of numbers, is the dbport. If the part after the colon consists of alphanumeric characters, such as /var/run/something.sock then it's the dbsocket. If you mix the dbport with the dbsocket, or if you enter the entire thing with the colon in the dbhost ANGIE is usually smart enough to figure out what you mean; there are some edge cases where it's not absolutely clear what you mean so it's best to set up these three options correctly to begin with.

dbsocket

Optional. The socket your MySQL server listens to.

Use this if your host told you that your database connection information is something like something.example.com:/var/run/something.sock. The part before the colon is the dbhost. The part after the colon, as long as it does NOT consists only of numbers, is the dbsocket. If the part after the colon consists entirely of numbers, for example 1234 then it's the dbport. If you mix the dbport with the dbsocket, or if you enter the entire thing with the colon in the dbhost ANGIE is usually smart enough to figure out what you mean; there are some edge cases where it's not absolutely clear what you mean so it's best to set up these three options correctly to begin with.

dbuser

Database username.

dbpass

Database password.

[Warning]Warning

YOU SHOULD NEVER USE AN EMPTY DATABASE PASSWORD. Use of empty passwords is deprecated and may cease to work at any time.

dbname

Database name.

[Warning]Warning

THE DATABASE NAME SPECIFIED HERE MUST BE A VALID NAME FOR A DATABASE WHICH ALREADY EXISTS. Depending on the database driver being used, UNiTE MAY try to create the database if it doesn't exist but it's not guaranteed that it will succeed (usually creating a database requires providing the database root user credentials in dbuser and dbpass which is risky). If the database does not exist and cannot be created you MAY receive a misleading error indicating that a table doesn't exist. UNiTE cannot really test for the existence of a database. It has to take your word for it.

dbprefix

Prefix of the database table names.

You must always supply a value. If you are restoring an additional database (NOT the main database of your site!) which did not have a table name prefix set up for it during backup you may leave the value blank.

[Warning]Warning

Never leave the prefix blank for the site's main database! Using a blank prefix on these database will lead to a site broken in many different ways. Even if the site appears to be working, trying to back it up and restore it to a different server will fail or otherwise result in a completely broken site.

dbencryption

When set to 0 or false (default) ANGIE will connect to the database server directly, using an unencrypted connection. When this is set to 1 or true, ANGIE will try to set up an SSL/TLS connection to the database server using the SSL/TLS certificate you provided in the dbsslcert option. You only need to set this option if your database server administrator / host told you that you need to “enable SSL connections” to your database and gave you a “certificate file”.

dbsslcipher

Only applies when the dbencryption option is set to 1 or true. Enter a colon–separated list of encryption ciphers to use when connecting to the database server over an SSL/TLS connection. The default value is AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-CBC-SHA256:AES256-CBC-SHA384:DES-CBC3-SHA. You should normally never have to use that option. If you do, your host or database server administrator should tell you what to put here.

dbsslcert

Only applies when the dbencryption option is set to 1 or true. The absolute filesystem path to an SSL/TLS certificate in PEM format which will be used to connect to your database server.

dbsslverifyservercert

Only applies when the dbencryption option is set to 1 or true. When set to 1 or true ANGIE will verify the SSL/TLS certificate it receives from the database server. In most cases you do not need to set that option as the database server certificates are self–signed and cannot be verified.

existing

What to do with existing tables. Can be drop (delete existing tables) or backup (rename existing tables, changing their prefix to bak_).

foreignkey

if set to 1 or true UNiTE will ignore foreign key checks. This is useful when restoring sites with complex data structures. We recommend always setting this to 1 when restoring full site backups with UNiTE. If omitted or set to 0 or false the database will enforce any foreign key constraints.

noautovalue

This tells MySQL what to do with auto_increment fields when the numeric value zero is sent to them. When this setting is not specified or set to 0 or false, a zero value will cause MySQL to try and create a new automatically increment value to replace it (default behavior of the MySQL server). When this option is set to 1 or true MySQL will accept the numeric value zero as a valid value for the field and will not try to change it.

Some PHP software such as Magento and Drupal require this setting to be set to 1 for proper restoration. Most other CMS and PHP scripts do not require this.

Do note that per MySQL's documentation “Storing 0 is not a recommended practice”.

replace

When set to 1 or true UNiTE will use REPLACE instead of INSERT when restoring the database. UNiTE will normally use INSERT commands to restore the database data. This doesn't work well with certain extensions' / plugins' data, causing restoration issues. If you get database restoration errors please set this to 1. If omitted, the default value 0 or false (use INSERT commands) will be used.

utf8db

When set to 1 or true, force UTF-8 collation on database. When enabled UNiTE will try to convert the default collation of your table to Unicode (UTF-8), as suggested by most CMS. This doesn't work on all servers. Check it if you get question marks or broken text instead of international characters. Default is 0 or false (do not convert).

If you want to restore a Joomla! or WordPress site taken on a server with UTF8MB4 collation to a server that does not support UTF8MB4 collation set this option to 1 and the utf8mb4 option to 0. Please note that doing that is not recommended by Joomla 4.0 and later or WordPress 6.0 and later and it might result in a broken site.

utf8tables

When set to 1 or true UNiTE will force UTF-8 collation on tables and their text fields. In this case UNiTE will try to convert all text fields of restored tables to Unicode (UTF-8). This is a workaround when you cannot use the option above. Please note that if your database collation is anything other than UTF-8 you will have problems in the future, e.g. after an extension/module/plugin upgrade adds a new text field.

utf8mb4

Allow UTF8MB4 auto-detection. If set to 1 or true and your database server supports UTF8MB4 (UTF-8 Multibyte) it will be used instead of plain old UTF-8.

[Important]Important

Only use if your site was using UTF8MB4 when you backed it up. Set to 0 or false if you get broken text after restoring your site! See the information about utf8db above.

ignoreCreateErrors

Ignore errors coming from table CREATE. If set to 1 or true any errors coming from running CREATE TABLE and CREATE VIEW commands will not cause the restoration to fail.

ignoreInsertErrors

Ignore errors coming from INSERT commands, writing data to the database. If set to 1 or true any errors coming from running INSERT commands will not cause the restoration to fail.