Làm cách nào để sửa lỗi mysql 1031 - Công cụ lưu trữ bảng cho 'catalog_product_relation' không có tùy chọn này?


30

Tôi đang cố gắng tạo một phiên bản phát triển mới của cửa hàng Magento của chúng tôi. Tôi đã thực hiện cài đặt sạch El Capitan và có apache chạy với PHP, Mysql (phiên bản 5.7.10), v.v. Tôi cũng có phpmyadmin đang chạy và tạo cơ sở dữ liệu cho Magento. Tuy nhiên, khi tôi cố gắng nhập bản sao lưu từ trang sản xuất của chúng tôi, tôi gặp lỗi:

ERROR 1031 (HY000) at line 291001: Table storage engine for 'catalog_product_relation' doesn't have this option

Tôi đã cố gắng nhập tệp .sql thông qua Terminal bằng lệnh:

mysql -h localhost -u <user> -D <database> -p < <file>

Tôi bị lạc ở đây. Google đã bỏ một thời gian nhưng không thể tìm ra giải pháp. Tôi đang sử dụng cùng một công cụ như trong cơ sở dữ liệu sản xuất.

Còn ai có ý tưởng nào không?


Làm thế nào bạn tạo ra xuất khẩu? Bạn đã kiểm tra cơ sở dữ liệu cục bộ của mình nếu có bất kỳ bảng nào đã được tạo (sau khi kiểm tra nó nhiều lần)? Nếu vậy, hãy xóa tất cả các bảng trước khi chạy nhập mới.
Anna Völkl

1
Mặt khác: Có thể một cái gì đó như thế này: stackoverflow.com/a/32083169/865443
Anna Völkl

Câu trả lời:


49

Gần đây, tôi có vấn đề tương tự với việc nhập khẩu.

VẤN ĐỀ

Điều này có thể là do tùy chọn bảng mà bạn có trong CREATE TABLE DDL: ROW_FORMAT=FIXED

Hãy kiểm tra xem có bất kỳ chuỗi nào như vậy trong kết xuất SQL không (Ví dụ: magento-db-dump.sql).

cat magento-db-dump.sql | grep '=FIXED'

Mà kết quả là

) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Catalog Product Relation Table';
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Catalog Product To Website Linkage Table';

DUNG DỊCH

Xóa ROW_FORMAT=FIXEDtùy chọn khỏi CREATE TABLE DDL sẽ khắc phục sự cố. Vì vậy, hãy thử các giải pháp có thể.

# 1

sed -i 's/ROW_FORMAT=FIXED//g' magento-db-dump.sql

Điều này đã không làm việc cho tôi trong MacOSx dẫn đến lỗi sau:

sed: 1: ma magento-db-dump.sql ': mã lệnh không hợp lệ m

# 2

sed -i '' 's/ROW_FORMAT=FIXED//g' magento-db-dump.sql

Và thậm chí điều này dẫn đến:

sed: lỗi RE: chuỗi byte bất hợp pháp

# 3 Nhưng cái này hoạt động với tôi trong MacOSx

LC_ALL=C sed -i '' 's/ROW_FORMAT=FIXED//g' magento-db-dump.sql

( nguồn )


Đối với tôi, lệnh sau đã hoạt động:find -name "mysql_dump.sql" | xargs perl -pi -e 's/ROW_FORMAT=FIXED//g'
Wasiq Shahrukh

1. làm việc cho tôi trên Ubuntu
Joel Davey

@JoelDavey Có 1 # hoạt động trong Ubuntu. Tôi đã đề cập đến MacOS.
MagePologistso

10

Tôi đã gặp một vấn đề tương tự khi cố gắng nhập kết xuất cơ sở dữ liệu Magento từ MySQL 5.5 vào MySQL 5.7. Vấn đề dường như là tùy chọn bảng ROW_FORMAT = CỐ ĐỊNH trên hai bảng InnoDB. Loại bỏ hai lần xuất hiện của tùy chọn này khỏi kết xuất cơ sở dữ liệu cho phép quá trình nhập chạy mà không gặp lỗi.

Có vẻ như tùy chọn này chỉ liên quan đến các bảng MyISAM , ít nhất là trong MySQL 5.7.


1
Bổ sung nhỏ: Nó liên quan đến cài đặt innodb_strict_modeđược tắt theo mặc định, nhưng được bật theo mặc định bắt đầu từ MySQL 5.7.7 (theo tài liệu của MySQL).
Jisse Reitsma

8
sed -ie 's/ROW_FORMAT=FIXED//g' magento-db-dump.sql

Làm việc đa nền tảng (Mac + Linux)


hoạt động hoàn hảo trên linux mint ....
Andrew Smith

6

Một tùy chọn khác là thêm innodb_strict_mode = offvào tệp cấu hình MySQL của bạn. Tôi đã gặp phải lỗi này khi sử dụng các bản cài đặt không giám sát magerunkhiến tôi không thể chỉnh sửa tệp SQL. Tôi không chắc chắn nếu vô hiệu hóa chế độ nghiêm ngặt của InnoDb trong môi trường sản xuất, nhưng ít nhất nó hoạt động trong môi trường phát triển.


1

Bảng đó dự kiến ​​sẽ là InnoDB. Tôi sẽ kiểm tra cài đặt mysql của bạn để đảm bảo rằng bạn đã bật / cho phép. Ngoài ra, đề xuất rằng bạn có thể có bảng đó là có thể. Tôi sẽ xóa tất cả các bảng và thử lại sau khi bạn xác thực rằng InnoDB đang hoạt động.
Chỉ cần tắt thông báo lỗi mà bạn cung cấp, tôi sẽ mong rằng InnodDB chưa sẵn sàng hoặc hoạt động trên bản cài đặt hiện tại của bạn.


Chỉ cần kiểm tra mysql. nó được kích hoạt và được đặt làm công cụ mặc định. Tôi đang nhập nó trên một cơ sở dữ liệu hoàn toàn mới mà không có bảng nào cả. Sẽ thử giải pháp mà @Anna Völkl đã nói .. Hy vọng nó có ích
Woulei
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.