How to Backup and restore Nextcloud on FreeNas

waylon2002my

Dabbler
Joined
Jun 9, 2020
Messages
12
Hi Guys,

I'm hosting the nextcloud server with my own Desktop PC on Freenas. Recently i plan to do migration from existing server to new server. Can i have any guideline how to backup the mysql database and restore to new server?

I've tried to search the guideline in google but unfortunately majority info that i found is for Ubuntu and Debian OS.

Hope i can get some idea from this Forum. Thanks!
 

Jailer

Not strong, but bad
Joined
Sep 12, 2014
Messages
4,975

waylon2002my

Dabbler
Joined
Jun 9, 2020
Messages
12

i had this error when i trying to delete the database

root@nextcloud:~ # mysql –h localhost -u dbadmin –(password) -e "DROP DATABASE nextcloud"

mysql Ver 14.14 Distrib 5.7.30, for FreeBSD11.3 (amd64) using EditLine wrapper

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.



Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.



Usage: mysql [OPTIONS] [database]

-?, --help Display this help and exit.

-I, --help Synonym for -?

--auto-rehash Enable automatic rehashing. One doesn't need to use

'rehash' to get table and field completion, but startup

and reconnecting may take a longer time. Disable with

--disable-auto-rehash.

(Defaults to on; use --skip-auto-rehash to disable.)

-A, --no-auto-rehash

No automatic rehashing. One has to use 'rehash' to get

table and field completion. This gives a quicker start of

mysql and disables rehashing on reconnect.

--auto-vertical-output

Automatically switch to vertical output mode if the

result is wider than the terminal width.

-B, --batch Don't use history file. Disable interactive behavior.

(Enables --silent.)

--bind-address=name IP address to bind to.

--binary-as-hex Print binary data as hex

--character-sets-dir=name

Directory for character set files.

--column-type-info Display column type information.

-c, --comments Preserve comments. Send comments to the server. The

default is --skip-comments (discard comments), enable

with --comments.

-C, --compress Use compression in server/client protocol.

-#, --debug[=#] This is a non-debug version. Catch this and exit.

--debug-check This is a non-debug version. Catch this and exit.

-T, --debug-info This is a non-debug version. Catch this and exit.

-D, --database=name Database to use.

--default-character-set=name

Set the default character set.

--delimiter=name Delimiter to be used.

--enable-cleartext-plugin

Enable/disable the clear text authentication plugin.

-e, --execute=name Execute command and quit. (Disables --force and history

file.)

-E, --vertical Print the output of a query (rows) vertically.

-f, --force Continue even if we get an SQL error.

--histignore=name A colon-separated list of patterns to keep statements

from getting logged into syslog and mysql history.

-G, --named-commands

Enable named commands. Named commands mean this program's

internal commands; see mysql> help . When enabled, the

named commands can be used from any line of the query,

otherwise only from the first line, before an enter.

Disable with --disable-named-commands. This option is

disabled by default.

-i, --ignore-spaces Ignore space after function names.

--init-command=name SQL Command to execute when connecting to MySQL server.

Will automatically be re-executed when reconnecting.

--local-infile Enable/disable LOAD DATA LOCAL INFILE.

-b, --no-beep Turn off beep on error.

-h, --host=name Connect to host.

-H, --html Produce HTML output.

-X, --xml Produce XML output.

--line-numbers Write line numbers for errors.

(Defaults to on; use --skip-line-numbers to disable.)

-L, --skip-line-numbers

Don't write line number for errors.

-n, --unbuffered Flush buffer after each query.

--column-names Write column names in results.

(Defaults to on; use --skip-column-names to disable.)

-N, --skip-column-names

Don't write column names in results.

--sigint-ignore Ignore SIGINT (CTRL-C).

-o, --one-database Ignore statements except those that occur while the

default database is the one named at the command line.

--pager[=name] Pager to use to display results. If you don't supply an

option, the default pager is taken from your ENV variable

PAGER. Valid pagers are less, more, cat [> filename],

etc. See interactive help (\h) also. This option does not

work in batch mode. Disable with --disable-pager. This

option is disabled by default.

-p, --password[=name]

Password to use when connecting to server. If password is

not given it's asked from the tty.

-P, --port=# Port number to use for connection or 0 for default to, in

order of preference, my.cnf, $MYSQL_TCP_PORT,

/etc/services, built-in default (3306).

--prompt=name Set the mysql prompt to this value.

--protocol=name The protocol to use for connection (tcp, socket, pipe,

memory).

-q, --quick Don't cache result, print it row by row. This may slow

down the server if the output is suspended. Doesn't use

history file.

-r, --raw Write fields without conversion. Used with --batch.

--reconnect Reconnect if the connection is lost. Disable with

--disable-reconnect. This option is enabled by default.

(Defaults to on; use --skip-reconnect to disable.)

-s, --silent Be more silent. Print results with a tab as separator,

each row on new line.

-S, --socket=name The socket file to use for connection.

--ssl-mode=name SSL connection mode.

--ssl Deprecated. Use --ssl-mode instead.

(Defaults to on; use --skip-ssl to disable.)

--ssl-verify-server-cert

Deprecated. Use --ssl-mode=VERIFY_IDENTITY instead.

--ssl-ca=name CA file in PEM format.

--ssl-capath=name CA directory.

--ssl-cert=name X509 cert in PEM format.

--ssl-cipher=name SSL cipher to use.

--ssl-key=name X509 key in PEM format.

--ssl-crl=name Certificate revocation list.

--ssl-crlpath=name Certificate revocation list path.

--tls-version=name TLS version to use, permitted values are: TLSv1, TLSv1.1,

TLSv1.2

--server-public-key-path=name

File path to the server public RSA key in PEM format.

--get-server-public-key

Get server public key

-t, --table Output in table format.

--tee=name Append everything into outfile. See interactive help (\h)

also. Does not work in batch mode. Disable with

--disable-tee. This option is disabled by default.

-u, --user=name User for login if not current user.

-U, --safe-updates Only allow UPDATE and DELETE that uses keys.

-U, --i-am-a-dummy Synonym for option --safe-updates, -U.

-v, --verbose Write more. (-v -v -v gives the table output format).

-V, --version Output version information and exit.

-w, --wait Wait and retry if connection is down.

--connect-timeout=# Number of seconds before connection timeout.

--max-allowed-packet=#

The maximum packet length to send to or receive from

server.

--net-buffer-length=#

The buffer size for TCP/IP and socket communication.

--select-limit=# Automatic limit for SELECT when using --safe-updates.

--max-join-size=# Automatic limit for rows in a join when using

--safe-updates.

--secure-auth Refuse client connecting to server if it uses old

(pre-4.1.1) protocol. Deprecated. Always TRUE

--server-arg=name Send embedded server this as a parameter.

--show-warnings Show warnings after every statement.

-j, --syslog Log filtered interactive commands to syslog. Filtering of

commands depends on the patterns supplied via histignore

option besides the default patterns.

--plugin-dir=name Directory for client-side plugins.

--default-auth=name Default authentication client-side plugin to use.

--binary-mode By default, ASCII '\0' is disallowed and '\r\n' is

translated to '\n'. This switch turns off both features,

and also turns off parsing of all clientcommands except

\C and DELIMITER, in non-interactive mode (for input

piped to mysql or loaded using the 'source' command).

This is necessary when processing output from mysqlbinlog

that may contain blobs.

--connect-expired-password

Notify the server that this client is prepared to handle

expired password sandbox mode.



Default options are read from the following files in the given order:

/usr/local/etc/my.cnf /usr/local/etc/mysql/my.cnf ~/.my.cnf

The following groups are read: mysql client

The following options may be given as the first argument:

--print-defaults Print the program argument list and exit.

--no-defaults Don't read default options from any option file,

except for login file.

--defaults-file=# Only read default options from the given file #.

--defaults-extra-file=# Read this file after the global files are read.

--defaults-group-suffix=#

Also read groups with concat(group, suffix)

--login-path=# Read this path from the login file.



Variables (--variable-name=value)

and boolean options {FALSE|TRUE} Value (after reading options)

--------------------------------- ----------------------------------------

auto-rehash FALSE

auto-vertical-output FALSE

bind-address (No default value)

binary-as-hex FALSE

character-sets-dir (No default value)

column-type-info FALSE

comments FALSE

compress FALSE

database (No default value)

default-character-set auto

delimiter ;

enable-cleartext-plugin FALSE

vertical FALSE

force FALSE

histignore (No default value)

named-commands FALSE

ignore-spaces FALSE

init-command (No default value)

local-infile FALSE

no-beep FALSE

host (No default value)

html FALSE

xml FALSE

line-numbers TRUE

unbuffered FALSE

column-names TRUE

sigint-ignore FALSE

port 3306

prompt \u@\h [\d]>\_

quick FALSE

raw FALSE

reconnect FALSE

socket /tmp/mysql.sock

ssl TRUE

ssl-verify-server-cert FALSE

ssl-ca (No default value)

ssl-capath (No default value)

ssl-cert (No default value)

ssl-cipher (No default value)

ssl-key (No default value)

ssl-crl (No default value)

ssl-crlpath (No default value)

tls-version (No default value)

server-public-key-path (No default value)

get-server-public-key FALSE

table FALSE

user dbadmin

safe-updates FALSE

i-am-a-dummy FALSE

connect-timeout 0

max-allowed-packet 16777216

net-buffer-length 16384

select-limit 1000

max-join-size 1000000

secure-auth TRUE

show-warnings FALSE

plugin-dir (No default value)

default-auth (No default value)

binary-mode FALSE

connect-expired-password FALSE

root@nextcloud:~ #
 

waylon2002my

Dabbler
Joined
Jun 9, 2020
Messages
12
the new server after install the nextcloud Jail it has database called nextcloud. Beside that, current i'm using test server for the mock run if everything alright I only execute it on actual server.
 

garm

Wizard
Joined
Aug 19, 2017
Messages
1,555
It’s better you rebuild the original instance in a new jail, read the whole chapter
 

garm

Wizard
Joined
Aug 19, 2017
Messages
1,555
Using the Nextcloud plugin you have very little control yourself.. yes, system administration is careful work and you need to know what you are doing. Read
 

garm

Wizard
Joined
Aug 19, 2017
Messages
1,555
You know, one day someone will search a error message or other keyword in regard to this topic and find your thread. When you ask for free advice online, it’s only polite to share the solution and mark the thread solved.
 

ddaenen1

Patron
Joined
Nov 25, 2019
Messages
318
Hi Guys,

I'm hosting the nextcloud server with my own Desktop PC on Freenas. Recently i plan to do migration from existing server to new server. Can i have any guideline how to backup the mysql database and restore to new server?

I've tried to search the guideline in google but unfortunately majority info that i found is for Ubuntu and Debian OS.

Hope i can get some idea from this Forum. Thanks!

So, what you want to backup the entire database or the content? When i recently changed my NC hardware setup i just created an SMB share pointing to the NC data user directories and backed up the entire content by a simple copy/paste exercise via windows.
 

waylon2002my

Dabbler
Joined
Jun 9, 2020
Messages
12
So, what you want to backup the entire database or the content? When i recently changed my NC hardware setup i just created an SMB share pointing to the NC data user directories and backed up the entire content by a simple copy/paste exercise via windows.

Ddaenen1, actually i want to backup the entire nextcloud setting and the file too. As you mentioned above, you only backup for entire data file right?
 
Last edited:

ddaenen1

Patron
Joined
Nov 25, 2019
Messages
318
Ddaenen1, actually i want to backup the entire nextcloud setting and the file too. As you mentioned above, you only backup for entire data file right?

correct. Only the data as i wanted a clean plugin install as i had fiddled around a lot with the initial install.
 
Top