Re: MariaDB migreren van Debian 9 naar 11

2022-05-05 Berichten over hetzelfde onderwerp Paul van der Vlis

Op 04-05-2022 om 13:04 schreef Geert Stappers:


Zou begonnen zijn met
   root@oude-machine:~# mysqldump --all-databases | ssh dbusr@nieuwe-machine 
mysql


Dit principe blijkt inderdaad te werken.

Ik deed zoiets als root vanaf de oude machine:
mysqldump --databases data1 | ssh nieuwe-machine mysql

Heerlijk simpel. Ik kan het nu dus op beide manieren, bedankt Geert.

Een extra user toevoegen aan MariaDB die alles mag lijkt overigens ook 
erg simpel. Wellicht de volgende stap...


Zoiets volgens een website, maar nog niet getest:
CREATE USER 'dbusr'@'localhost' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'dbusr'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Groet,
Paul


--
Paul van der Vlis Linux systeembeheer Groningen
https://vandervlis.nl/



Re: MariaDB migreren van Debian 9 naar 11

2022-05-04 Berichten over hetzelfde onderwerp Paul van der Vlis

Op 04-05-2022 om 16:28 schreef Geert Stappers:

On Wed, May 04, 2022 at 01:39:08PM +0200, Paul van der Vlis wrote:

Op 04-05-2022 om 13:04 schreef Geert Stappers:

On Wed, May 04, 2022 at 12:40:48PM +0200, Paul van der Vlis wrote:

Op 04-05-2022 om 11:46 schreef Geert Stappers:

On Wed, May 04, 2022 at 11:15:39AM +0200, Paul van der Vlis wrote:


root@niewe-machine:~# ssh root@oude-machine mysqldump --all-databases | mysql

Nu moet het bij mij net andersom, dus vanaf de oude machine.


Waarom?


De oude machine is nogal goed beveiligt, ik kan niet inloggen via SSH van de
nieuwe machine op de oude. Wel andersom.

Oh, vandaar ...


Wellicht is dat wel te realiseren, maar andersom is dus handiger.
Tenminste als het kan.


  

Misschien tijd om te vertellen wat de eerdere pogingen waren?


Ik heb vooral testjes gedaan om de output van een commando via ssh over te
sturen naar een commando aan de andere kant. Bijvoorbeeld:
cat /etc/hosts | ssh 1.2.3.4 /usr/bin/less

Maar dan krijg ik geen reactie.

Verder heb ik geprobeerd om mysql client te start op de andere machine:
ssh 1.2.3.4 /usr/bin/mysql

Maar ook daar geen reactie.

Hmm, ik merk dat ik wel een reactie krijg op dat laatste commando als ik
"-p" meegeef. Alleen heeft de mysql user root daar geen paswoord en dat vind
ik wel praktisch voor backups etc.


Pardon?  (maar beschouw dat als een retorische vraag)


Tegenwoordig wordt in Debian de mariadb root-user gekoppeld aan de unix 
socket. Daarom mag de systeem-user root inloggen zonder paswoord en is 
dat toch relatief veilig. Zeg het graag als ik me vergis.


Voordeel lijkt mij dat je geen database paswoorden hoeft te hebben 
rondslingeren voor bijvoorbeeld backups of scripts die je als root 
draait. Een database beschermen tegen root lijkt me ook wat zinloos.



Eerder vandaag, may the fourth, schreef ik dat met
   root@oude-machine:~# mysqldump --all-databases | ssh dbusr@nieuwe-machine 
mysql
zou beginnen.  Dat was echter iets te kort door de bocht.

Vooraf aan dat migratie commando heb ik
* een operating system user met naam 'dbusr' of iets dergelijks
* gezien dat `dbusr` een MySQL connectie kan maken ( `mysql`
   uitvoeren vanaf shell, zonder password geneuzel )
* getest dat `dbusr`  "create database" mag/kan doen
en gecontroleert dat een SSH-oversteek mogelijk is. In deze twee stappen

   root@oude-machine:~# cat /etc/hosts | ssh dbusr@nieuwe-machine dd 
of=/tmp/hosts_file_oude_machine
>dbusr@nieuwe-machine $ cat /tmp/hosts_file_oude_machine ; ls -l 
/tmp/hosts_file_oude_machine


Ik vind dd een nogal eng programma om wat mee te spelen, maar wellicht 
dat dit inderdaad werkt...



Dat in andere worden:
* kleine stappen
* expliciete usernames gebruiken, 'root' vermijden.
* wegblijven bij interactieve toestand ( wegblijven bij `less`,
   die vraagt om toets aanslag, 


Aha, zoiets zal dat zijn inderdaad... het mag niet interactief.


weg bij MySQL wachtwoord )


Ik vind je oplossing met een extra user nogal complex voor eenmalig 
gebruik om wat data over te zetten.


Uiteindelijk heb ik toch maar een SSH toegang gemaakt vanaf de nieuwe 
machine naar de oude. Overzetten databases werkt nu met zoiets, vanaf de 
nieuwe server:


ssh root@2.3.4.5 mysqldump --databases data1 data2 | mysql

Het overzetten van de database met de naam "mysql" gaf problemen. Wat 
echter bleek te werken is dit (op de nieuwe server in mysql):

DROP TABLE IF EXISTS `mysql`.`global_priv`;
DROP VIEW IF EXISTS `mysql`.`user`;
Raar maar waar... daarna kon ik die mysql database gewoon overzetten.
Zie ook hier: 
https://dba.stackexchange.com/questions/266480/mariadb-mysql-all-db-import-table-user-already-exists


Groet,
Paul

--
Paul van der Vlis Linux systeembeheer Groningen
https://vandervlis.nl/



Re: MariaDB migreren van Debian 9 naar 11

2022-05-04 Berichten over hetzelfde onderwerp Geert Stappers
On Wed, May 04, 2022 at 01:39:08PM +0200, Paul van der Vlis wrote:
> Op 04-05-2022 om 13:04 schreef Geert Stappers:
> > On Wed, May 04, 2022 at 12:40:48PM +0200, Paul van der Vlis wrote:
> > > Op 04-05-2022 om 11:46 schreef Geert Stappers:
> > > > On Wed, May 04, 2022 at 11:15:39AM +0200, Paul van der Vlis wrote:
> > > > > 
> > > > > root@niewe-machine:~# ssh root@oude-machine mysqldump --all-databases 
> > > > > | mysql
> > > > > 
> > > > > Nu moet het bij mij net andersom, dus vanaf de oude machine.
> > > > 
> > > > Waarom?
> > > 
> > > De oude machine is nogal goed beveiligt, ik kan niet inloggen via SSH van 
> > > de
> > > nieuwe machine op de oude. Wel andersom.
> > Oh, vandaar ...
> > 
> > > Wellicht is dat wel te realiseren, maar andersom is dus handiger.
> > > Tenminste als het kan.

 
> > Misschien tijd om te vertellen wat de eerdere pogingen waren?
> 
> Ik heb vooral testjes gedaan om de output van een commando via ssh over te
> sturen naar een commando aan de andere kant. Bijvoorbeeld:
> cat /etc/hosts | ssh 1.2.3.4 /usr/bin/less
> 
> Maar dan krijg ik geen reactie.
> 
> Verder heb ik geprobeerd om mysql client te start op de andere machine:
> ssh 1.2.3.4 /usr/bin/mysql
> 
> Maar ook daar geen reactie.
> 
> Hmm, ik merk dat ik wel een reactie krijg op dat laatste commando als ik
> "-p" meegeef. Alleen heeft de mysql user root daar geen paswoord en dat vind
> ik wel praktisch voor backups etc.

Pardon?  (maar beschouw dat als een retorische vraag)


Eerder vandaag, may the fourth, schreef ik dat met
  root@oude-machine:~# mysqldump --all-databases | ssh dbusr@nieuwe-machine 
mysql
zou beginnen.  Dat was echter iets te kort door de bocht.

Vooraf aan dat migratie commando heb ik
* een operating system user met naam 'dbusr' of iets dergelijks
* gezien dat `dbusr` een MySQL connectie kan maken ( `mysql`
  uitvoeren vanaf shell, zonder password geneuzel )
* getest dat `dbusr`  "create database" mag/kan doen
en gecontroleert dat een SSH-oversteek mogelijk is. In deze twee stappen

  root@oude-machine:~# cat /etc/hosts | ssh dbusr@nieuwe-machine dd 
of=/tmp/hosts_file_oude_machine
  dbusr@nieuwe-machine $ cat /tmp/hosts_file_oude_machine ; ls -l 
/tmp/hosts_file_oude_machine


Dat in andere worden:
* kleine stappen
* expliciete usernames gebruiken, 'root' vermijden.
* wegblijven bij interactieve toestand ( wegblijven bij `less`,
  die vraagt om toets aanslag, weg bij MySQL wachtwoord )


Groeten
Geert Stappers
-- 
Silence is hard to parse



Re: MariaDB migreren van Debian 9 naar 11

2022-05-04 Berichten over hetzelfde onderwerp Paul van der Vlis

Hoi Geert, en anderen,

Op 04-05-2022 om 13:04 schreef Geert Stappers:

On Wed, May 04, 2022 at 12:40:48PM +0200, Paul van der Vlis wrote:

Op 04-05-2022 om 11:46 schreef Geert Stappers:

On Wed, May 04, 2022 at 11:15:39AM +0200, Paul van der Vlis wrote:

Hoi,

Wouter Verhelst schreef ooit dat je zo grote MariaDB databases kunt
migreren:

root@niewe-machine:~# ssh root@oude-machine mysqldump --all-databases | mysql

Nu moet het bij mij net andersom, dus vanaf de oude machine.


Waarom?


De oude machine is nogal goed beveiligt, ik kan niet inloggen via SSH van de
nieuwe machine op de oude. Wel andersom.
  
Oh, vandaar ...




Wellicht is dat wel te realiseren, maar andersom is dus handiger.
Tenminste als het kan.


Misschien tijd om te vertellen wat de eerdere pogingen waren?


Ik heb vooral testjes gedaan om de output van een commando via ssh over 
te sturen naar een commando aan de andere kant. Bijvoorbeeld:

cat /etc/hosts | ssh 1.2.3.4 /usr/bin/less

Maar dan krijg ik geen reactie.

Verder heb ik geprobeerd om mysql client te start op de andere machine:
ssh 1.2.3.4 /usr/bin/mysql

Maar ook daar geen reactie.

Hmm, ik merk dat ik wel een reactie krijg op dat laatste commando als ik 
"-p" meegeef. Alleen heeft de mysql user root daar geen paswoord en dat 
vind ik wel praktisch voor backups etc.


Groet,
Paul


--
Paul van der Vlis Linux systeembeheer Groningen
https://vandervlis.nl/



Re: MariaDB migreren van Debian 9 naar 11

2022-05-04 Berichten over hetzelfde onderwerp Geert Stappers
On Wed, May 04, 2022 at 12:40:48PM +0200, Paul van der Vlis wrote:
> Op 04-05-2022 om 11:46 schreef Geert Stappers:
> > On Wed, May 04, 2022 at 11:15:39AM +0200, Paul van der Vlis wrote:
> > > Hoi,
> > > 
> > > Wouter Verhelst schreef ooit dat je zo grote MariaDB databases kunt
> > > migreren:
> > > 
> > > root@niewe-machine:~# ssh root@oude-machine mysqldump --all-databases | 
> > > mysql
> > > 
> > > Nu moet het bij mij net andersom, dus vanaf de oude machine.
> > 
> > Waarom?
> 
> De oude machine is nogal goed beveiligt, ik kan niet inloggen via SSH van de
> nieuwe machine op de oude. Wel andersom.
 
Oh, vandaar ...


> Wellicht is dat wel te realiseren, maar andersom is dus handiger.
> Tenminste als het kan.

Misschien tijd om te vertellen wat de eerdere pogingen waren?


Groeten
Geert Stappers
Zou begonnen zijn met
  root@oude-machine:~# mysqldump --all-databases | ssh dbusr@nieuwe-machine 
mysql
-- 
May the fourth be with you



Re: MariaDB migreren van Debian 9 naar 11

2022-05-04 Berichten over hetzelfde onderwerp Paul van der Vlis

Op 04-05-2022 om 11:46 schreef Geert Stappers:

On Wed, May 04, 2022 at 11:15:39AM +0200, Paul van der Vlis wrote:

Hoi,

Wouter Verhelst schreef ooit dat je zo grote MariaDB databases kunt
migreren:

root@niewe-machine:~# ssh root@oude-machine mysqldump --all-databases |
mysql

Nu moet het bij mij net andersom, dus vanaf de oude machine.


Waarom?


De oude machine is nogal goed beveiligt, ik kan niet inloggen via SSH 
van de nieuwe machine op de oude. Wel andersom.


Wellicht is dat wel te realiseren, maar andersom is dus handiger.
Tenminste als het kan.

Groet,
Paul


--
Paul van der Vlis Linux systeembeheer Groningen
https://vandervlis.nl/



Re: MariaDB migreren van Debian 9 naar 11

2022-05-04 Berichten over hetzelfde onderwerp Geert Stappers
On Wed, May 04, 2022 at 11:15:39AM +0200, Paul van der Vlis wrote:
> Hoi,
> 
> Wouter Verhelst schreef ooit dat je zo grote MariaDB databases kunt
> migreren:
> 
> root@niewe-machine:~# ssh root@oude-machine mysqldump --all-databases |
> mysql
> 
> Nu moet het bij mij net andersom, dus vanaf de oude machine.

Waarom?


> Ik heb al van alles geprobeerd, maar het wil niet erg lukken...
> Iemand die hier ervaring mee heeft?
> 
>  ...
> Groet,
> Paul
> 

Groeten
Geert Stappers
-- 
Silence is hard to parse



MariaDB migreren van Debian 9 naar 11

2022-05-04 Berichten over hetzelfde onderwerp Paul van der Vlis

Hoi,

Wouter Verhelst schreef ooit dat je zo grote MariaDB databases kunt 
migreren:


root@niewe-machine:~# ssh root@oude-machine mysqldump --all-databases | 
mysql


Nu moet het bij mij net andersom, dus vanaf de oude machine. Ik heb al 
van alles geprobeerd, maar het wil niet erg lukken...

Iemand die hier ervaring mee heeft?

Verder doe ik het liever per-database. Sommige databases zijn namelijk 
actief in gebruik, andere 70GB groot maar statisch.


Nu vraag ik me ook nog af hoe het zit met de database met de naam 
"mysql". In het verleden had ik wel problemen dat ik de overgezette 
users en permissies toch weer moest aanmaken. Kent iemand dat probleem?


In de nieuwe setup heeft MariaDB een root user die kan inloggen zonder 
paswoord als je dat vanaf de Linux-user root doet. Dat vind ik prettig, 
is het ook mogelijk dat te handhaven als je die database met de naam 
mysql overzet naar een nieuwe machine?


Groet,
Paul

--
Paul van der Vlis Linux systeembeheer Groningen
https://vandervlis.nl/