Backup databases

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Fullstack developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

Bekijk vacature »

Low-code developer

Functie omschrijving Heb jij altijd al een training willen volgen in het buitenland? Voor een leuke opdrachtgever in omgeving Alphen ad Rijn zijn wij op zoek naar kandidaten die aan de slag willen als Low Code Developer! Beschik jij over HBO/WO nivo, bij voorkeur Informatica, maar een ander technische opleiding zoals bijv. wiskunde, natuurkunde is ook goed. Heb jij aantoonbare affiniteit met IT en ben jij gedreven, enthousiast, communicatief vaardig en klantgericht? Lees dan snel verder! Je wordt getraind tot een volwaardig Low Code Developer, het traject ziet er als volgt uit: Start 1e week januari, opleiding van 3 weken

Bekijk vacature »

.NET developer WO niveau voor predictive software

Bedrijfsomschrijving Dit bedrijf uit Den Bosch is om precies te zijn 15 medewerkers groot en ze ontwikkelen (predicitve) planning software. Dit doen zij voor allerlei mooie en bekende organisaties (bierbrouwerijen, gemeentes, oliemaatschappijen en diverse multinationals). Wegens meer en grotere vraag vanuit de klanten komen er nu posities vrij voor onder andere een .NET developer. Het bedrijf is goed met openbaar vervoer te bereiken. Functieomschrijving Je komt hier te werken in een team van 3 .NET developers en bent betrokken bij het gehele ontwikkelproces. Dus van idee naar ontwerp en van ontwikkeling tot testen en implementatie. Bij voorkeur ben je niet

Bekijk vacature »

Mendix Developer

Functie Wat ga je doen als Mendix Developer? We leven in een wereld die snel ontwikkelt en veranderd, ook nemen bedrijfsbelangen toe en blijken risico’s moeilijker in te schatten, daarom wij op zoek naar Junior, Medior en Senior Developers die bedrijven kunnen helpen met hun screeningproces en zorgen dat deze efficiënt en 100 procent AVG compliant is. Het concept achter Mendix is duidelijk. De klant heeft een vraag/probleem. Dit kunnen we door middel van slimme software oplossen. In plaats van te werken met de nieuwste technieken en tools, wordt er gekozen voor het implementeren en maken van software dat op

Bekijk vacature »

Full stack developer Node.js

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

Low Code Ontwikkelaar

In het kort Als Low Code Developer werk je aan projecten bij en voor onze klanten, waarbij je voor het ontwikkelen van de oplossingen een technisch low-code platform gebruikt. Samen met het team streef je naar de beste oplossing en bepalen jullie de juiste aanpak. Je rol is divers en je bent van begin tot eind betrokken bij de ontwikkeling zowel de back-end en de front-end van de applicatie. Naast de ontwikkeling en oplevering, breng je ook advies uit aan de klant waarom bepaalde keuzes worden gemaakt. Je bent dan ook communicatief sterk en kunt je keuzes goed (inhoudelijk) onderbouwen.

Bekijk vacature »

Medior/Senior Software Developers gezocht in de Ra

Functie Op dit moment staan er posities open voor de volgende functies: Front-end, Back-End & Fullstack software developer. Als Front-End software developer werk je met JavaScript en de bijbehorende technologieën zoals TypeScript, Angular, React, Vue en Svelte. Als Back-End software developer ben je bezig in NodeJS en doe je dit met behulp van AWS, NoSQL, REST en GraphQL. Je krijgt leuke en uitdagende opdrachten met een gemiddelde duur van anderhalf jaar. Hier werk je in een team met andere IT’ers aan het ontwikkelen en verbeteren van software. Je wordt begeleid door een accountmanager die fungeert als jouw aanspreekpunt. Het team

Bekijk vacature »

PHP Developer

As a PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible. How do I become a PHP Developer at Coolblue? As a PHP Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little TypeScript or other technologies that might be used. Would you also like to become a PHP Developer at Coolblue? Read below if the job suits you. You enjoy doing this Writing vanilla PHP code. Working with

Bekijk vacature »

Senior developer (PHP en VB.NET)

Functie De development afdeling bestaat uit 2 teams. Het productteam (10 developers) is verantwoordelijk voor verschillende applicaties met als doel om zoveel mogelijk te automatiseren en uit te werken tot standaard software. Met diverse Solutions Architecten en ervaren developers denken ze voortdurend mee met hun klanten en bouwen ze de basis van het uiteindelijke maatwerk dat wordt geleverd. Hiernaast hebben ze een maatwerk/projectteam. Dit team bestaat momenteel uit 8 developers (junior tot senior) en is verantwoordelijk voor het maatwerk in hun klantprojecten. Momenteel zijn ze op zoek naar een senior developer die aan de slag gaat in het productteam. Hierin

Bekijk vacature »

Java Developer

Functieomschrijving Are you an experienced Java Developer who wants to be challenged? Then this is your job! As a Java Developer, you are co-responsible for building custom applications within our extensive IT landscape. Development takes place on both the back-end side (Spring/JEE). Together with the IT department, you are responsible for the daily adjustments and expansions of our IT systems. In addition, you will work in small scrum teams using the Agile methodologies. Besides the realization of our in-house systems, you are responsible for the roll-out of the application (version) as well as the operational support after going live. Team

Bekijk vacature »

PHP Developer - medior functie

Functieomschrijving Ben jij innovatief en wil jij je kennis graag delen met jouw nieuwe collega's? Lees dan snel verder! Voor een leuke opdrachtgever in de omgeving van Roosendaal zoeken wij een Symfony developer. Of je nou junior, medior of senior bent, je krijgt hier alle vrijheid en verantwoordelijkheid om jouw eigen loopbaan te ontwikkelen. Je gaat je hier bezig houden met en inspelen op de actualiteiten van jouw vakgebied. Techstack: Symfony, PHP, mySQL. Kennis van Svelte is helemaal mooi meegenomen. Bedrijfsprofiel Al sinds '99 is dit webbureau actief. De kernwaarden binnen het bedrijf zijn integer, dienstbaar en deskundig. Je komt

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Junior Front-End Developer

Je maakt een vliegende start van je carrière, door meteen mee te bouwen aan de digitale oplossingen van Coolblue. Wat doe je als Junior Front-End Developer bij Coolblue? Als Junior Front-End Developer ben je meteen vanaf de start onderdeel van een development team. Je kijkt veel mee met collega’s en volgt trainingen. Op dat moment komt je wil om te blijven leren naar boven. Daarnaast pak je in de sprints ook je eigen stories op om Coolblue iedere dag een beetje beter te maken. Je sterk analytisch vermogen komt dan goed van pas! Ook Junior Front-End Developer worden bij Coolblue?

Bekijk vacature »

Full Stack Developer

Ben jij een kei van een full-stack developer? Heb je ambitie om te groeien en jezelf te ontwikkelen binnen een ambitieus bedrijf? Gaat jouw hart sneller kloppen van transpilers of frameworks zoals Angular, Vue of React? Dan ben jij de persoon die wij zoeken! Voor onze opdrachtgever zijn wij op zoek naar een full-stack developer om onderdeel te zijn van een team dat bestaat uit gedreven developers. Ieders met hun eigen specialiteiten en kennis van de projecten en behoeften vanuit de product owners. We zoeken iemand die met zijn/haar huidige competenties en domeinen dit team wil begeleiden, stimuleren en tevens

Bekijk vacature »

Database Developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als Database Developer met MS SQL of een vergelijkbare database? Wil jij werken voor een ambitieuze werkgever in regio Tilburg waar jij volledig de mogelijkheid krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je gaat projecten gedurende het hele proces begeleiden. Je sluit aan bij afspraken met klanten om hun processen helder te krijgen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt aan nieuwe softwareoplossingen die de logistieke processen verbeteren of vernieuwen; Je houdt je bezig met het ontwikkelen van

Bekijk vacature »
Peter Kuipers

Peter Kuipers

23/11/2023 20:24:28
Quote Anchor link
Hallo, ik heb een werkende script voor het maken van een back-up bij de host. Maar ik zou graag willen dat de back-up in een andere directory wordt gezet. Kan iemand mij vertellen wat ik in de script moet toevoegen en waar?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<?php

// Database configuration
$host = "localhost";
$username = "..............";
$password = "............";
$database_name = "..............";

// Get connection object and set the charset
$conn = mysqli_connect($host, $username, $password, $database_name);
$conn->set_charset("utf8mb4");

// Get All Table Names From the Database
$tables = array();
$sql = "SHOW TABLES";
$result = mysqli_query($conn, $sql);

while ($row = mysqli_fetch_row($result)) {
$tables[] = $row[0];
}


$sqlScript = "";
foreach ($tables as $table) {
// Prepare SQLscript for creating table structure
$query = "SHOW CREATE TABLE $table";
$result = mysqli_query($conn, $query);
$row = mysqli_fetch_row($result);

$sqlScript .= "\n\n" . $row[1] . ";\n\n";

$query = "SELECT * FROM $table";
$result = mysqli_query($conn, $query);

$columnCount = mysqli_num_fields($result);
// Prepare SQLscript for dumping data for each table
for ($i = 0; $i < $columnCount; $i ++) {
while ($row = mysqli_fetch_row($result)) {
$sqlScript .= "INSERT INTO $table VALUES(";
for ($j = 0; $j < $columnCount; $j ++) {
$row[$j] = $row[$j];

if (isset($row[$j])) {
$sqlScript .= '"' . $row[$j] . '"';
}
else {
$sqlScript .= '""';
}

if ($j < ($columnCount - 1)) {
$sqlScript .= ',';
}
}

$sqlScript .= ");\n";
}
}

$sqlScript .= "\n";
}


if(!empty($sqlScript))
{

// Save the SQL script to a backup file
$backup_file_name = $database_name . '_backup_' . date("GisdnY") . '.sql';
$fileHandler = fopen($backup_file_name, 'w+');
$number_of_lines = fwrite($fileHandler, $sqlScript);

// Download the SQL backup file to the browser
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($backup_file_name));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($backup_file_name));
ob_clean();
flush();
readfile($backup_file_name);
exec(' rm ' . $backup_file_name);

}


?>
 
PHP hulp

PHP hulp

05/11/2024 22:06:06
 
Jan R

Jan R

23/11/2023 21:14:44
Quote Anchor link
op lijn 61 het pad toevoegen
 
- Ariën  -
Beheerder

- Ariën -

23/11/2023 21:16:58
Quote Anchor link
Als je toegang tot de shell/command line hebt is mysqldump nog makkelijker.
 
Peter Kuipers

Peter Kuipers

24/11/2023 11:36:57
Quote Anchor link
Jan R op 23/11/2023 21:14:44:
op lijn 61 het pad toevoegen

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$fileHandler = fopen( '/backup/' $backup_file_name, 'w+');


Bedoelt u zo? Ik ben nog een beginner, dus het is voor mij vaak lezen, kopieeren en plakken.
 
Ivo P

Ivo P

24/11/2023 12:12:18
Quote Anchor link
Dit maakt geen backup van de database.

Dit maakt een dump van de tabellen in de database.
Al je views, triggers, procedures, events worden niet meegenomen.

Daarnaast: als je je database fatsoenlijk opzet, heb je ook foreign keys gedefineerd:
- Een order bevat een klant_id en een product_id.

Daarmee kun je dus niet de order aanmaken voordat je de klanten en de producten hebt aangemaakt.
Daar is wel een truukje voor met SET FOREIGN_KEY_CHECKS = 0 / 1;

maar wat ik probeer te zeggen: het is meer dan je in eerste instantie zou zeggen.
En daar is door de makers van mysqldump al veel langer over na gedacht.
Probeer dit dus niet zelf, maar gebruik de tools die er voor bedoeld zijn.


--
je houdt trouwens ook geen rekening met tabelnamen die "illegale" tekens bevatten. Bijvoorbeeld "gebruikers tabel" is door de spatie niet toegestaan. Maar wel als je er `` omheen zet.

Voor de kolomnamen omzeil je dat door de korte versie van een insert-query te gebruiken. Er vanuitgaande dat de kolomvolgorde inderdaad gelijk is aan de volgorde die zojuist met CREATE is gemaakt.

Maar nergens DROP je de tabel, dus als die al bestaat, maar verschilt qua opbouw, heb je en probleem bij de insert query.


Toevoeging op 24/11/2023 12:16:21:

Waarom trouwens de moeite om rond regel 60 dit als file weg te schrijven?

Nadat je op regel 75 de inhoud daarvan hebt uitgespuugd, verwijder je de file weer...

(wat trouwens ook met de php-functie unlink() kan.)

Je had op regel 75 ook
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $sqlScript; ?>
kunnen doen.

De filename in de headers kun je laten staan.
Maar dit is geen binary, maar een text / ascii file.

Toevoeging op 24/11/2023 12:17:14:

oh en ook nog bij het opbouwen van je insert-query: vergeet niet je values te escapen, anders gaat je query fout als er een ' in de tekst staat ergens.
 
Peter Kuipers

Peter Kuipers

24/11/2023 12:39:01
Quote Anchor link
Hallo,

allemaal bedankt voor de reacties. Ik ga mij toch maar eens inlezen hoe ik mysqldump moet gebruiken. Uit jullie reacties te lezen gaat dit het makkelijkst.
 
- Ariën  -
Beheerder

- Ariën -

24/11/2023 12:47:21
Quote Anchor link
Dan moet je wel SSH-toegang hebben, via bijvoorbeeld PuTTY. Je hebt dan in ieder geval geen time-outs vanuit de webserver.
 
Ivo P

Ivo P

24/11/2023 22:33:53
Quote Anchor link
- Ariën - op 24/11/2023 12:47:21:
Dan moet je wel SSH-toegang hebben, via bijvoorbeeld PuTTY. Je hebt dan in ieder geval geen time-outs vanuit de webserver.


TS lijkt in elk geval exec( ) te kunnen uitvoeren, dus dat zou al een route kunnen zijn.
Maar mysqldump uitvoeren via ssh of een cronjob als dat kan, is een betere oplossing.

Als die echt je backup wordt, dan doe je dit alleen maar 100% goed.
Een halve backup heb je niets aan.

(en test het ook af en toe. Ik herinner me nog een hosting partij die ooit de backups terug moest zetten omdat alles op de server weg was. Alleen was de laatste bruikbare backup een half jaar oud en na een kleine aanpassing had niemand opgelet of de backups ook werkelijk nog steeds gemaakt werden)
 
Peter Kuipers

Peter Kuipers

25/11/2023 12:10:41
Quote Anchor link
Heren,

ik heb net de geproduceerde backupfile .sql uit geprobeerd in phpmyadmin op mijn computer en het is de complete database. Het enige wat ik als foutmelding krijg is:INSERT INTO pma__designer_settings VALUES("dbu5387138","{"relation_lines":"true","snap_to_grid":"off","angular_direct":"direct"}");
"MySQL meldt: #1064 - Er is iets fout in de gebruikte syntax bij 'relation_lines":"true","snap_to_grid":"off","angular_direct":"direct"}")' in regel 1

Als ik de backup maakt via de webpage dan komt er een backupfile in de directory Downloads op mijn computer te staan en eentje op de server in de directory waar het programma in draait, en die wil ik in de directory /backup/ op de server plaatsen.
Gewijzigd op 25/11/2023 12:11:49 door Peter Kuipers
 
- Ariën  -
Beheerder

- Ariën -

25/11/2023 12:39:35
Quote Anchor link
Ik vrees voor waar Ivo gisteren waarschuwde. Gebruik liever phpMyAdmin of de mysqldump binairy.

Of misschien is er wel een goed onderhouden class. Kijk eens op Packagist.
Gewijzigd op 25/11/2023 12:59:47 door - Ariën -
 
Ivo P

Ivo P

25/11/2023 13:05:54
Quote Anchor link
precies.

jouw json bevat een hele hoop "

maar jij zet jouw values tussen diezelfde "

dus hoe moet mysql nu weten welke " in jouw value hoort en wat een einde-string is?

oplossing: gebruik ' ( single quote) en pas even goed nog mysqli escape strng toe

Toevoeging op 25/11/2023 13:07:12:

maar dat lost 1 probleem op en tackelt direct een ' in de tekst. maar mysqldump is beter
 
Peter Kuipers

Peter Kuipers

25/11/2023 14:49:40
Quote Anchor link
Oke, ik ga dan toch voor mysqldump.

Iedereen bedankt voor jullie reacties.

Nu heb ik nog een vraag: hoe sluit ik deze topic?
 
Ivo P

Ivo P

25/11/2023 15:07:14
Quote Anchor link
je hoeft een topic niet te sluiten. Dat gebeurt alleen bij misbruik, geruzie en dergelijke.

misschien heeft iemand morgen nog een briljante toevoeging
 
Adoptive Solution

Adoptive Solution

25/11/2023 15:33:32
Quote Anchor link
Morgen? Vandaag al.

Komt tie.

https://www.adminer.org/

1 bestand dat je overal kan neerplempen.
Gewijzigd op 25/11/2023 15:34:04 door Adoptive Solution
 
- Ariën  -
Beheerder

- Ariën -

25/11/2023 15:53:00
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.