Saya mencoba membuat versi pengembangan baru dari toko Magento kami. Saya melakukan instalasi El Capitan yang bersih dan menjalankan apache dengan PHP, Mysql (versi 5.7.10), dll. Saya juga menjalankan phpmyadmin dan membuat database untuk Magento. Namun, ketika saya mencoba mengimpor cadangan dari situs produksi kami, saya mendapatkan kesalahan:
ERROR 1031 (HY000) at line 291001: Table storage engine for 'catalog_product_relation' doesn't have this option
Saya mencoba mengimpor file .sql melalui Terminal dengan perintah:
mysql -h localhost -u <user> -D <database> -p < <file>
Saya tersesat di sini. Google berhenti sebentar tetapi tidak dapat menemukan solusinya. Saya menggunakan mesin yang sama seperti pada databse produksi.
Adakah yang punya ide?
magento-1.9
database
Woulei
sumber
sumber
Jawaban:
Baru-baru ini, saya memiliki masalah yang sama dengan impor.
MASALAH
Ini mungkin karena opsi tabel yang Anda miliki di CREATE TABLE DDLL Anda:
ROW_FORMAT=FIXED
Mari kita periksa apakah ada string seperti itu di SQL dump (Ex: magento-db-dump.sql).
Yang menghasilkan
LARUTAN
Menghapus
ROW_FORMAT=FIXED
opsi dari CREATE TABLE DDL akan memperbaiki masalah ini. Jadi mari kita coba solusi yang mungkin.# 1
Ini tidak berfungsi untuk saya di MacOSx yang menghasilkan kesalahan berikut:
# 2
Dan bahkan ini menghasilkan:
# 3 Tapi yang ini berhasil untuk saya di MacOSx
( sumber )
sumber
find -name "mysql_dump.sql" | xargs perl -pi -e 's/ROW_FORMAT=FIXED//g'
Saya menemukan masalah yang sama ketika mencoba untuk mengimpor dump database Magento dari MySQL 5.5 ke MySQL 5.7. Masalahnya tampaknya menjadi opsi tabel ROW_FORMAT = TETAP pada dua tabel InnoDB. Menghapus dua kemunculan opsi ini dari database dump memungkinkan impor berjalan tanpa kesalahan.
Tampaknya opsi ini hanya relevan dengan tabel MyISAM , setidaknya di MySQL 5.7.
sumber
innodb_strict_mode
yang digunakan untuk mematikan secara default, tetapi diaktifkan secara default mulai dari MySQL 5.7.7 (sesuai dengan dokumentasi MySQL).Work cross platform (Mac + Linux)
sumber
Opsi lain adalah menambahkan
innodb_strict_mode = off
ke file konfigurasi MySQL Anda. Saya menemukan kesalahan ini dengan menggunakan instalasi tanpa pengawasanmagerun
yang membuat saya tidak bisa mengedit file SQL. Saya tidak yakin apakah menonaktifkan mode ketat InnoDb diinginkan di lingkungan produksi, tetapi setidaknya itu berfungsi di lingkungan pengembangan.sumber
Tabel itu diharapkan menjadi InnoDB. Saya akan memeriksa pengaturan mysql Anda untuk memastikan Anda mengaktifkan / memperbolehkannya. Juga, saran bahwa Anda mungkin memiliki tabel itu ada adalah mungkin. Saya akan menghapus semua tabel dan mencobanya lagi setelah Anda memvalidasi InnoDB berfungsi.
Hanya mematikan pesan kesalahan yang Anda berikan, saya berharap InnodDB tidak siap atau bekerja pada instalasi Anda saat ini.
sumber