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.
18 satır dönüştürüldü, 4 düzeltme, reddedilen yok
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 id int(10) unsigned not null name varchar(100) not null email varchar(150) not null country char(2) not null is_active tinyint(1) not null signed_up date not null created_at timestamp not null last_ip varchar(39) orders10 satır2
12 sütun id int(10) unsigned not null customer_id int(10) unsigned not null status enum('pending','paid','shipped','cancelled') not null total decimal(10,2) not null items smallint(5) unsigned not null ordered_at datetime not null shipped_at datetime note varchar(255) order_ref char(36) not null invoice int(11) not null details json updated_at timestamp 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
- 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.
- customers tablosunun "last_ip" sütunu inet6; MySQL içinde bu tür yok, bu yüzden aynı değerlerle varchar(39) olur.
- 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.
- 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çinde | MySQL içinde | Rapor satı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. | 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. | |
| TIME | süreler dahil TIMEAynı tür, aynı aralıkla. | |
| TINYINT(1), BOOL | TINYINT(1)Aynı değerlerle aynı tür. | |
| UNSIGNED and ZEROFILL | korunurAynı türler. | |
| ENUM and SET, the '' error value included | korunurAynı türler; betik katı mod olmadan yüklenir, bu yüzden hata değeri olduğu gibi yüklenir. | |
| JSON | JSONMySQL aynı JSON metnini okur. | |
| NUL bytes in text | korunurDeğer, kaynağın kullandığı kaçış dizisiyle kopyalanır. | |
| AUTO_INCREMENT | tablonun 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 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. | myisam_group_autoincrement |
| ON UPDATE CURRENT_TIMESTAMP | korunurSütunun saniye kesirleriyle aynı ifade. | |
| generated columns | kaynaktaki gibi VIRTUAL veya STOREDAynı formül, terim terim çevrilir. | |
| generated columns with functions IntoSQL doesn't read | dü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 columns | normal sütunlarMySQL'de görünmez sütunlar 8.0.23'ten, MariaDB'de 10.3'ten beri vardı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şturulmazIntoSQL'in okuyamadığı bir CHECK kısıtı dışarıda bırakılır ve raporlanır. | check_skipped |
| CHECK ... NOT ENFORCED | oluş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 GEOMETRY | varsayı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 indexes | korunurAynı indeks; MATCH ... AGAINST eskisi gibi çalışır. | |
| SPATIAL indexes | korunurAynı indeks. | |
| foreign keys | korunur, 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, BLOB | korunurBaytlar bayt olarak kalır. | |
| PARTITION BY | tek 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 events | raporda 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 NULL | NOT 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 set | hatalı 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 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. | no_schema |
| geometries in a dump without CREATE TABLE | GEOMETRYMySQL'in geometri biçimi değerlerden tanınır. | |
| SET NAMES utf8 from utf8mb4 tables | dö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-8 | Latin-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 dumps | uyarıyla UTF-8 olarak okunurBu kodlamalar henüz çözülmüyor. | unsupported_charset |
| UNHEX('..'), CONVERT(b'..', UNSIGNED), CONVERT(".." USING x), ST_GeomFromText('..') in rows | hesaplanırBazı döküm araçları değerleri bu çağrılar olarak yazar; bunlar ürettikleri değerler olarak okunur. | |
| other expressions in rows | NULLVeritabanı çalıştırmayan bir dönüştürücü bunları hesaplayamaz. | expression_value |
| DEFAULT in VALUES | sütunun varsayılan değeriSabit bir varsayılan değer satıra kopyalanır. | default_keyword_filled |
| DEFAULT in VALUES without a literal default | NULLKopyalanacak bir değer yok. | default_keyword_null |
| REPLACE and INSERT IGNORE | dü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 know | LONGBLOBBir blob her değerin baytlarını tutar; yüklemeden sonra türü değiştirin. | unknown_type |
| values that don't fit their column | NULLHasarlı 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 geometries | NULLGeometri olmayan baytlar geometri olarak saklanamaz. | bad_geometry |
| TIMESTAMP | korunur, 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.sqlYabancı 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.