Chuyển đến nội dung
Trang chủ IntoSQL

Chuyển bản dump MariaDB sang MariaDB cũ hơn hoặc mới hơn

Thả bản dump từ mariadb-dump, mysqldump, phpMyAdmin hoặc Adminer, dạng .sql hoặc .sql.gz, và tải xuống tập lệnh nạp được trên MariaDB 10.11 trở lên. UUID, INET4, INET6, JSON và sequence giữ nguyên, VECTOR thành mảng JSON các số thực cho phiên bản trước 11.7, và mọi thay đổi được liệt kê trong báo cáo.

Tệp của bạn
sqlshop_2024_mariadb.sqlTệp mẫu, 6,6 kB
Cơ sở dữ liệu của bạn

Đã chuyển đổi 18 hàng, không có bản sửa, không hàng nào bị từ chối

Hiển thị

Các bảng trong shop_2024_mariadb.sqlBản dump MariaDB 11.8.9-MariaDB-ubu2404 · do mariadb-dump ghi · utf8mb4

  • customers8 hàng
    8 cột
    idint(10) unsigned not null
    namevarchar(100) not null
    emailvarchar(150) not null
    countrychar(2) not null
    is_activetinyint(1) not null
    signed_update not null
    created_attimestamp not null
    last_ipinet6
  • orders10 hàng
    12 cột
    idint(10) unsigned not null
    customer_idint(10) unsigned not null
    statusenum('pending','paid','shipped','cancelled') not null
    totaldecimal(10,2) not null
    itemssmallint(5) unsigned not null
    ordered_atdatetime not null
    shipped_atdatetime
    notevarchar(255)
    order_refuuid not null
    invoiceint(11) not null
    detailsjson
    updated_attimestamp not null
-- Written by IntoSQL from a MySQL dump. Load it with: mariadb --default-character-set=utf8mb4 <database> < <file>
SET NAMES utf8mb4;
SET TIME_ZONE = '+00:00';
SET FOREIGN_KEY_CHECKS = 0;
SET UNIQUE_CHECKS = 0;
SET SQL_MODE = 'NO_AUTO_VALUE_ON_ZERO,ALLOW_INVALID_DATES';

CREATE SEQUENCE `invoice_numbers` START WITH 1000 MINVALUE 1 MAXVALUE 9223372036854775806 INCREMENT BY 1;
SELECT SETVAL(`invoice_numbers`, 2000, 0);
CREATE TABLE `customers` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL,
  `email` varchar(150) NOT NULL,
  `country` char(2) NOT NULL DEFAULT 'US',
  `is_active` tinyint(1) NOT NULL DEFAULT 1,
  `signed_up` date NOT NULL DEFAULT '0000-00-00',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `last_ip` inet6 DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_email` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=1001 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci COMMENT='People who bought at least once';

CREATE TABLE `orders` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `customer_id` int(10) unsigned NOT NULL,
  `status` enum('pending','paid','shipped','cancelled') NOT NULL DEFAULT 'pending',
  `total` decimal(10,2) NOT NULL,
  `items` smallint(5) unsigned NOT NULL DEFAULT 1,
  `ordered_at` datetime NOT NULL,
  `shipped_at` datetime DEFAULT NULL,
  `note` varchar(255) DEFAULT NULL,
  `order_ref` uuid NOT NULL,
  `invoice` int(11) NOT NULL DEFAULT (nextval(`invoice_numbers`)),
  `details` json DEFAULT NULL,
  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_customer` (`customer_id`),
  KEY `idx_status_date` (`status`,`ordered_at`),
  CONSTRAINT `fk_orders_customer` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5001 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

INSERT INTO `customers` (`id`,`name`,`email`,`country`,`is_active`,`signed_up`,`created_at`,`last_ip`) VALUES (1,'Ana Martínez','ana@example.com','MX',1,'2023-01-15','2023-01-15 10:24:00','::ffff:203.0.113.7'),(2,'Zoë Müller','zoe@example.de','DE',1,'2023-02-03','2023-02-03 08:11:42','2001:db8::1'),(3,'José Peña','jose@example.es','ES',0,'2023-03-21','2023-03-21 19:05:17',NULL),(4,'李雷','lilei@example.cn','CN',1,'2023-05-09','2023-05-09 02:40:00','::ffff:198.51.100.23'),(5,'Noah O\'Brien','noah@example.ie','IE',1,'0000-00-00','2023-06-30 14:00:00',NULL),(6,'Amélie Laurent','amelie@example.fr','FR',1,'2024-01-02','2024-01-02 09:30:00','2001:db8:85a3::8a2e:370:7334'),(7,'Ravi Patel','ravi@example.in','IN',0,'2024-02-29','2024-02-29 23:59:59','::ffff:192.0.2.200'),(8,'Sofia Rossi 🌻','sofia@example.it','IT',1,'2024-04-12','2024-04-12 12:12:12',NULL);
INSERT INTO `orders` (`id`,`customer_id`,`status`,`total`,`items`,`ordered_at`,`shipped_at`,`note`,`order_ref`,`invoice`,`details`,`updated_at`) VALUES (1,1,'shipped',129.90,3,'2024-03-01 10:00:00','2024-03-02 16:30:00',NULL,'0b7a4c2e-3f1d-4e8a-9c55-1a2b3c4d5e6f',1000,'{\"gift\": false}','2024-03-02 16:30:00'),(2,2,'paid',54.00,1,'2024-03-02 11:15:00',NULL,'Gift wrap 🎁','1c8b5d3f-4a2e-4f9b-8d66-2b3c4d5e6f70',1001,'{\"gift\": true, \"wrap\": \"red\"}','2024-03-02 11:20:00'),(3,1,'cancelled',12.50,1,'2024-03-03 09:45:00',NULL,'Customer changed their mind','2d9c6e4a-5b3f-4a0c-9e77-3c4d5e6f7081',1002,NULL,'2024-03-03 10:00:00'),(4,4,'shipped',980.00,12,'2024-03-05 02:10:00','2024-03-07 08:00:00','请小心轻放','3e0d7f5b-6c4a-4b1d-8f88-4d5e6f708192',1003,'{\"fragile\": true}','2024-03-07 08:00:00'),(5,5,'pending',45.75,2,'2024-03-08 17:20:00',NULL,'Leave at the door; ring twice','4f1e806c-7d5b-4c2e-9a99-5e6f708192a3',1004,NULL,'2024-03-08 17:20:00'),(6,6,'shipped',310.40,5,'2024-03-10 13:00:00','2024-03-11 09:00:00','Fragile: \"glass\"','50f2917d-8e6c-4d3f-8baa-6f708192a3b4',1005,'{\"fragile\": true}','2024-03-11 09:00:00'),(7,8,'paid',76.20,2,'2024-03-11 18:45:00',NULL,NULL,'6103a28e-9f7d-4e40-9cbb-708192a3b4c5',1006,NULL,'2024-03-11 18:46:00'),(8,2,'',19.99,1,'2024-03-12 08:00:00',NULL,'Status lost in an old import','7214b39f-a08e-4f51-8dcc-8192a3b4c5d6',1007,NULL,'2024-03-12 08:00:00'),(9,3,'shipped',64.00,2,'2024-03-14 15:30:00','0000-00-00 00:00:00','Shipping date never recorded','8325c4a0-b19f-4062-9edd-92a3b4c5d6e7',1008,'{\"parcels\": [1, 2]}','2024-03-15 10:00:00'),(10,7,'paid',1499.00,1,'2024-03-15 21:05:00',NULL,'C:\\Users\\ravi\\invoice.pdf','9436d5b1-c2a0-4173-8fee-a3b4c5d6e7f8',1009,NULL,'2024-03-15 21:05:00');

SET UNIQUE_CHECKS = 1;
SET FOREIGN_KEY_CHECKS = 1;

Bản sửa

Không có gì cần sửa.

Tệp được chuyển đổi ngay trên máy tính này và không bao giờ được tải lên.

Mẫu khác:

Những gì thay đổi giữa tệp và tập lệnh

Mỗi hàng là một quy tắc trình chuyển đổi áp dụng, kèm dòng báo cáo được ghi khi quy tắc thay đổi dữ liệu của bạn.

  • utf8mb4_0900_* and utf8mb4_uca1400_* collations

    utf8mb4_unicode_520_ci cho utf8mb4_0900_* (utf8mb4_bin cho collation nhị phân)

    MariaDB không biết các collation mới hơn, lỗi khiến hầu hết bản dump MySQL 8 không nạp được ở nơi khác. unicode_520 bám sát nhất cùng quy tắc Unicode.

    Dòng báo cáo: collation_replaced

  • zero, partial or impossible dates (0000-00-00, 2024-02-30)

    được giữ

    Tập lệnh nạp với ALLOW_INVALID_DATES và không có NO_ZERO_DATE, nên MariaDB giữ đúng các giá trị của nguồn.

  • TIME

    TIME, kể cả khoảng thời gian

    Cùng kiểu, cùng phạm vi.

  • TINYINT(1), BOOL

    TINYINT(1)

    Cùng kiểu, cùng giá trị.

  • UNSIGNED and ZEROFILL

    được giữ

    Cùng các kiểu.

  • ENUM and SET, the '' error value included

    được giữ

    Cùng các kiểu; tập lệnh nạp không ở chế độ nghiêm ngặt, nên giá trị lỗi được nạp nguyên trạng.

  • JSON

    JSON (LONGTEXT được MariaDB kiểm tra)

    MariaDB đọc cùng văn bản JSON.

  • NUL bytes in text

    được giữ

    Giá trị được sao chép với cùng chuỗi thoát mà nguồn đã dùng.

  • AUTO_INCREMENT

    AUTO_INCREMENT với bộ đếm của bảng

    Bộ đếm tiếp tục từ chỗ nguồn dừng lại, kể cả bộ đếm theo nhóm của MyISAM.

  • MyISAM AUTO_INCREMENT on the second column of a key, in a table that isn't MyISAM in the dump

    một chỉ mục trên cột và một bộ đếm cho cả bảng

    InnoDB chỉ đếm một cột khi nó đứng đầu một chỉ mục, và đếm một lần cho cả bảng.

    Dòng báo cáo: myisam_group_autoincrement

  • ON UPDATE CURRENT_TIMESTAMP

    được giữ

    Cùng mệnh đề, với phần giây lẻ của cột.

  • generated columns

    VIRTUAL hoặc STORED như trong nguồn

    Cùng công thức, được chuyển đổi từng thành phần.

  • generated columns with functions IntoSQL doesn't read

    một cột thường

    Công thức IntoSQL không đọc được để lại một cột thường và một dòng trong báo cáo.

    Dòng báo cáo: generated_not_translated

  • INVISIBLE columns

    cột INVISIBLE

    MySQL có cột ẩn từ 8.0.23, MariaDB từ 10.3.

  • CHECK constraints

    được giữ

    Cùng các ràng buộc kiểm tra, được chuyển đổi từng thành phần.

  • CHECK constraints with functions IntoSQL doesn't read

    không được tạo

    Ràng buộc kiểm tra IntoSQL không đọc được sẽ bị bỏ và được báo cáo.

    Dòng báo cáo: check_skipped

  • CHECK ... NOT ENFORCED

    không được tạo

    MySQL 5.7 và MariaDB không thể giữ một ràng buộc kiểm tra mà không áp dụng nó, và các hàng có thể vi phạm nó.

    Dòng báo cáo: check_not_enforced

  • expression defaults, and defaults on TEXT, BLOB, JSON and GEOMETRY

    được giữ

    MySQL nhận chúng từ 8.0.13; tập lệnh nạp trên 5.7, nên chúng bị bỏ và được báo cáo. MariaDB nhận chúng.

    Dòng báo cáo: default_not_translated

  • functional indexes, KEY ((expr))

    không được tạo

    MySQL lập chỉ mục trên biểu thức từ 8.0.13 và MariaDB hoàn toàn không; một cột tính toán có chỉ mục làm được điều tương tự.

    Dòng báo cáo: index_skipped

  • keys and indexes on a prefix, c(20)

    được giữ

    Cùng chỉ mục.

  • FULLTEXT indexes

    được giữ

    Cùng chỉ mục; MATCH ... AGAINST hoạt động như trước.

  • SPATIAL indexes

    được giữ

    Cùng chỉ mục.

  • foreign keys

    được giữ, nạp với FOREIGN_KEY_CHECKS=0

    Cùng các khóa; các hàng được nạp như từ bản dump nguồn.

  • GEOMETRY, POINT, POLYGON...

    được giữ, kèm SRID của từng giá trị

    Các byte hình học gốc của máy chủ được sao chép, kể cả SRID.

  • INET4, INET6, UUID (MariaDB)

    được giữ

    MySQL không có các kiểu này; văn bản MariaDB ghi cho chúng được giữ.

  • BINARY, VARBINARY, BLOB

    được giữ

    Byte vẫn là byte.

  • PARTITION BY

    một bảng

    Các hàng giữ nguyên; hãy phân vùng lại bảng nếu cần.

    Dòng báo cáo: partitions_dropped

  • WITH SYSTEM VERSIONING (MariaDB)

    WITH SYSTEM VERSIONING, bắt đầu từ các hàng hiện tại

    Bản dump chỉ chứa các hàng hiện tại; MySQL không có system versioning.

  • Aria, ColumnStore, CONNECT, Spider, RocksDB (MariaDB)

    được giữ

    MySQL không có engine nào trong số này. Mọi engine khác được giữ.

  • CREATE SEQUENCE (MariaDB)

    CREATE SEQUENCE kèm giá trị tiếp theo

    MySQL không có sequence.

  • views, triggers, procedures, functions and events

    được liệt kê trong báo cáo

    Chúng được liệt kê để bạn tạo lại; mã của chúng thường nêu definer và các tính năng của máy chủ.

    Dòng báo cáo: not_converted_objects

  • NOT NULL columns with values that become NULL

    bỏ NOT NULL

    Cột có giá trị phải chuyển thành NULL không thể giữ NOT NULL, nếu không quá trình nạp sẽ dừng.

    Dòng báo cáo: not_null_relaxed

  • text that isn't valid in its character set

    byte lỗi thành ký tự thay thế

    Tập lệnh là UTF-8; byte không hợp lệ sẽ làm dừng quá trình nạp.

    Dòng báo cáo: invalid_utf8_replaced

  • text decoded twice (ñ)

    sao chép nguyên trạng

    Bản dump chứa đúng các ký tự này, nên chúng được sao chép; báo cáo chỉ ra chúng.

    Dòng báo cáo: mojibake_suspected

  • dumps without CREATE TABLE

    kiểu suy ra từ giá trị

    Bản dump tạo với --no-create-info chỉ có các hàng, nên kiểu được suy ra từ giá trị.

    Dòng báo cáo: no_schema

  • geometries in a dump without CREATE TABLE

    GEOMETRY

    Định dạng hình học của MySQL được nhận diện từ giá trị.

  • SET NAMES utf8 from utf8mb4 tables

    được chuyển đổi, kèm cảnh báo

    mysqldump của MySQL 5.x mặc định ghi utf8 3 byte và thay mọi emoji bằng dấu chấm hỏi trước khi bất kỳ trình chuyển đổi nào thấy tệp.

    Dòng báo cáo: dump_lost_four_byte_chars

  • dumps without SET NAMES whose text isn't UTF-8

    đọc dưới dạng Latin-1 (Windows-1252)

    latin1 của MySQL là Windows-1252, bảng mã thường gặp của những bản dump như vậy.

    Dòng báo cáo: charset_guessed

  • sjis, cp932, gbk, big5 dumps

    đọc dưới dạng UTF-8, kèm cảnh báo

    Các bảng mã này chưa được giải mã.

    Dòng báo cáo: unsupported_charset

  • UNHEX('..'), CONVERT(b'..', UNSIGNED), CONVERT(".." USING x), ST_GeomFromText('..') in rows

    được tính ra giá trị

    Một số công cụ dump ghi giá trị dưới dạng các lệnh gọi này; chúng được đọc thành giá trị mà chúng tạo ra.

  • other expressions in rows

    NULL

    Trình chuyển đổi không chạy cơ sở dữ liệu thì không tính được chúng.

    Dòng báo cáo: expression_value

  • DEFAULT in VALUES

    giá trị mặc định của cột

    Giá trị mặc định dạng hằng được sao chép vào hàng.

    Dòng báo cáo: default_keyword_filled

  • DEFAULT in VALUES without a literal default

    NULL

    Không có giá trị nào để sao chép.

    Dòng báo cáo: default_keyword_null

  • REPLACE and INSERT IGNORE

    hàng thường

    Bản dump có một hàng cho mỗi khóa, nên các hàng vẫn giống nhau.

    Dòng báo cáo: replace_as_insert

  • types IntoSQL doesn't know

    LONGBLOB

    Blob chứa được byte của mọi giá trị; hãy đổi kiểu sau khi nạp.

    Dòng báo cáo: unknown_type

  • values that don't fit their column

    NULL

    Bản dump bị hỏng hoặc viết tay có thể chứa giá trị mà cột không chứa được; chúng trở thành NULL để phần còn lại được nạp.

    Dòng báo cáo: invalid_value_null

  • unreadable geometries

    NULL

    Byte không phải dữ liệu hình học thì không lưu được dưới dạng hình học.

    Dòng báo cáo: bad_geometry

  • TIMESTAMP

    được giữ, nạp theo múi giờ bản dump nêu

    Tập lệnh đặt cùng múi giờ mà bản dump đã dùng, nên mọi thời điểm đều giữ nguyên.

  • VECTOR(n) (MariaDB 11.7+)

    json với các số thực dưới dạng mảng

    Tập lệnh nạp được trên MariaDB 10.11 trở lên, vốn không có kiểu vector; mảng JSON giữ mọi số thực, và VEC_FromText đọc lại được nó.

    Dòng báo cáo: type_replaced

Trong tệpTrong tập lệnhDòng báo cáo
utf8mb4_0900_* and utf8mb4_uca1400_* collationsutf8mb4_unicode_520_ci cho utf8mb4_0900_* (utf8mb4_bin cho collation nhị phân)MariaDB không biết các collation mới hơn, lỗi khiến hầu hết bản dump MySQL 8 không nạp được ở nơi khác. unicode_520 bám sát nhất cùng quy tắc Unicode.collation_replaced
zero, partial or impossible dates (0000-00-00, 2024-02-30)được giữTập lệnh nạp với ALLOW_INVALID_DATES và không có NO_ZERO_DATE, nên MariaDB giữ đúng các giá trị của nguồn.
TIMETIME, kể cả khoảng thời gianCùng kiểu, cùng phạm vi.
TINYINT(1), BOOLTINYINT(1)Cùng kiểu, cùng giá trị.
UNSIGNED and ZEROFILLđược giữCùng các kiểu.
ENUM and SET, the '' error value includedđược giữCùng các kiểu; tập lệnh nạp không ở chế độ nghiêm ngặt, nên giá trị lỗi được nạp nguyên trạng.
JSONJSON (LONGTEXT được MariaDB kiểm tra)MariaDB đọc cùng văn bản JSON.
NUL bytes in textđược giữGiá trị được sao chép với cùng chuỗi thoát mà nguồn đã dùng.
AUTO_INCREMENTAUTO_INCREMENT với bộ đếm của bảngBộ đếm tiếp tục từ chỗ nguồn dừng lại, kể cả bộ đếm theo nhóm của MyISAM.
MyISAM AUTO_INCREMENT on the second column of a key, in a table that isn't MyISAM in the dumpmột chỉ mục trên cột và một bộ đếm cho cả bảngInnoDB chỉ đếm một cột khi nó đứng đầu một chỉ mục, và đếm một lần cho cả bảng.myisam_group_autoincrement
ON UPDATE CURRENT_TIMESTAMPđược giữCùng mệnh đề, với phần giây lẻ của cột.
generated columnsVIRTUAL hoặc STORED như trong nguồnCùng công thức, được chuyển đổi từng thành phần.
generated columns with functions IntoSQL doesn't readmột cột thườngCông thức IntoSQL không đọc được để lại một cột thường và một dòng trong báo cáo.generated_not_translated
INVISIBLE columnscột INVISIBLEMySQL có cột ẩn từ 8.0.23, MariaDB từ 10.3.
CHECK constraintsđược giữCùng các ràng buộc kiểm tra, được chuyển đổi từng thành phần.
CHECK constraints with functions IntoSQL doesn't readkhông được tạoRàng buộc kiểm tra IntoSQL không đọc được sẽ bị bỏ và được báo cáo.check_skipped
CHECK ... NOT ENFORCEDkhông được tạoMySQL 5.7 và MariaDB không thể giữ một ràng buộc kiểm tra mà không áp dụng nó, và các hàng có thể vi phạm nó.check_not_enforced
expression defaults, and defaults on TEXT, BLOB, JSON and GEOMETRYđược giữMySQL nhận chúng từ 8.0.13; tập lệnh nạp trên 5.7, nên chúng bị bỏ và được báo cáo. MariaDB nhận chúng.default_not_translated
functional indexes, KEY ((expr))không được tạoMySQL lập chỉ mục trên biểu thức từ 8.0.13 và MariaDB hoàn toàn không; một cột tính toán có chỉ mục làm được điều tương tự.index_skipped
keys and indexes on a prefix, c(20)được giữCùng chỉ mục.
FULLTEXT indexesđược giữCùng chỉ mục; MATCH ... AGAINST hoạt động như trước.
SPATIAL indexesđược giữCùng chỉ mục.
foreign keysđược giữ, nạp với FOREIGN_KEY_CHECKS=0Cùng các khóa; các hàng được nạp như từ bản dump nguồn.
GEOMETRY, POINT, POLYGON...được giữ, kèm SRID của từng giá trịCác byte hình học gốc của máy chủ được sao chép, kể cả SRID.
INET4, INET6, UUID (MariaDB)được giữMySQL không có các kiểu này; văn bản MariaDB ghi cho chúng được giữ.
BINARY, VARBINARY, BLOBđược giữByte vẫn là byte.
PARTITION BYmột bảngCác hàng giữ nguyên; hãy phân vùng lại bảng nếu cần.partitions_dropped
WITH SYSTEM VERSIONING (MariaDB)WITH SYSTEM VERSIONING, bắt đầu từ các hàng hiện tạiBản dump chỉ chứa các hàng hiện tại; MySQL không có system versioning.
Aria, ColumnStore, CONNECT, Spider, RocksDB (MariaDB)được giữMySQL không có engine nào trong số này. Mọi engine khác được giữ.
CREATE SEQUENCE (MariaDB)CREATE SEQUENCE kèm giá trị tiếp theoMySQL không có sequence.
views, triggers, procedures, functions and eventsđược liệt kê trong báo cáoChúng được liệt kê để bạn tạo lại; mã của chúng thường nêu definer và các tính năng của máy chủ.not_converted_objects
NOT NULL columns with values that become NULLbỏ NOT NULLCột có giá trị phải chuyển thành NULL không thể giữ NOT NULL, nếu không quá trình nạp sẽ dừng.not_null_relaxed
text that isn't valid in its character setbyte lỗi thành ký tự thay thếTập lệnh là UTF-8; byte không hợp lệ sẽ làm dừng quá trình nạp.invalid_utf8_replaced
text decoded twice (ñ)sao chép nguyên trạngBản dump chứa đúng các ký tự này, nên chúng được sao chép; báo cáo chỉ ra chúng.mojibake_suspected
dumps without CREATE TABLEkiểu suy ra từ giá trịBản dump tạo với --no-create-info chỉ có các hàng, nên kiểu được suy ra từ giá trị.no_schema
geometries in a dump without CREATE TABLEGEOMETRYĐịnh dạng hình học của MySQL được nhận diện từ giá trị.
SET NAMES utf8 from utf8mb4 tablesđược chuyển đổi, kèm cảnh báomysqldump của MySQL 5.x mặc định ghi utf8 3 byte và thay mọi emoji bằng dấu chấm hỏi trước khi bất kỳ trình chuyển đổi nào thấy tệp.dump_lost_four_byte_chars
dumps without SET NAMES whose text isn't UTF-8đọc dưới dạng Latin-1 (Windows-1252)latin1 của MySQL là Windows-1252, bảng mã thường gặp của những bản dump như vậy.charset_guessed
sjis, cp932, gbk, big5 dumpsđọc dưới dạng UTF-8, kèm cảnh báoCác bảng mã này chưa được giải mã.unsupported_charset
UNHEX('..'), CONVERT(b'..', UNSIGNED), CONVERT(".." USING x), ST_GeomFromText('..') in rowsđược tính ra giá trịMột số công cụ dump ghi giá trị dưới dạng các lệnh gọi này; chúng được đọc thành giá trị mà chúng tạo ra.
other expressions in rowsNULLTrình chuyển đổi không chạy cơ sở dữ liệu thì không tính được chúng.expression_value
DEFAULT in VALUESgiá trị mặc định của cộtGiá trị mặc định dạng hằng được sao chép vào hàng.default_keyword_filled
DEFAULT in VALUES without a literal defaultNULLKhông có giá trị nào để sao chép.default_keyword_null
REPLACE and INSERT IGNOREhàng thườngBản dump có một hàng cho mỗi khóa, nên các hàng vẫn giống nhau.replace_as_insert
types IntoSQL doesn't knowLONGBLOBBlob chứa được byte của mọi giá trị; hãy đổi kiểu sau khi nạp.unknown_type
values that don't fit their columnNULLBản dump bị hỏng hoặc viết tay có thể chứa giá trị mà cột không chứa được; chúng trở thành NULL để phần còn lại được nạp.invalid_value_null
unreadable geometriesNULLByte không phải dữ liệu hình học thì không lưu được dưới dạng hình học.bad_geometry
TIMESTAMPđược giữ, nạp theo múi giờ bản dump nêuTập lệnh đặt cùng múi giờ mà bản dump đã dùng, nên mọi thời điểm đều giữ nguyên.
VECTOR(n) (MariaDB 11.7+)json với các số thực dưới dạng mảngTập lệnh nạp được trên MariaDB 10.11 trở lên, vốn không có kiểu vector; mảng JSON giữ mọi số thực, và VEC_FromText đọc lại được nó.type_replaced

Nạp tập lệnh vào MariaDB

Tập lệnh tạo bảng, sao chép các hàng, rồi thêm khóa, chỉ mục và khóa ngoại, nên nạp nhanh và dừng ở lỗi đầu tiên.

mariadb --default-character-set=utf8mb4 mydb < mariadb.mariadb.sql

Khóa ngoại được tạo đúng như bản dump khai báo, với FOREIGN_KEY_CHECKS=0 trong khi nạp các hàng, như mysqldump.

Với bản dump lớn, hãy chạy client trên cùng máy với máy chủ, và tăng max_allowed_packet nếu một hàng rất lớn.

IntoSQL Pro nạp tệp thẳng vào MariaDB từ ứng dụng máy tính hoặc dòng lệnh, không cần tạo tập lệnh.

Tạo bản dump MariaDB để có kết quả tốt nhất

Trình chuyển đổi đọc những gì bản dump chứa. Các tùy chọn sau giữ lại nhiều dữ liệu hơn trong đó:

  • --default-character-set=utf8mb4 giữ emoji và các ký tự 4 byte khác, vốn bị bản dump utf8mb3 làm mất trước khi trình chuyển đổi nhìn thấy.
  • --hex-blob ghi cột nhị phân và giá trị VECTOR dưới dạng thập lục phân, không bị hỏng khi sao chép giữa các hệ thống.
  • --routines --triggers --events thêm các đối tượng đó vào bản dump, để báo cáo có thể liệt kê chúng.

Những gì không được chuyển đổi

View, trigger, thủ tục, hàm và các đối tượng khác viết bằng ngôn ngữ riêng của MariaDB được liệt kê theo tên trong báo cáo, không bao giờ bị bỏ âm thầm, để bạn kiểm tra từng cái với phiên bản MariaDB bạn nạp vào trước khi tạo lại.

Câu hỏi về chuyển MariaDB giữa các phiên bản

Chưa có câu trả lời ở đây? Hãy viết cho chúng tôi từ trang liên hệ, sẽ có người trả lời. Trang liên hệ

Bản dump của tôi có bị tải lên không?

Không. Trình chuyển đổi chạy trong trình duyệt và đọc bản dump từ ổ đĩa theo từng phần, nên nó không bao giờ rời khỏi máy tính của bạn. Ứng dụng máy tính và dòng lệnh cũng chuyển đổi ngay trên máy tính của bạn.

Bản dump có thể lớn đến đâu?

Trình chuyển đổi không bao giờ giữ toàn bộ bản dump trong bộ nhớ: nó đọc tệp hai lần, theo từng đoạn, và ghi tập lệnh trong lúc đọc. Bản dump nhiều gigabyte vẫn chuyển đổi được trong trình duyệt, trong ứng dụng máy tính và bằng dòng lệnh.

Bản dump có thể đến từ những phiên bản MariaDB nào?

Bản dump từ mariadb-dump và mysqldump trên MariaDB 10.3 đến 12, với một INSERT mỗi bảng hoặc một INSERT mỗi hàng. Mọi bản dump thử nghiệm đến từ MariaDB 10.11, 11.4 và 11.8 và được so với nguồn từng ô một.

Cột UUID, INET6, JSON và VECTOR có được giữ không?

Chúng giữ nguyên, kể cả VECTOR, vốn cần MariaDB 11.7 trở lên. JSON vẫn là JSON, cùng với kiểm tra tính hợp lệ của nó.

Giá trị AUTO_INCREMENT và sequence có được giữ không?

Có. AUTO_INCREMENT và sequence giữ nguyên, và giá trị mặc định lấy từ một sequence tiếp tục lấy từ nó.

Còn thủ tục lưu trữ và trình kích hoạt thì sao?

Chúng được liệt kê theo tên trong báo cáo và không được chuyển đổi, để bạn kiểm tra từng cái với MariaDB mà bạn nạp vào trước khi tạo lại.

Tập lệnh nạp được trên những phiên bản MariaDB nào?

MariaDB 10.11 trở lên, bất kể phiên bản nào đã ghi bản dump. Mọi bản dump thử nghiệm đều nạp được trên 10.11 và 11.4.