İçeriğe geç
IntoSQL ana sayfası

MariaDB - MySQL dönüştürme

mariadb-dump, mysqldump, phpMyAdmin veya Adminer ile alınmış bir dökümü .sql veya .sql.gz olarak bırakın ve aynı tablolar, anahtarlar, indeksler ve verilerle bir MySQL betiği indirin. MySQL'in olduğu gibi tutamadığı her değer ve taşımadığı her nesne raporda listelenir.

Dosyanız
sqlshop_2024_mariadb.sqlÖrnek dosya, 6,6 kB
Veritabanınız

18 satır dönüştürüldü, 4 düzeltme, reddedilen yok

Göster

shop_2024_mariadb.sql içindeki tablolarMariaDB 11.8.9-MariaDB-ubu2404 dökümü · mariadb-dump ile yazıldı · utf8mb4

  • customers8 satır2
    8 sütun
    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 satır2
    12 sütun
    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;

Düzeltmeler

  1. customers, MySQL içinde olmayan utf8mb4_uca1400_ai_ci harmanlamasını kullanıyor, bu yüzden utf8mb4_unicode_520_ci kullanır; metin biraz farklı sıralanıp karşılaştırılabilir.
  2. customers tablosunun "last_ip" sütunu inet6; MySQL içinde bu tür yok, bu yüzden aynı değerlerle varchar(39) olur.
  3. orders, MySQL içinde olmayan utf8mb4_uca1400_ai_ci harmanlamasını kullanıyor, bu yüzden utf8mb4_unicode_520_ci kullanır; metin biraz farklı sıralanıp karşılaştırılabilir.
  4. orders tablosunun "order_ref" sütunu uuid; MySQL içinde bu tür yok, bu yüzden aynı değerlerle char(36) olur.

Kontrol edilmeli

  • 1 sequence oluşturulmadı; MySQL içinde sequence yoktur. Uygulamanız ihtiyaç duyuyorsa sonraki değeri bir tabloda tutun.
  • orders tablosundaki "invoice" sütununun varsayılan değeri MySQL için yazılamıyor (a sequence); bu yüzden sütunun varsayılan değeri yok. Yeni satırlar gerektiriyorsa varsayılan değeri elle ekleyin.

Dosyan bu bilgisayarda dönüştürülür ve asla yüklenmez.

Diğer örnekler:

MariaDB ile MySQL arasında neler değişir

Her satır, dönüştürücünün uyguladığı bir kuraldır; yanında, kural verilerinizde bir şeyi değiştirdiğinde yazılan rapor satırı yer alır.

  • utf8mb4_0900_* and utf8mb4_uca1400_* collations

    utf8mb4_unicode_520_ci (ikili olanlar için utf8mb4_bin)

    MySQL yeni harmanlamaları tanımaz; çoğu MySQL 8 dökümünün başka yerde yüklenmesini durduran hata budur. unicode_520 aynı Unicode kurallarını en yakın şekilde izler.

    Rapor satırı: collation_replaced

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

    korunur

    Betik ALLOW_INVALID_DATES ile ve NO_ZERO_DATE olmadan yüklenir; böylece MySQL kaynaktaki değerlerin aynısını korur.

  • TIME

    süreler dahil TIME

    Aynı tür, aynı aralıkla.

  • TINYINT(1), BOOL

    TINYINT(1)

    Aynı değerlerle aynı tür.

  • UNSIGNED and ZEROFILL

    korunur

    Aynı türler.

  • ENUM and SET, the '' error value included

    korunur

    Aynı türler; betik katı mod olmadan yüklenir, bu yüzden hata değeri olduğu gibi yüklenir.

  • JSON

    JSON

    MySQL aynı JSON metnini okur.

  • NUL bytes in text

    korunur

    Değer, kaynağın kullandığı kaçış dizisiyle kopyalanır.

  • AUTO_INCREMENT

    tablonun sayacıyla AUTO_INCREMENT

    Sayaç, MyISAM'in grup başına sayaçları dahil, kaynağın bıraktığı yerden devam eder.

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

    sütun üzerinde bir indeks ve tablo için tek sayaç

    InnoDB bir sütunu yalnızca bir indeksin başındaysa ve tüm tablo için bir kez sayar.

    Rapor satırı: myisam_group_autoincrement

  • ON UPDATE CURRENT_TIMESTAMP

    korunur

    Sütunun saniye kesirleriyle aynı ifade.

  • generated columns

    kaynaktaki gibi VIRTUAL veya STORED

    Aynı formül, terim terim çevrilir.

  • generated columns with functions IntoSQL doesn't read

    düz bir sütun

    IntoSQL'in okuyamadığı bir formül, düz bir sütun ve bir rapor satırı bırakır.

    Rapor satırı: generated_not_translated

  • INVISIBLE columns

    normal sütunlar

    MySQL'de görünmez sütunlar 8.0.23'ten, MariaDB'de 10.3'ten beri vardır.

    Rapor satırı: invisible_column

  • CHECK constraints

    korunur (MySQL 5.7 bunları ayrıştırır ve yok sayar)

    Aynı CHECK kısıtları, terim terim çevrilir.

  • CHECK constraints with functions IntoSQL doesn't read

    oluşturulmaz

    IntoSQL'in okuyamadığı bir CHECK kısıtı dışarıda bırakılır ve raporlanır.

    Rapor satırı: check_skipped

  • CHECK ... NOT ENFORCED

    oluşturulmaz

    MySQL 5.7 ve MariaDB bir CHECK kısıtını uygulamadan tutamaz ve satırlar onu ihlal edebilir.

    Rapor satırı: check_not_enforced

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

    varsayılan değer yok

    MySQL bunları 8.0.13'ten beri kabul eder; betik 5.7 üzerinde yüklenir, bu yüzden dışarıda bırakılır ve raporlanır. MariaDB bunları kabul eder.

    Rapor satırı: default_not_translated

  • functional indexes, KEY ((expr))

    oluşturulmaz

    MySQL ifadeleri 8.0.13'ten beri indeksler, MariaDB hiç indekslemez; indeksli bir üretilen sütun aynı işi görür.

    Rapor satırı: index_skipped

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

    korunur

    Aynı indeks.

  • FULLTEXT indexes

    korunur

    Aynı indeks; MATCH ... AGAINST eskisi gibi çalışır.

  • SPATIAL indexes

    korunur

    Aynı indeks.

  • foreign keys

    korunur, FOREIGN_KEY_CHECKS=0 ile yüklenir

    Aynı anahtarlar; satırlar kaynak dökümdeki gibi yüklenir.

  • GEOMETRY, POINT, POLYGON...

    korunur, her değerin SRID'siyle

    Sunucunun kendi geometri baytları SRID dahil kopyalanır.

  • INET4, INET6, UUID (MariaDB)

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

    MySQL'de bu türler yoktur; MariaDB'nin bunlar için yazdığı metin korunur.

    Rapor satırı: type_replaced

  • BINARY, VARBINARY, BLOB

    korunur

    Baytlar bayt olarak kalır.

  • PARTITION BY

    tek tablo

    Satırlar aynıdır; gerekiyorsa tabloyu yeniden bölümleyin.

    Rapor satırı: partitions_dropped

  • WITH SYSTEM VERSIONING (MariaDB)

    mevcut satırları içeren bir tablo

    Döküm yalnızca mevcut satırları içerir; MySQL'de sistem sürümlemesi yoktur.

    Rapor satırı: system_versioning_dropped

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

    InnoDB

    MySQL'de bu motorların hiçbiri yoktur. Diğer tüm motorlar korunur.

    Rapor satırı: engine_dropped

  • CREATE SEQUENCE (MariaDB)

    oluşturulmaz

    MySQL'de sequence yoktur.

    Rapor satırı: sequence_not_converted

  • views, triggers, procedures, functions and events

    raporda listelenir

    Yeniden oluşturmanız için listelenirler; kodları çoğu zaman tanımlayıcı kullanıcıyı ve sunucu özelliklerini anar.

    Rapor satırı: not_converted_objects

  • NOT NULL columns with values that become NULL

    NOT NULL kaldırılır

    Değerleri NULL olmak zorunda kalan bir sütun NOT NULL kısıtını koruyamaz, yoksa yükleme durur.

    Rapor satırı: not_null_relaxed

  • text that isn't valid in its character set

    hatalı baytlar yerine koyma karakteri olarak

    Betik UTF-8'dir; UTF-8 olmayan baytlar yüklemeyi durdururdu.

    Rapor satırı: invalid_utf8_replaced

  • text decoded twice (ñ)

    olduğu gibi kopyalanır

    Döküm tam olarak bu karakterleri içerir, bu yüzden kopyalanırlar; rapor onları gösterir.

    Rapor satırı: mojibake_suspected

  • dumps without CREATE TABLE

    değerlerden okunan türler

    --no-create-info ile alınan bir dökümde yalnızca satırlar vardır, bu yüzden türler değerlerden gelir.

    Rapor satırı: no_schema

  • geometries in a dump without CREATE TABLE

    GEOMETRY

    MySQL'in geometri biçimi değerlerden tanınır.

  • SET NAMES utf8 from utf8mb4 tables

    dönüştürülür, uyarıyla

    MySQL 5.x mysqldump varsayılan olarak 3 baytlık utf8 yazar ve herhangi bir dönüştürücü dosyayı görmeden önce her emojiyi soru işaretiyle değiştirir.

    Rapor satırı: dump_lost_four_byte_chars

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

    Latin-1 (Windows-1252) olarak okunur

    MySQL'in latin1 kodlaması Windows-1252'dir; bu tür dökümlerin olağan kodlamasıdır.

    Rapor satırı: charset_guessed

  • sjis, cp932, gbk, big5 dumps

    uyarıyla UTF-8 olarak okunur

    Bu kodlamalar henüz çözülmüyor.

    Rapor satırı: unsupported_charset

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

    hesaplanır

    Bazı döküm araçları değerleri bu çağrılar olarak yazar; bunlar ürettikleri değerler olarak okunur.

  • other expressions in rows

    NULL

    Veritabanı çalıştırmayan bir dönüştürücü bunları hesaplayamaz.

    Rapor satırı: expression_value

  • DEFAULT in VALUES

    sütunun varsayılan değeri

    Sabit bir varsayılan değer satıra kopyalanır.

    Rapor satırı: default_keyword_filled

  • DEFAULT in VALUES without a literal default

    NULL

    Kopyalanacak bir değer yok.

    Rapor satırı: default_keyword_null

  • REPLACE and INSERT IGNORE

    düz satırlar

    Bir dökümde her anahtar için bir satır vardır, bu yüzden satırlar aynıdır.

    Rapor satırı: replace_as_insert

  • types IntoSQL doesn't know

    LONGBLOB

    Bir blob her değerin baytlarını tutar; yüklemeden sonra türü değiştirin.

    Rapor satırı: unknown_type

  • values that don't fit their column

    NULL

    Hasarlı veya elle yazılmış bir döküm, sütununun tutamayacağı değerler içerebilir; geri kalanın yüklenmesi için bunlar NULL olur.

    Rapor satırı: invalid_value_null

  • unreadable geometries

    NULL

    Geometri olmayan baytlar geometri olarak saklanamaz.

    Rapor satırı: bad_geometry

  • TIMESTAMP

    korunur, dökümün belirttiği saat diliminde yüklenir

    Betik dökümle aynı saat dilimini ayarlar, böylece her an aynı kalır.

  • VECTOR(n) (MariaDB 11.7+)

    float'ları dizi olarak tutan json

    MySQL 5.7 ve 8.0'da vektör türü yoktur; bir JSON dizisi her sürümde her float'ı korur.

    Rapor satırı: type_replaced

MariaDB içindeMySQL içindeRapor satırı
utf8mb4_0900_* and utf8mb4_uca1400_* collationsutf8mb4_unicode_520_ci (ikili olanlar için utf8mb4_bin)MySQL yeni harmanlamaları tanımaz; çoğu MySQL 8 dökümünün başka yerde yüklenmesini durduran hata budur. unicode_520 aynı Unicode kurallarını en yakın şekilde izler.collation_replaced
zero, partial or impossible dates (0000-00-00, 2024-02-30)korunurBetik ALLOW_INVALID_DATES ile ve NO_ZERO_DATE olmadan yüklenir; böylece MySQL kaynaktaki değerlerin aynısını korur.
TIMEsüreler dahil TIMEAynı tür, aynı aralıkla.
TINYINT(1), BOOLTINYINT(1)Aynı değerlerle aynı tür.
UNSIGNED and ZEROFILLkorunurAynı türler.
ENUM and SET, the '' error value includedkorunurAynı türler; betik katı mod olmadan yüklenir, bu yüzden hata değeri olduğu gibi yüklenir.
JSONJSONMySQL aynı JSON metnini okur.
NUL bytes in textkorunurDeğer, kaynağın kullandığı kaçış dizisiyle kopyalanır.
AUTO_INCREMENTtablonun sayacıyla AUTO_INCREMENTSayaç, MyISAM'in grup başına sayaçları dahil, kaynağın bıraktığı yerden devam eder.
MyISAM AUTO_INCREMENT on the second column of a key, in a table that isn't MyISAM in the dumpsütun üzerinde bir indeks ve tablo için tek sayaçInnoDB bir sütunu yalnızca bir indeksin başındaysa ve tüm tablo için bir kez sayar.myisam_group_autoincrement
ON UPDATE CURRENT_TIMESTAMPkorunurSütunun saniye kesirleriyle aynı ifade.
generated columnskaynaktaki gibi VIRTUAL veya STOREDAynı formül, terim terim çevrilir.
generated columns with functions IntoSQL doesn't readdüz bir sütunIntoSQL'in okuyamadığı bir formül, düz bir sütun ve bir rapor satırı bırakır.generated_not_translated
INVISIBLE columnsnormal sütunlarMySQL'de görünmez sütunlar 8.0.23'ten, MariaDB'de 10.3'ten beri vardır.invisible_column
CHECK constraintskorunur (MySQL 5.7 bunları ayrıştırır ve yok sayar)Aynı CHECK kısıtları, terim terim çevrilir.
CHECK constraints with functions IntoSQL doesn't readoluşturulmazIntoSQL'in okuyamadığı bir CHECK kısıtı dışarıda bırakılır ve raporlanır.check_skipped
CHECK ... NOT ENFORCEDoluşturulmazMySQL 5.7 ve MariaDB bir CHECK kısıtını uygulamadan tutamaz ve satırlar onu ihlal edebilir.check_not_enforced
expression defaults, and defaults on TEXT, BLOB, JSON and GEOMETRYvarsayılan değer yokMySQL bunları 8.0.13'ten beri kabul eder; betik 5.7 üzerinde yüklenir, bu yüzden dışarıda bırakılır ve raporlanır. MariaDB bunları kabul eder.default_not_translated
functional indexes, KEY ((expr))oluşturulmazMySQL ifadeleri 8.0.13'ten beri indeksler, MariaDB hiç indekslemez; indeksli bir üretilen sütun aynı işi görür.index_skipped
keys and indexes on a prefix, c(20)korunurAynı indeks.
FULLTEXT indexeskorunurAynı indeks; MATCH ... AGAINST eskisi gibi çalışır.
SPATIAL indexeskorunurAynı indeks.
foreign keyskorunur, FOREIGN_KEY_CHECKS=0 ile yüklenirAynı anahtarlar; satırlar kaynak dökümdeki gibi yüklenir.
GEOMETRY, POINT, POLYGON...korunur, her değerin SRID'siyleSunucunun kendi geometri baytları SRID dahil kopyalanır.
INET4, INET6, UUID (MariaDB)varchar(15), varchar(39), char(36)MySQL'de bu türler yoktur; MariaDB'nin bunlar için yazdığı metin korunur.type_replaced
BINARY, VARBINARY, BLOBkorunurBaytlar bayt olarak kalır.
PARTITION BYtek tabloSatırlar aynıdır; gerekiyorsa tabloyu yeniden bölümleyin.partitions_dropped
WITH SYSTEM VERSIONING (MariaDB)mevcut satırları içeren bir tabloDöküm yalnızca mevcut satırları içerir; MySQL'de sistem sürümlemesi yoktur.system_versioning_dropped
Aria, ColumnStore, CONNECT, Spider, RocksDB (MariaDB)InnoDBMySQL'de bu motorların hiçbiri yoktur. Diğer tüm motorlar korunur.engine_dropped
CREATE SEQUENCE (MariaDB)oluşturulmazMySQL'de sequence yoktur.sequence_not_converted
views, triggers, procedures, functions and eventsraporda listelenirYeniden oluşturmanız için listelenirler; kodları çoğu zaman tanımlayıcı kullanıcıyı ve sunucu özelliklerini anar.not_converted_objects
NOT NULL columns with values that become NULLNOT NULL kaldırılırDeğerleri NULL olmak zorunda kalan bir sütun NOT NULL kısıtını koruyamaz, yoksa yükleme durur.not_null_relaxed
text that isn't valid in its character sethatalı baytlar yerine koyma karakteri olarakBetik UTF-8'dir; UTF-8 olmayan baytlar yüklemeyi durdururdu.invalid_utf8_replaced
text decoded twice (ñ)olduğu gibi kopyalanırDöküm tam olarak bu karakterleri içerir, bu yüzden kopyalanırlar; rapor onları gösterir.mojibake_suspected
dumps without CREATE TABLEdeğerlerden okunan türler--no-create-info ile alınan bir dökümde yalnızca satırlar vardır, bu yüzden türler değerlerden gelir.no_schema
geometries in a dump without CREATE TABLEGEOMETRYMySQL'in geometri biçimi değerlerden tanınır.
SET NAMES utf8 from utf8mb4 tablesdönüştürülür, uyarıylaMySQL 5.x mysqldump varsayılan olarak 3 baytlık utf8 yazar ve herhangi bir dönüştürücü dosyayı görmeden önce her emojiyi soru işaretiyle değiştirir.dump_lost_four_byte_chars
dumps without SET NAMES whose text isn't UTF-8Latin-1 (Windows-1252) olarak okunurMySQL'in latin1 kodlaması Windows-1252'dir; bu tür dökümlerin olağan kodlamasıdır.charset_guessed
sjis, cp932, gbk, big5 dumpsuyarıyla UTF-8 olarak okunurBu kodlamalar henüz çözülmüyor.unsupported_charset
UNHEX('..'), CONVERT(b'..', UNSIGNED), CONVERT(".." USING x), ST_GeomFromText('..') in rowshesaplanırBazı döküm araçları değerleri bu çağrılar olarak yazar; bunlar ürettikleri değerler olarak okunur.
other expressions in rowsNULLVeritabanı çalıştırmayan bir dönüştürücü bunları hesaplayamaz.expression_value
DEFAULT in VALUESsütunun varsayılan değeriSabit bir varsayılan değer satıra kopyalanır.default_keyword_filled
DEFAULT in VALUES without a literal defaultNULLKopyalanacak bir değer yok.default_keyword_null
REPLACE and INSERT IGNOREdüz satırlarBir dökümde her anahtar için bir satır vardır, bu yüzden satırlar aynıdır.replace_as_insert
types IntoSQL doesn't knowLONGBLOBBir blob her değerin baytlarını tutar; yüklemeden sonra türü değiştirin.unknown_type
values that don't fit their columnNULLHasarlı veya elle yazılmış bir döküm, sütununun tutamayacağı değerler içerebilir; geri kalanın yüklenmesi için bunlar NULL olur.invalid_value_null
unreadable geometriesNULLGeometri olmayan baytlar geometri olarak saklanamaz.bad_geometry
TIMESTAMPkorunur, dökümün belirttiği saat diliminde yüklenirBetik dökümle aynı saat dilimini ayarlar, böylece her an aynı kalır.
VECTOR(n) (MariaDB 11.7+)float'ları dizi olarak tutan jsonMySQL 5.7 ve 8.0'da vektör türü yoktur; bir JSON dizisi her sürümde her float'ı korur.type_replaced

Betiği MySQL veritabanına yükleyin

Betik tabloları oluşturur, satırları kopyalar, ardından anahtarları, indeksleri ve yabancı anahtarları ekler; böylece hızlı yüklenir ve ilk hatada durur.

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

Yabancı anahtarlar dökümün tanımladığı şekilde, satırlar yüklenirken FOREIGN_KEY_CHECKS=0 ile oluşturulur; böylece var olmayan bir satıra işaret eden bir satır yüklemeyi durdurmaz.

Büyük bir döküm için istemciyi sunucuyla aynı makinede çalıştırın ve tek bir satır çok büyükse max_allowed_packet değerini artırın.

IntoSQL Pro, dosyayı masaüstü uygulamasından veya komut satırından doğrudan MySQL veritabanına yükler; betik yazmanız gerekmez.

En iyi sonuç için MariaDB dökümü nasıl alınır

Dönüştürücü, dökümün içerdiğini okur. Bu seçenekler verilerinizin daha fazlasını dökümde tutar:

  • --default-character-set=utf8mb4 emoji ve diğer 4 baytlık karakterleri korur; utf8mb3 dökümü bunları dönüştürücü görmeden önce kaybeder.
  • --hex-blob ikili sütunları ve VECTOR değerlerini onaltılık olarak yazar; bu biçim sistemler arasında kopyalamada bozulmaz.
  • --routines --triggers --events bu nesneleri döküme ekler; böylece rapor onları listeleyebilir.

Neler dönüştürülmez

Görünümler, tetikleyiciler, saklı yordamlar, fonksiyonlar ve olaylar MariaDB'in kendi dilinde yazılır. Raporda adlarıyla listelenirler, asla sessizce atlanmazlar; böylece onları MySQL için yeniden yazabilirsiniz.

MariaDB - MySQL dönüştürme hakkında sorular

Yanıtınızı bulamadınız mı? İletişim sayfasından bize yazın, bir kişi yanıt verir. İletişim sayfası

Dökümüm yükleniyor mu?

Hayır. Dönüştürücü tarayıcınızda çalışır ve dökümü diskinizden parça parça okur; böylece döküm bilgisayarınızdan hiç çıkmaz. Masaüstü uygulaması ve komut satırı da bilgisayarınızda dönüştürür.

Döküm ne kadar büyük olabilir?

Dönüştürücü dökümün tamamını asla bellekte tutmaz: dosyayı aralıklar halinde iki kez okur ve betiği ilerledikçe yazar. Birkaç gigabaytlık dökümler tarayıcıda, masaüstü uygulamasında ve komut satırıyla dönüştürülür.

Döküm hangi MariaDB sürümlerinden gelebilir?

MariaDB 10.3 ile 12 arasında mariadb-dump ve mysqldump ile alınmış, tablo başına bir INSERT veya satır başına bir INSERT içeren dökümler. Her test dökümü MariaDB 10.11, 11.4 ve 11.8'den gelir ve kaynağıyla hücre hücre karşılaştırılır.

UUID, INET6, JSON ve VECTOR sütunları korunuyor mu?

MySQL 5.7 ve 8.0'da bu türler olmadığı için UUID char(36), INET4 ve INET6 varchar, JSON json, VECTOR ise float'larından oluşan bir json dizisi olur.

AUTO_INCREMENT değerleri ve sequence'lar korunuyor mu?

AUTO_INCREMENT olduğu gibi kalır ve dökümün bıraktığı yerden devam eder. MySQL'de sequence olmadığı için sequence'lar ve bunlardan değer alan varsayılanlar raporlanır.

Saklı yordamlar ve tetikleyiciler ne olur?

Raporda adlarıyla listelenirler ve dönüştürülmezler; böylece yeniden oluşturmadan önce her birini MySQL ile karşılaştırabilirsiniz.

Betik hangi MySQL sürümlerinde yüklenir?

MySQL 5.7 ve sonrası. Her test dökümü 5.7 ve 9 üzerinde yüklenir ve bir sorun çıkarsa ilk hatada durur.