Hoe u uw bestaande Redmine-gegevens kunt back-uppen of herstellen.

8/31/2020
10 minutes
Lukáš Beňa.

De succesvolle uitvoering van elke projectmanagementoplossing is gebaseerd op één eenvoudig ding - de gegevens. Weet u al hoe u uw bestaande gegevens van Redmine kunt back-uppen of herstellen? Zo niet, hier is hoe u het kunt doen voor elke database.

Redmine backups must include:

  • Database
  • Attachments (deposited in the files directory below the installation directory via default)


Backing up database


MySQL

MySQL, the foremost popular Open Source SQL database system, is unique, distributed, and supported by Oracle Corporation. The MySQL website offers the newest facts about MySQL software. MySQL may be a management device.

A database may be a structured series of statistics. it's going to be something from a simple shopping listing to a picture gallery or the considerable quantities of facts during a company network. To add, get entry to, and process facts stored during a pc database, you would like a database control device alongside MySQL Server. Since computers are superb at handling large quantities of statistics, management systems play a central function in computing, as standalone utilities, or as components of other applications. MySQL databases are relational.

An electronic database stores statistics in separate tables rather than putting all the statistics in one large storeroom. The database structures are prepared into physical documents optimized for speed. The logical model, with gadgets including databases, tables, views, rows, and columns, gives a bendy programming environment. You found out rules governing the relationships between one among a sort of information fields, inclusive of one-to-one, one-to-many, unique, required or optional, and “pointers” between extraordinary tables.

The database supports these regulations, and with a very well-designed database, your utility by no means equals inconsistent, duplicate, orphan, out-of-date, or missing statistics. The SQL component of “MySQL” stands for “Structured Query Language”. SQL is the commonest standardized language that wants to get the right of entry to databases. counting on your programming environment, you'll enter SQL directly (for example, to get reports), embed SQL statements into code written in the other language, or use a language-specific API that hides the SQL syntax. SQL is described by using the ANSI/ISO SQL Standard.

MySQL software program is open source. Open Source means it is viable for everyone to use and alter the software program. Anybody can download the MySQL software from the web and use it without paying anything. If you would like, you'll have a glance at the availability code and alternate it to fit your needs.

The MySQL software program makes use of the GPL (GNU General Public License), to define what you'll and won't do with the software in specific situations. If you experience discomfort with the GPL or want to embed MySQL code into a business application, you'll buy a commercially licensed model from us.

See the MySQL Licensing Overview for more statistics. The MySQL Database Server could also be in no time, reliable, scalable, and smooth to use. If that is what you are looking for, you would like to offer it a try. MySQL Server can run easily on a laptop, alongside your different applications, net servers, and so on, requiring little or no attention.

If you commit a whole system to MySQL, you'll alter the settings to require an advantage of all of the memory, CPU power, and I/O potential available. MySQL also can scale the maximum amount as clusters of machines, networked together. MySQL Server was at the start evolved to handle big databases much faster than existing solutions and has been efficaciously utilized in tremendously worrying production environments for several years. Although under continuous development, MySQL Server now offers an upscale and valuable collection of functions.

Its connectivity, speed, and security make MySQL Server exceptionally perfect for gaining access to databases on the web. MySQL Server runs in client/server or embedded operations. The MySQL Database Software may be a patron/server machine that has a multi-threaded SQL server that helps exceptional back ends, numerous exceptional consumer applications and libraries, administrative tools, and a good sort of utility programming interfaces (APIs).

It might be very likely that your favorite software or language helps the MySQL Database Server. The pronunciation of “MySQL” is “My Ess Que Ell” (not “my sequel”), but it’s okay in case you pronounce it as “my sequel” or in some different localized way.

Here’s how you can backup data for My SQL:

The mysqldump command can be used to back up the contents of your MySQL database to a text file. For example:

mysqldump -u <username> -p <password> <database_name> > /path/to/backup/db/redmine.sql

Find these <username>, <password>, <hostname>, and <redmine_database> in the file config/database.yml. <host_name> might not be needed depending on your installation of the database.


PostgreSQL

PostgreSQL is een open-source managementsysteem van enterprise-klasse. Het ondersteunt zowel SQL voor relationele als JSON voor niet-relationele queries. Het wordt ondersteund door een ervaren gemeenschap van ontwikkelaars die buitengewone bijdragen hebben geleverd om het tot een uiterst betrouwbaar DBMS-systeem te maken. PostgreSQL ondersteunt geavanceerde gegevenstypen en geavanceerde prestatie-optimalisatie, functies die het beste beschikbaar zijn in dure commerciële databases, zoals Oracle en SQL Server.

MySQL of PostgreSQL?

Het MySQL-project heeft zijn broncode beschikbaar gesteld onder de voorwaarden van de GNU-licentie en andere eigen overeenkomsten. PostgreSQL wordt uitgebracht onder de PostgreSQL-licentie. Het is nu eigendom van Oracle Corporation en biedt verschillende betaalde edities aan. Het is gratis en open-source software. Dat betekent dat je nooit iets hoeft te betalen voor deze service.

MySQL is alleen ACID-compliant bij gebruik van NDB en InnoDB Cluster Storage-engines. PostgreSQL is volledig ACID-compliant. MySQL presteert goed in OLAP- en OLTP-structuren waar alleen de leessnelheid belangrijk is. De prestaties van PostgreSQL werken het beste in systemen die kiezen voor de uitvoering van complexe queries.

MySQL is betrouwbaar en werkt goed met BI (Business Intelligence)-toepassingen, die moeilijk te lezen zijn. PostgreSQL werkt goed met BI-toepassingen. Het is echter meer geschikt voor datawarehousing en gegevensanalysetoepassingen die snelle lees-schrijfsnelheden nodig hebben.

Zo maak je een back-up van gegevens voor PostgreSQL:

  1. Log in als de postgres-gebruiker:

    su - postgres

  2. Gebruik het pg_dump-commando om alle inhoud van een PostgreSQL-database naar een tekstbestand te back-uppen:

    pg_dump -U <gebruikersnaam> -Fc <database_naam> > /pad/naar/back-up/db/redmine.sql

Vind deze <gebruikersnaam> en <redmine_database> in het bestand config/database.yml. Het pg_dump-commando zal u helpen om het wachtwoord te verkrijgen wanneer dat nodig is.


SQLite

SQLite is een softwarebibliotheek die een elektronisch databasesysteem biedt. Het "lite" in SQLite betekent dat het lichtgewicht is qua installatie, databasebeheer en vereiste middelen. SQLite heeft de volgende opvallende kenmerken: zelfstandig, serverloos, zero-configuratie, transactioneel. Serverloos Normaal gesproken vereist een RDBMS zoals MySQL, PostgreSQL, enz. een apart serverproces om te werken.

De toepassingen die toegang moeten krijgen tot de databaseserver gebruiken het TCP/IP-protocol om verzoeken te verzenden en te ontvangen. Dit wordt client/server-architectuur genoemd. RDBMS-client-serverarchitectuur werkt SQLite niet op deze manier. SQLite heeft geen server nodig om te draaien. De SQLite-database is geïntegreerd met de toepassing die toegang heeft tot de database.

De programma's communiceren met de SQLite-database om direct vanuit de opgeslagen databasebestanden op schijf te lezen en te schrijven. Wat is SQLite Self-Contained SQLite is een self-contained manier die minimale hulp van het besturingssysteem of de externe bibliotheek vereist. Dat maakt SQLite nuttig in elke situatie, vooral in embedded apparaten zoals iPhones, Android-telefoons, gameconsoles, handheld mediaspelers, enz. SQLite is ontwikkeld met behulp van ANSI-C.

De broncode is beschikbaar als een groot sqlite3.C-bestand en het headerbestand sqlite3.H. Als u een applicatie wilt ontwikkelen die SQLite gebruikt, hoeft u alleen deze bestanden in uw project te plaatsen en deze samen met uw code te compileren. Zero-configuratie vanwege de serverloze architectuur, hoeft u SQLite niet te "installeren" voordat u het gebruikt. Er is geen serverproces dat geconfigureerd, gestart en gestopt moet worden. SQLite maakt geen gebruik van configuratiebestanden. Alle transacties binnen SQLite zijn volledig ACID-compliant.

Zijn werkwijzen en wijzigingen zijn Atomic, Consistent, Isolated en Durable. Met andere woorden, alle wijzigingen binnen een transactie vinden volledig plaats of helemaal niet, zelfs als zich een onverwachte situatie voordoet, zoals een applicatiecrash, stroomstoring of besturingssysteemcrash. SQLite gebruikt dynamische typen voor tabellen. Dit betekent dat u elke waarde in elke kolom kunt opslaan, ongeacht het gegevenstype. SQLite staat één databaseverbinding toe om tegelijkertijd toegang te krijgen tot één databasebestand.

Dit brengt veel mooie functies met zich mee, zoals het samenvoegen van tabellen in verschillende databases of het kopiëren van gegevens tussen databases in één opdracht. SQLite kan in-memory databases maken die zeer snel werken. SQLite-databases zijn allemaal opgeslagen in één bestand, dus u kunt ze back-uppen door het bestand naar een andere locatie te kopiëren. U kunt de bestandsnaam van de SQLite-database vinden door naar config/database.yml te kijken.


Back-up van bijlagen

Elke bestand upload wordt opgeslagen in attachments_storage_path (standaard in de directory files/). U kunt de inhoud binnen deze directory kopiëren naar een andere locatie om het snel te back-uppen.

WAARSCHUWING: attachments_storage_path kan verwijzen naar een andere directory dan files/. Zorg ervoor dat u de instelling in config/configuration.yml controleert om een nutteloze back-up te voorkomen.

Voorbeeld back-upscript

Hier is een eenvoudig shell-script dat kan worden gebruikt voor dagelijkse back-ups (onder de veronderstelling dat u een MySQL-database gebruikt):

# Database

/usr/bin/mysqldump -u <gebruikersnaam> -p<wachtwoord> <redmine_database> | gzip > /pad/naar/back-up/db/redmine_`date +%Y-%m-%d`.gz

# Bijlagen

rsync -a /pad/naar/redmine/bestanden /pad/naar/back-up/bestanden


Een database herstellen


MySQL

Bijvoorbeeld, als u een gziped dumpbestand met de naam 2018-07-30.gz heeft, dan kan de database worden hersteld met de volgende opdracht:

gunzip < 2018-07-30.gz | mysql -u <gebruikersnaam> -p <redmine_database>

Voer wachtwoord in.


PostgreSQL

Wanneer de optie -Fc van het commando pg_dump wordt gebruikt zoals in het bovenstaande voorbeeld, dan moet u het commando pg_restore gebruiken:

pg_restore -U <gebruikersnaam> -d <redmine_database> redmine.sql

Een tekstbestand kan ook worden hersteld met psql:

psql <redmine_database> < <infile>


SQLite

Kopieer het databasebestand vanaf de locatie van de back-up.

De ultieme Redmine-upgrade? Makkelijk.

Krijg alle krachtige tools voor perfect projectplanning, -beheer en -controle in één software.

Probeer Easy Redmine 30 dagen gratis uit

Volledige functies, SSL-beveiligd, dagelijkse back-ups, in uw geografische locatie