Langsung ke konten
Beranda IntoSQL

Konversi MariaDB ke MySQL

Letakkan dump dari mariadb-dump, mysqldump, phpMyAdmin, atau Adminer, sebagai .sql atau .sql.gz, lalu unduh skrip MySQL dengan tabel, kunci, indeks, dan data yang sama. Setiap nilai yang tidak bisa disimpan MySQL apa adanya, dan setiap objek yang tidak didukungnya, dicantumkan di laporan.

File Anda
sqlshop_2024_mariadb.sqlFile contoh, 6,6 kB
Database Anda

18 baris dikonversi, 4 perbaikan, tidak ada yang ditolak

Tampilkan

Tabel di shop_2024_mariadb.sqlDump MariaDB 11.8.9-MariaDB-ubu2404 · ditulis oleh mariadb-dump · utf8mb4

  • customers8 baris2
    8 kolom
    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_ipvarchar(39)
  • orders10 baris2
    12 kolom
    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_refchar(36) not null
    invoiceint(11) not null
    detailsjson
    updated_attimestamp not null
-- Written by IntoSQL from a MySQL dump. Load it with: mysql --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 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` varchar(39) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_email` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=1001 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_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` char(36) NOT NULL,
  `invoice` int(11) NOT NULL,
  `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_unicode_520_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;

Perbaikan

  1. customers memakai collation utf8mb4_uca1400_ai_ci, yang tidak ada di MySQL, jadi memakai utf8mb4_unicode_520_ci; urutan dan perbandingan teks bisa sedikit berbeda.
  2. "last_ip" di customers adalah inet6, yang tidak ada di MySQL, jadi menjadi varchar(39) dengan nilai yang sama.
  3. orders memakai collation utf8mb4_uca1400_ai_ci, yang tidak ada di MySQL, jadi memakai utf8mb4_unicode_520_ci; urutan dan perbandingan teks bisa sedikit berbeda.
  4. "order_ref" di orders adalah uuid, yang tidak ada di MySQL, jadi menjadi char(36) dengan nilai yang sama.

Perlu diperiksa

  • 1 sequence tidak dibuat; MySQL tidak punya sequence. Simpan nilai berikutnya di sebuah tabel jika aplikasi Anda memerlukannya.
  • Default "invoice" di orders tidak bisa ditulis untuk MySQL (a sequence), jadi kolom itu tanpa default. Tambahkan default secara manual jika baris baru memerlukannya.

File Anda dikonversi di komputer ini dan tidak pernah diunggah.

Contoh lain:

Yang berubah dari MariaDB ke MySQL

Setiap baris adalah aturan yang diterapkan konverter, beserta baris laporan yang ditulisnya saat aturan itu mengubah sesuatu di data Anda.

  • utf8mb4_0900_* and utf8mb4_uca1400_* collations

    utf8mb4_unicode_520_ci (utf8mb4_bin untuk yang biner)

    MySQL tidak mengenal collation yang lebih baru, galat yang membuat sebagian besar dump MySQL 8 gagal dimuat di tempat lain. unicode_520 paling dekat mengikuti aturan Unicode yang sama.

    Baris laporan: collation_replaced

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

    dipertahankan

    Skrip dimuat dengan ALLOW_INVALID_DATES dan tanpa NO_ZERO_DATE, jadi MySQL mempertahankan nilai yang sama seperti di sumber.

  • TIME

    TIME, termasuk durasi

    Tipe yang sama, dengan rentang yang sama.

  • TINYINT(1), BOOL

    TINYINT(1)

    Tipe yang sama dengan nilai yang sama.

  • UNSIGNED and ZEROFILL

    dipertahankan

    Tipe yang sama.

  • ENUM and SET, the '' error value included

    dipertahankan

    Tipe yang sama; skrip dimuat tanpa strict mode, jadi nilai galat dimuat apa adanya.

  • JSON

    JSON

    MySQL membaca teks JSON yang sama.

  • NUL bytes in text

    dipertahankan

    Nilainya disalin dengan escape yang sama seperti di sumber.

  • AUTO_INCREMENT

    AUTO_INCREMENT dengan penghitung tabel

    Penghitung berlanjut dari posisi terakhir di sumber, termasuk penghitung per grup MyISAM.

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

    indeks pada kolom dan satu penghitung untuk tabel

    InnoDB hanya menghitung kolom yang berada di awal indeks, dan sekali untuk seluruh tabel.

    Baris laporan: myisam_group_autoincrement

  • ON UPDATE CURRENT_TIMESTAMP

    dipertahankan

    Klausa yang sama, dengan pecahan detik kolom.

  • generated columns

    VIRTUAL atau STORED seperti di sumber

    Rumus yang sama, diterjemahkan istilah demi istilah.

  • generated columns with functions IntoSQL doesn't read

    kolom biasa

    Rumus yang tidak bisa dibaca IntoSQL menyisakan kolom biasa dan satu baris laporan.

    Baris laporan: generated_not_translated

  • INVISIBLE columns

    kolom biasa

    MySQL punya kolom tak terlihat sejak 8.0.23, MariaDB sejak 10.3.

    Baris laporan: invisible_column

  • CHECK constraints

    dipertahankan (MySQL 5.7 mem-parsing dan mengabaikannya)

    CHECK yang sama, diterjemahkan istilah demi istilah.

  • CHECK constraints with functions IntoSQL doesn't read

    tidak dibuat

    CHECK yang tidak bisa dibaca IntoSQL dihilangkan dan dilaporkan.

    Baris laporan: check_skipped

  • CHECK ... NOT ENFORCED

    tidak dibuat

    MySQL 5.7 dan MariaDB tidak bisa menyimpan CHECK tanpa menerapkannya, dan baris bisa melanggarnya.

    Baris laporan: check_not_enforced

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

    tanpa default

    MySQL menerimanya sejak 8.0.13; skrip dimuat di 5.7, jadi dihilangkan dan dilaporkan. MariaDB menerimanya.

    Baris laporan: default_not_translated

  • functional indexes, KEY ((expr))

    tidak dibuat

    MySQL mengindeks ekspresi sejak 8.0.13 dan MariaDB sama sekali tidak; kolom generated dengan indeks memberi hasil yang sama.

    Baris laporan: index_skipped

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

    dipertahankan

    Indeks yang sama.

  • FULLTEXT indexes

    dipertahankan

    Indeks yang sama; MATCH ... AGAINST berjalan seperti sebelumnya.

  • SPATIAL indexes

    dipertahankan

    Indeks yang sama.

  • foreign keys

    dipertahankan, dimuat dengan FOREIGN_KEY_CHECKS=0

    Key yang sama; baris dimuat seperti dari dump sumber.

  • GEOMETRY, POINT, POLYGON...

    dipertahankan, dengan SRID setiap nilai

    Byte geometri milik server disalin, termasuk SRID.

  • INET4, INET6, UUID (MariaDB)

    varchar(15), varchar(39), char(36)

    MySQL tidak punya tipe ini; teks yang ditulis MariaDB untuknya dipertahankan.

    Baris laporan: type_replaced

  • BINARY, VARBINARY, BLOB

    dipertahankan

    Byte tetap byte.

  • PARTITION BY

    satu tabel

    Barisnya sama; partisi ulang tabel jika diperlukan.

    Baris laporan: partitions_dropped

  • WITH SYSTEM VERSIONING (MariaDB)

    tabel dengan baris saat ini

    Dump hanya berisi baris saat ini; MySQL tidak punya system versioning.

    Baris laporan: system_versioning_dropped

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

    InnoDB

    MySQL tidak punya engine ini. Engine lainnya dipertahankan.

    Baris laporan: engine_dropped

  • CREATE SEQUENCE (MariaDB)

    tidak dibuat

    MySQL tidak punya sequence.

    Baris laporan: sequence_not_converted

  • views, triggers, procedures, functions and events

    dicantumkan di laporan

    Dicantumkan agar Anda bisa membuatnya ulang; kodenya sering menyebut definer dan fitur server.

    Baris laporan: not_converted_objects

  • NOT NULL columns with values that become NULL

    NOT NULL dihapus

    Kolom yang nilainya harus menjadi NULL tidak bisa mempertahankan NOT NULL, atau pemuatan akan berhenti.

    Baris laporan: not_null_relaxed

  • text that isn't valid in its character set

    byte yang rusak menjadi karakter pengganti

    Skrip berformat UTF-8; byte yang bukan UTF-8 akan menghentikan pemuatan.

    Baris laporan: invalid_utf8_replaced

  • text decoded twice (ñ)

    disalin apa adanya

    Dump berisi persis karakter ini, jadi karakter itu disalin; laporan menunjukkannya.

    Baris laporan: mojibake_suspected

  • dumps without CREATE TABLE

    tipe dibaca dari nilai

    Dump yang dibuat dengan --no-create-info hanya berisi baris, jadi tipenya diambil dari nilai.

    Baris laporan: no_schema

  • geometries in a dump without CREATE TABLE

    GEOMETRY

    Format geometri MySQL dikenali dari nilainya.

  • SET NAMES utf8 from utf8mb4 tables

    dikonversi, dengan peringatan

    mysqldump di MySQL 5.x secara default menulis utf8 3 byte dan mengganti setiap emoji dengan tanda tanya sebelum konverter mana pun melihat file itu.

    Baris laporan: dump_lost_four_byte_chars

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

    dibaca sebagai Latin-1 (Windows-1252)

    latin1 di MySQL adalah Windows-1252, pengodean yang biasa dipakai dump semacam itu.

    Baris laporan: charset_guessed

  • sjis, cp932, gbk, big5 dumps

    dibaca sebagai UTF-8, dengan peringatan

    Pengodean ini belum didekode.

    Baris laporan: unsupported_charset

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

    dievaluasi

    Beberapa alat dump menulis nilai sebagai panggilan ini; panggilan itu dibaca sebagai nilai yang dihasilkannya.

  • other expressions in rows

    NULL

    Konverter yang tidak menjalankan database tidak bisa mengevaluasinya.

    Baris laporan: expression_value

  • DEFAULT in VALUES

    nilai default kolom

    Default literal disalin ke baris.

    Baris laporan: default_keyword_filled

  • DEFAULT in VALUES without a literal default

    NULL

    Tidak ada nilai untuk disalin.

    Baris laporan: default_keyword_null

  • REPLACE and INSERT IGNORE

    baris biasa

    Dump punya satu baris per kunci, jadi barisnya sama.

    Baris laporan: replace_as_insert

  • types IntoSQL doesn't know

    LONGBLOB

    Blob memuat byte nilai apa pun; ubah tipenya setelah pemuatan.

    Baris laporan: unknown_type

  • values that don't fit their column

    NULL

    Dump yang rusak atau ditulis manual bisa berisi nilai yang tidak muat di kolomnya; nilai itu menjadi NULL agar sisanya tetap dimuat.

    Baris laporan: invalid_value_null

  • unreadable geometries

    NULL

    Byte yang bukan geometri tidak bisa disimpan sebagai geometri.

    Baris laporan: bad_geometry

  • TIMESTAMP

    dipertahankan, dimuat dalam zona waktu yang disebutkan dump

    Skrip mengatur zona waktu yang sama seperti dump, jadi setiap momen tetap sama.

  • VECTOR(n) (MariaDB 11.7+)

    json dengan float sebagai array

    MySQL 5.7 dan 8.0 tidak punya tipe vektor; array JSON mempertahankan setiap float di setiap versi.

    Baris laporan: type_replaced

Di MariaDBDi MySQLBaris laporan
utf8mb4_0900_* and utf8mb4_uca1400_* collationsutf8mb4_unicode_520_ci (utf8mb4_bin untuk yang biner)MySQL tidak mengenal collation yang lebih baru, galat yang membuat sebagian besar dump MySQL 8 gagal dimuat di tempat lain. unicode_520 paling dekat mengikuti aturan Unicode yang sama.collation_replaced
zero, partial or impossible dates (0000-00-00, 2024-02-30)dipertahankanSkrip dimuat dengan ALLOW_INVALID_DATES dan tanpa NO_ZERO_DATE, jadi MySQL mempertahankan nilai yang sama seperti di sumber.
TIMETIME, termasuk durasiTipe yang sama, dengan rentang yang sama.
TINYINT(1), BOOLTINYINT(1)Tipe yang sama dengan nilai yang sama.
UNSIGNED and ZEROFILLdipertahankanTipe yang sama.
ENUM and SET, the '' error value includeddipertahankanTipe yang sama; skrip dimuat tanpa strict mode, jadi nilai galat dimuat apa adanya.
JSONJSONMySQL membaca teks JSON yang sama.
NUL bytes in textdipertahankanNilainya disalin dengan escape yang sama seperti di sumber.
AUTO_INCREMENTAUTO_INCREMENT dengan penghitung tabelPenghitung berlanjut dari posisi terakhir di sumber, termasuk penghitung per grup MyISAM.
MyISAM AUTO_INCREMENT on the second column of a key, in a table that isn't MyISAM in the dumpindeks pada kolom dan satu penghitung untuk tabelInnoDB hanya menghitung kolom yang berada di awal indeks, dan sekali untuk seluruh tabel.myisam_group_autoincrement
ON UPDATE CURRENT_TIMESTAMPdipertahankanKlausa yang sama, dengan pecahan detik kolom.
generated columnsVIRTUAL atau STORED seperti di sumberRumus yang sama, diterjemahkan istilah demi istilah.
generated columns with functions IntoSQL doesn't readkolom biasaRumus yang tidak bisa dibaca IntoSQL menyisakan kolom biasa dan satu baris laporan.generated_not_translated
INVISIBLE columnskolom biasaMySQL punya kolom tak terlihat sejak 8.0.23, MariaDB sejak 10.3.invisible_column
CHECK constraintsdipertahankan (MySQL 5.7 mem-parsing dan mengabaikannya)CHECK yang sama, diterjemahkan istilah demi istilah.
CHECK constraints with functions IntoSQL doesn't readtidak dibuatCHECK yang tidak bisa dibaca IntoSQL dihilangkan dan dilaporkan.check_skipped
CHECK ... NOT ENFORCEDtidak dibuatMySQL 5.7 dan MariaDB tidak bisa menyimpan CHECK tanpa menerapkannya, dan baris bisa melanggarnya.check_not_enforced
expression defaults, and defaults on TEXT, BLOB, JSON and GEOMETRYtanpa defaultMySQL menerimanya sejak 8.0.13; skrip dimuat di 5.7, jadi dihilangkan dan dilaporkan. MariaDB menerimanya.default_not_translated
functional indexes, KEY ((expr))tidak dibuatMySQL mengindeks ekspresi sejak 8.0.13 dan MariaDB sama sekali tidak; kolom generated dengan indeks memberi hasil yang sama.index_skipped
keys and indexes on a prefix, c(20)dipertahankanIndeks yang sama.
FULLTEXT indexesdipertahankanIndeks yang sama; MATCH ... AGAINST berjalan seperti sebelumnya.
SPATIAL indexesdipertahankanIndeks yang sama.
foreign keysdipertahankan, dimuat dengan FOREIGN_KEY_CHECKS=0Key yang sama; baris dimuat seperti dari dump sumber.
GEOMETRY, POINT, POLYGON...dipertahankan, dengan SRID setiap nilaiByte geometri milik server disalin, termasuk SRID.
INET4, INET6, UUID (MariaDB)varchar(15), varchar(39), char(36)MySQL tidak punya tipe ini; teks yang ditulis MariaDB untuknya dipertahankan.type_replaced
BINARY, VARBINARY, BLOBdipertahankanByte tetap byte.
PARTITION BYsatu tabelBarisnya sama; partisi ulang tabel jika diperlukan.partitions_dropped
WITH SYSTEM VERSIONING (MariaDB)tabel dengan baris saat iniDump hanya berisi baris saat ini; MySQL tidak punya system versioning.system_versioning_dropped
Aria, ColumnStore, CONNECT, Spider, RocksDB (MariaDB)InnoDBMySQL tidak punya engine ini. Engine lainnya dipertahankan.engine_dropped
CREATE SEQUENCE (MariaDB)tidak dibuatMySQL tidak punya sequence.sequence_not_converted
views, triggers, procedures, functions and eventsdicantumkan di laporanDicantumkan agar Anda bisa membuatnya ulang; kodenya sering menyebut definer dan fitur server.not_converted_objects
NOT NULL columns with values that become NULLNOT NULL dihapusKolom yang nilainya harus menjadi NULL tidak bisa mempertahankan NOT NULL, atau pemuatan akan berhenti.not_null_relaxed
text that isn't valid in its character setbyte yang rusak menjadi karakter penggantiSkrip berformat UTF-8; byte yang bukan UTF-8 akan menghentikan pemuatan.invalid_utf8_replaced
text decoded twice (ñ)disalin apa adanyaDump berisi persis karakter ini, jadi karakter itu disalin; laporan menunjukkannya.mojibake_suspected
dumps without CREATE TABLEtipe dibaca dari nilaiDump yang dibuat dengan --no-create-info hanya berisi baris, jadi tipenya diambil dari nilai.no_schema
geometries in a dump without CREATE TABLEGEOMETRYFormat geometri MySQL dikenali dari nilainya.
SET NAMES utf8 from utf8mb4 tablesdikonversi, dengan peringatanmysqldump di MySQL 5.x secara default menulis utf8 3 byte dan mengganti setiap emoji dengan tanda tanya sebelum konverter mana pun melihat file itu.dump_lost_four_byte_chars
dumps without SET NAMES whose text isn't UTF-8dibaca sebagai Latin-1 (Windows-1252)latin1 di MySQL adalah Windows-1252, pengodean yang biasa dipakai dump semacam itu.charset_guessed
sjis, cp932, gbk, big5 dumpsdibaca sebagai UTF-8, dengan peringatanPengodean ini belum didekode.unsupported_charset
UNHEX('..'), CONVERT(b'..', UNSIGNED), CONVERT(".." USING x), ST_GeomFromText('..') in rowsdievaluasiBeberapa alat dump menulis nilai sebagai panggilan ini; panggilan itu dibaca sebagai nilai yang dihasilkannya.
other expressions in rowsNULLKonverter yang tidak menjalankan database tidak bisa mengevaluasinya.expression_value
DEFAULT in VALUESnilai default kolomDefault literal disalin ke baris.default_keyword_filled
DEFAULT in VALUES without a literal defaultNULLTidak ada nilai untuk disalin.default_keyword_null
REPLACE and INSERT IGNOREbaris biasaDump punya satu baris per kunci, jadi barisnya sama.replace_as_insert
types IntoSQL doesn't knowLONGBLOBBlob memuat byte nilai apa pun; ubah tipenya setelah pemuatan.unknown_type
values that don't fit their columnNULLDump yang rusak atau ditulis manual bisa berisi nilai yang tidak muat di kolomnya; nilai itu menjadi NULL agar sisanya tetap dimuat.invalid_value_null
unreadable geometriesNULLByte yang bukan geometri tidak bisa disimpan sebagai geometri.bad_geometry
TIMESTAMPdipertahankan, dimuat dalam zona waktu yang disebutkan dumpSkrip mengatur zona waktu yang sama seperti dump, jadi setiap momen tetap sama.
VECTOR(n) (MariaDB 11.7+)json dengan float sebagai arrayMySQL 5.7 dan 8.0 tidak punya tipe vektor; array JSON mempertahankan setiap float di setiap versi.type_replaced

Muat skrip ke MySQL

Skrip membuat tabel, menyalin baris, lalu menambahkan kunci, indeks, dan foreign key, jadi pemuatan berjalan cepat dan berhenti di galat pertama.

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

Foreign key dibuat seperti yang dideklarasikan dump, dengan FOREIGN_KEY_CHECKS=0 selama baris dimuat, jadi baris yang merujuk ke baris yang tidak ada tidak menghentikan pemuatan.

Untuk dump yang besar, jalankan klien di mesin yang sama dengan server, dan naikkan max_allowed_packet jika satu baris sangat besar.

IntoSQL Pro memuat file langsung ke MySQL dari aplikasi desktop atau command line, tanpa menulis skrip.

Buat dump MariaDB untuk hasil terbaik

Konverter membaca apa yang ada di dump. Opsi berikut membuat lebih banyak data Anda tetap ada di dalamnya:

  • --default-character-set=utf8mb4 mempertahankan emoji dan karakter 4 byte lainnya, yang hilang di dump utf8mb3 sebelum konverter melihatnya.
  • --hex-blob menulis kolom biner dan nilai VECTOR sebagai heksadesimal, yang tetap utuh saat disalin antarsistem.
  • --routines --triggers --events menambahkan objek-objek itu ke dump, sehingga laporan bisa mencantumkannya.

Yang tidak dikonversi

View, trigger, stored procedure, fungsi, dan event ditulis dalam bahasa MariaDB sendiri. Semuanya dicantumkan di laporan berdasarkan nama, tidak pernah dibuang diam-diam, sehingga Anda bisa menulis ulang untuk MySQL.

Pertanyaan tentang MariaDB ke MySQL

Tidak terjawab di sini? Tulis ke kami dari halaman kontak, dan seseorang akan membalas. Halaman kontak

Apakah dump saya diunggah?

Tidak. Konverter berjalan di browser Anda dan membaca dump dari disk Anda sepotong demi sepotong, jadi dump tidak pernah meninggalkan komputer Anda. Aplikasi desktop dan command line juga mengonversi di komputer Anda.

Seberapa besar dump yang bisa dipakai?

Konverter tidak pernah menyimpan seluruh dump di memori: file dibaca dua kali, per rentang, dan skrip ditulis sambil berjalan. Dump berukuran beberapa gigabyte bisa dikonversi di browser, di aplikasi desktop, dan dengan command line.

Dump dari versi MariaDB mana yang bisa dipakai?

Dump dari mariadb-dump dan mysqldump di MariaDB 10.3 sampai 12, dengan satu INSERT per tabel atau satu per baris. Setiap dump uji berasal dari MariaDB 10.11, 11.4, dan 11.8 dan dibandingkan dengan sumbernya sel demi sel.

Apakah kolom UUID, INET6, JSON, dan VECTOR dipertahankan?

UUID menjadi char(36), INET4 dan INET6 menjadi varchar, JSON menjadi json, dan VECTOR menjadi array json berisi float-nya, karena MySQL 5.7 dan 8.0 tidak punya tipe tersebut.

Apakah nilai AUTO_INCREMENT dan sequence dipertahankan?

AUTO_INCREMENT tetap apa adanya dan berlanjut dari posisi terakhir di dump. MySQL tidak punya sequence, jadi sequence dan default yang mengambil nilai darinya dicantumkan di laporan.

Bagaimana dengan stored procedure dan trigger?

Semuanya dicantumkan di laporan berdasarkan nama dan tidak dikonversi, jadi Anda bisa memeriksa masing-masing dengan MySQL sebelum membuatnya ulang.

Di versi MySQL mana skrip bisa dimuat?

MySQL 5.7 dan yang lebih baru. Setiap dump uji dimuat di 5.7 dan 9, dan berhenti di galat pertama jika ada yang salah.