MySQL 8.0 Reference Manual Including MySQL NDB Cluster 8.0
Before starting a backup, make sure that the cluster is properly configured for performing one. (See Section 25.6.8.3, “Configuration for NDB Cluster Backups”.)
        The START BACKUP command is used to create a
        backup, and has the syntax shown here:
      
START BACKUP [backup_id] [encryption_option] [wait_option] [snapshot_option]encryption_option: ENCRYPT [PASSWORD=password]password: {'password_string' | "password_string"}wait_option: WAIT {STARTED | COMPLETED} | NOWAITsnapshot_option: SNAPSHOTSTART | SNAPSHOTEND
        Successive backups are automatically identified sequentially, so
        the backup_id, an integer greater
        than or equal to 1, is optional; if it is omitted, the next
        available value is used. If an existing
        backup_id value is used, the backup
        fails with the error Backup failed: file already
        exists. If used, the
        backup_id must follow immediately
        after the START BACKUP keywords, before any
        other options are used.
      
        In NDB 8.0.22 and later, START BACKUP
        supports the creation of encrypted backups using
        ENCRYPT
        PASSWORD=. The
        passwordpassword must meet all of the
        following requirements:
      
            Uses any of the printable ASCII characters except
            !, ',
            ", $,
            %, \, and
            ^
          
Is no more than 256 characters in length
Is enclosed by single or double quotation marks
        When ENCRYPT
        PASSWORD=' is
        used, the backup data record and log files written by each data
        node are encrypted with a key derived from the user-provided
        password'password and a randomly-generated
        salt using a key derivation function (KDF) that employs the
        PBKDF2-SHA256 algorithm to generate a symmetric encryption key
        for that file. This function has the form shown here:
      
key = KDF(random_salt,password)
The key so generated is then used to encrypt the backup data using AES 256 CBC inline, and symmetric encryption is employed for encrypting the backup fileset (with the generated key).
NDB Cluster never saves the user-furnished password or generated encryption key.
        Starting with NDB 8.0.24, the PASSWORD option
        can be omitted from
        encryption_option. In this case, the
        management client prompts the user for a password.
      
        It is possible using PASSWORD to set an empty
        password ('' or ""), but
        this is not recommended.
      
An encrypted backup can be decrypted using any of the following commands:
            ndbxfrm
            --decrypt-password=
            passwordinput_file
            output_file
          
            ndb_print_backup_file
            -P
            password
            file_name
          
NDB 8.0.24 and later supports the additional commands listed here:
See the descriptions of these programs for more information, such as additional options that may be required.
        The wait_option can be used to
        determine when control is returned to the management client
        after a START BACKUP command is issued, as
        shown in the following list:
      
            
            
            If NOWAIT is specified, the management
            client displays a prompt immediately, as seen here:
          
ndb_mgm> START BACKUP NOWAIT
ndb_mgm>
In this case, the management client can be used even while it prints progress information from the backup process.
            
            
            With WAIT STARTED the management client
            waits until the backup has started before returning control
            to the user, as shown here:
          
ndb_mgm> START BACKUP WAIT STARTED
Waiting for started, this may take several minutes
Node 2: Backup 3 started from node 1
ndb_mgm>
            
            
            WAIT COMPLETED causes the management
            client to wait until the backup process is complete before
            returning control to the user.
          
        WAIT COMPLETED is the default.
      
        
        
        
        
        A snapshot_option can be used to
        determine whether the backup matches the state of the cluster
        when START BACKUP was issued, or when it was
        completed. SNAPSHOTSTART causes the backup to
        match the state of the cluster when the backup began;
        SNAPSHOTEND causes the backup to reflect the
        state of the cluster when the backup was finished.
        SNAPSHOTEND is the default, and matches the
        behavior found in previous NDB Cluster releases.
      
          If you use the SNAPSHOTSTART option with
          START BACKUP, and the
          CompressedBackup
          parameter is enabled, only the data and control files are
          compressed—the log file is not compressed.
        
        If both a wait_option and a
        snapshot_option are used, they may be
        specified in either order. For example, all of the following
        commands are valid, assuming that there is no existing backup
        having 4 as its ID:
      
START BACKUP WAIT STARTED SNAPSHOTSTART START BACKUP SNAPSHOTSTART WAIT STARTED START BACKUP 4 WAIT COMPLETED SNAPSHOTSTART START BACKUP SNAPSHOTEND WAIT COMPLETED START BACKUP 4 NOWAIT SNAPSHOTSTART
The procedure for creating a backup consists of the following steps:
Start the management client (ndb_mgm), if it not running already.
            Execute the START BACKUP command.
            This produces several lines of output indicating the
            progress of the backup, as shown here:
          
ndb_mgm> START BACKUP
Waiting for completed, this may take several minutes
Node 2: Backup 1 started from node 1
Node 2: Backup 1 started from node 1 completed
 StartGCP: 177 StopGCP: 180
 #Records: 7362 #LogRecords: 0
 Data: 453648 bytes Log: 0 bytes
ndb_mgm>
When the backup has started the management client displays this message:
Backupbackup_idstarted from nodenode_id
            backup_id is the unique
            identifier for this particular backup. This identifier is
            saved in the cluster log, if it has not been configured
            otherwise. node_id is the
            identifier of the management server that is coordinating the
            backup with the data nodes. At this point in the backup
            process the cluster has received and processed the backup
            request. It does not mean that the backup has finished. An
            example of this statement is shown here:
          
Node 2: Backup 1 started from node 1
The management client indicates with a message like this one that the backup has started:
Backupbackup_idstarted from nodenode_idcompleted
            As is the case for the notification that the backup has
            started, backup_id is the unique
            identifier for this particular backup, and
            node_id is the node ID of the
            management server that is coordinating the backup with the
            data nodes. This output is accompanied by additional
            information including relevant global checkpoints, the
            number of records backed up, and the size of the data, as
            shown here:
          
Node 2: Backup 1 started from node 1 completed StartGCP: 177 StopGCP: 180 #Records: 7362 #LogRecords: 0 Data: 453648 bytes Log: 0 bytes
        It is also possible to perform a backup from the system shell by
        invoking ndb_mgm with the -e
        or --execute option, as shown in
        this example:
      
$> ndb_mgm -e "START BACKUP 6 WAIT COMPLETED SNAPSHOTSTART"
        When using START BACKUP in this way, you must
        specify the backup ID.
      
        Cluster backups are created by default in the
        BACKUP subdirectory of the
        DataDir on each data
        node. This can be overridden for one or more data nodes
        individually, or for all cluster data nodes in the
        config.ini file using the
        BackupDataDir
        configuration parameter. The backup files created for a backup
        with a given backup_id are stored in
        a subdirectory named
        BACKUP-
        in the backup directory.
      backup_id
Cancelling backups. To cancel or abort a backup that is already in progress, perform the following steps:
Start the management client.
Execute this command:
ndb_mgm> ABORT BACKUP backup_id
            The number backup_id is the
            identifier of the backup that was included in the response
            of the management client when the backup was started (in the
            message Backup ).
          backup_id
            started from node
            management_node_id
            The management client acknowledges the abort request with
            Abort of backup
            .
          backup_id ordered
At this point, the management client has not yet received a response from the cluster data nodes to this request, and the backup has not yet actually been aborted.
After the backup has been aborted, the management client reports this fact in a manner similar to what is shown here:
Node 1: Backup 3 started from 5 has been aborted. Error: 1321 - Backup aborted by user request: Permanent error: User defined error Node 3: Backup 3 started from 5 has been aborted. Error: 1323 - 1323: Permanent error: Internal error Node 2: Backup 3 started from 5 has been aborted. Error: 1323 - 1323: Permanent error: Internal error Node 4: Backup 3 started from 5 has been aborted. Error: 1323 - 1323: Permanent error: Internal error
            In this example, we have shown sample output for a cluster
            with 4 data nodes, where the sequence number of the backup
            to be aborted is 3, and the management
            node to which the cluster management client is connected has
            the node ID 5. The first node to complete
            its part in aborting the backup reports that the reason for
            the abort was due to a request by the user. (The remaining
            nodes report that the backup was aborted due to an
            unspecified internal error.)
          
              There is no guarantee that the cluster nodes respond to an
              ABORT BACKUP command in any particular
              order.
            
            The Backup  messages mean that the backup has been
            terminated and that all files relating to this backup have
            been removed from the cluster file system.
          backup_id
            started from node
            management_node_id has been
            aborted
It is also possible to abort a backup in progress from a system shell using this command:
$> ndb_mgm -e "ABORT BACKUP backup_id"
          If there is no backup having the ID
          backup_id running when an
          ABORT BACKUP is issued, the management
          client makes no response, nor is it indicated in the cluster
          log that an invalid abort command was sent.