Ich hatte früher ein Linux-System (LMDE) mit MySQL. Das System verwendete für die meisten Datenbanken innodb_file_per_table. (nicht sicher über die Version, was auch immer die "neueste" in LMDE ist)
Ich bin jetzt auf einem neuen System (Manjaro / Arch) mit MariaDB.
$ mysql --version
mysql Ver 15.1 Distrib 10.0.15-MariaDB, for Linux (x86_64) using readline 5.1
Das alte System hatte viele große Datenbanken, die ich wirklich lieber nicht mit mysqldump kopieren müsste. Ich würde es sehr bevorzugen, den Ordner / var / lib / mysql vom alten System zu kopieren.
Ist das möglich?
mysql
arch-linux
mariadb
Donquijote
quelle
quelle
Antworten:
Ja, es ist möglich. (Ich habe das herausgefunden, als ich die Frage geschrieben habe)
Nehmen Sie Ihre Änderungen an /etc/mysql/my.cnf vor. ZB innodb_file_per_table.
(mehr davon ist für diese Frage nicht möglich)
sudo systemctl stop mysqld
.(Sie möchten auf beiden Servern anhalten, aber in meinem Fall war der andere bereits ausgeschaltet)
sudo chown -R mysql:mysql /var/lib/mysql
sudo systemctl start mysqld
.->
Job for mysqld.service failed. See "systemctl status mysqld.service" and "journalctl -xe" for details.
sudo systemctl status mysqld
.-> Dies zeigt, dass der Dienst ausgeführt wird, aber einige Dinge schief gehen. Dafür ist mysql_upgrade gedacht.
mysql_upgrade -u root -p
Anmerkungen:
sudo systemctl restart mysqld
.CAVEAT: Anscheinend können Sie kein Downgrade auf eine niedrigere MySQL-Version durchführen. Ich habe versucht, meine Datenbanken auf MySQL 5.5 (oder besser gesagt auf die entsprechende MariaDB) zu migrieren, und der Server wurde nicht gestartet. Ich musste stattdessen MySQL 5.6 installieren. (Die MariaDB, die MySQL 5.6 entspricht, ist in meiner Linux-Distribution nicht verfügbar).
quelle
/etc/my.cnf
.