Kiedyś miałem system Linux (LMDE) z MySQL. System wykorzystał tabelę_pliku_wodb_pliku dla większości baz danych. (nie jestem pewien co do wersji, cokolwiek jest „najnowsze” w LMDE)
Jestem teraz na nowym systemie (Manjaro / Arch) z MariaDB.
$ mysql --version
mysql Ver 15.1 Distrib 10.0.15-MariaDB, for Linux (x86_64) using readline 5.1
Stary system miał wiele dużych baz danych, których naprawdę wolałbym nie kopiować za pomocą mysqldump. Wolałbym skopiować folder / var / lib / mysql ze starego systemu.
czy to możliwe?
mysql
arch-linux
mariadb
Don Kichot
źródło
źródło
Odpowiedzi:
Tak to mozliwe. (Rozmyślałem o tym podczas pisania pytania)
Wprowadź zmiany w pliku /etc/mysql/my.cnf. Na przykład innodb_file_per_table.
(więcej z tego jest poza zakresem tego pytania)
sudo systemctl stop mysqld
.(Chcesz zatrzymać się na obu serwerach, ale w moim przypadku drugi był już wyłączony)
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
.-> To pokazuje, że usługa jest uruchomiona, ale niektóre rzeczy idą źle. Po to jest mysql_upgrade.
mysql_upgrade -u root -p
Uwagi:
sudo systemctl restart mysqld
.CAVEAT: Najwyraźniej nie można przejść na niższą wersję MySQL. Próbowałem migrować moje bazy danych do MySQL 5.5 (a raczej odpowiedniej MariaDB), a serwer nie chciał się uruchomić. Zamiast tego musiałem zainstalować MySQL 5.6. (MariaDB odpowiadająca MySQL 5.6 nie jest dostępna w mojej dystrybucji Linuksa).
źródło
/etc/my.cnf
.