Saya dulu memiliki sistem Linux (LMDE) dengan MySQL. Sistem menggunakan innodb_file_per_table untuk sebagian besar database. (tidak yakin tentang versi, apa pun yang "terbaru" di LMDE)
Saya sekarang pada sistem baru (Manjaro / Arch) dengan MariaDB.
$ mysql --version
mysql Ver 15.1 Distrib 10.0.15-MariaDB, for Linux (x86_64) using readline 5.1
Sistem lama memiliki banyak basis data besar, yang saya lebih suka tidak harus menyalin dengan mysqldump. Saya lebih suka menyalin folder / var / lib / mysql dari sistem lama.
Apakah ini mungkin?
mysql
arch-linux
mariadb
donquixote
sumber
sumber
Jawaban:
Ya itu mungkin. (Saya menemukan ini saat menulis pertanyaan)
Lakukan perubahan Anda ke /etc/mysql/my.cnf. Misalnya innodb_file_per_table.
(lebih dari ini di luar ruang lingkup untuk pertanyaan ini)
sudo systemctl stop mysqld
.(Anda ingin berhenti di kedua server, tetapi dalam kasus saya yang lain sudah tidak aktif)
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
.-> Ini menunjukkan bahwa layanan sedang berjalan, tetapi ada beberapa hal yang salah. Inilah gunanya mysql_upgrade.
mysql_upgrade -u root -p
Catatan:
sudo systemctl restart mysqld
.CAVEAT: Tampaknya Anda tidak dapat menurunkan versi ke versi MySQL yang lebih rendah. Saya mencoba memigrasi database saya ke MySQL 5.5 (atau lebih tepatnya, MariaDB yang sesuai), dan server tidak mau memulai. Saya harus menginstal MySQL 5.6 sebagai gantinya. (MariaDB yang terkait dengan MySQL 5.6 tidak tersedia di distro Linux saya).
sumber
/etc/my.cnf
juga.