Re: MariaDB migreren van Debian 9 naar 11
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
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
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
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
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
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
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
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/