Puncte:2

Folosești discul brut MySQL pe Windows?

drapel ru

Am probleme cu MySQL 5.7 să utilizeze discul brut (un dispozitiv bloc, ocolind sistemul de fișiere) pentru datele sale. Înțelegerea mea despre documentație este că, practic, prima dată când mysqld este executat, configurația trebuie să aibă newraw cuvânt cheie în valoarea for innodb_data_file_path, și ar trebui înlocuit cu doar brut pentru a 2-a execuție.

[mysqld]
innodb_data_home_dir =
innodb_data_file_path = //./E::512Gnewraw

default-time-zone = SYSTEM
basedir = C:/MySQLSrv/
tmpdir = F:/MySQLTemp/
datadir = F:/MySQLData-raw/
pid-file = mysql.pid
port = 3306
socket = MySQL
enable-named-pipe = 1
skip-blocare-exterior
key_buffer_size = 16M
innodb_log_file_size = 26547M
max_allowed_packet = 90M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
innodb_page_size = 64K

E: și F: sunt partiții de pe un vdisk mare (~35 TB) - partiționare GPT, prima partiție este setată la „neformatată” de managementul discului Windows, iar a doua este un NTFS convențional la 4 TB. (Am setat dimensiunea fișierului de date innodb la 512 GB doar temporar, după ce nu am reușit să funcționeze cu 4TB, ceea ce vreau de fapt pentru un test.) În esență, încep aducerea MySQL de la zero, așa că prima mea execuție a mysqld a fost cu --initializare-nesigur opțiune. Acest lucru a durat ceva timp (aproximativ cât m-aș aștepta, având în vedere dimensiunea configurată pentru fișierul de date și rata de transfer a discului observată în Task Manager) și, în cele din urmă, a produs structura obișnuită de fișiere în configurația configurată. datadir. Aceasta include mysql director cu mai multe *.ibd fișiere, ceea ce nu sunt sigur că ar trebui să se întâmple. Totuși, nicio eroare în jurnalele mySQL, iar linia de progres care se termină la 524200 sugerează că spațiul tabelă a fost inițializat.

2021-10-21T09:47:55.686131Z 0 [Avertisment] TIMESTAMP cu valoare implicită DEFAULT este depreciat. Vă rugăm să utilizați opțiunea de server --explicit_defaults_for_timestamp (consultați documentația pentru mai multe detalii).
2021-10-21T09:47:55.692239Z 0 [Avertisment] InnoDB: innodb-page-size a fost schimbat de la valoarea implicită 16384 la 65536.
 100 200 300 400 500 <snip> 523900 524000 524100 524200
 100 200 300 400 500 <snip> 26200 26300 26400 26500
 100 200 300 400 500 <snip> 26200 26300 26400 26500
2021-10-21T09:56:54.318875Z 0 [Avertisment] InnoDB: Au fost create fișiere jurnal noi, LSN=130881
2021-10-21T09:56:54.471343Z 0 [Avertisment] InnoDB: Crearea tabelelor de sistem de constrângeri de chei externe.
2021-10-21T09:56:54.533557Z 0 [Avertisment] Nu a fost găsit niciun UUID existent, așa că presupunem că aceasta este prima dată când acest server este pornit. Generarea unui nou UUID: 389cd84c-3255-11ec-8327-005056971dce.
2021-10-21T09:56:54.536035Z 0 [Avertisment] Tabelul Gtid nu este gata de utilizare. Tabelul „mysql.gtid_executed” nu poate fi deschis.
2021-10-21T09:56:56.339721Z 0 [Avertisment] Certificatul CA ca.pem este autosemnat.
2021-10-21T09:56:56.436944Z 1 [Avertisment] root@localhost este creat cu o parolă goală! Vă rugăm să luați în considerare dezactivarea opțiunii --initialize-insecure.

Așa că schimb opțiunea la brut, și lansați serviciul (l-am creat deja înainte). Serviciul se termină imediat, înregistrând că a vrut să creeze un spațiu de masă (din nou?) pentru că nu l-a putut găsi și aceasta este o idee proastă dacă există jurnalele de refacere - ceea ce au făcut, --initializare-nesigur opțiunea le-a creat, așa cum era de așteptat.

2021-10-21T10:08:09.625276Z 0 [Avertisment] TIMESTAMP cu valoare implicită DEFAULT este depreciat. Vă rugăm să utilizați opțiunea de server --explicit_defaults_for_timestamp (consultați documentația pentru mai multe detalii).
2021-10-21T10:08:09.625424Z 0 [Notă] --secure-file-priv este setat la NULL. Operațiunile legate de importul și exportul de date sunt dezactivate
2021-10-21T10:08:09.625800Z 0 [Notă] MySQL (mysqld 5.7.29) începând cu procesul 3356...
2021-10-21T10:08:09.634217Z 0 [Avertisment] InnoDB: innodb-page-size a fost schimbat de la valoarea implicită 16384 la 65536.
2021-10-21T10:08:09.634627Z 0 [Notă] InnoDB: Mutexurile și rw_locks folosesc funcții interblocate Windows
2021-10-21T10:08:09.634873Z 0 [Notă] InnoDB: folosește mutexuri pentru evenimente
2021-10-21T10:08:09.635033Z 0 [Notă] InnoDB: _mm_lfence() și _mm_sfence() sunt folosite pentru bariera de memorie
2021-10-21T10:08:09.635262Z 0 [Notă] InnoDB: Tabelele comprimate folosesc zlib 1.2.11
2021-10-21T10:08:09.636051Z 0 [Notă] InnoDB: Număr de pool-uri: 1
2021-10-21T10:08:09.636460Z 0 [Notă] InnoDB: Nu folosesc instrucțiuni CPU crc32
2021-10-21T10:08:09.638441Z 0 [Notă] InnoDB: Inițializarea pool-ului de buffer, dimensiune totală = 52G, instanțe = 16, dimensiunea fragmentului = 128M
2021-10-21T10:08:10.597917Z 0 [Notă] InnoDB: Inițializare finalizată a pool-ului de buffer
2021-10-21T10:08:11.118090Z 0 [Notă] InnoDB: primul fișier de date innodb_system „//./E:” nu a existat. Va fi creat un nou tablespace!
2021-10-21T10:08:11.118733Z 0 [EROARE] InnoDB: refaceți fișierul de jurnal „.\ib_logfile0” există. Nu este recomandată crearea spațiului tabel de sistem cu fișiere jurnal redo existente. Vă rugăm să ștergeți toate fișierele jurnal de refacere înainte de a crea un nou spațiu tabel de sistem.
2021-10-21T10:08:11.119256Z 0 [EROARE] InnoDB: Crearea bazei de date InnoDB a fost întreruptă cu eroare Eroare generică. Poate fi necesar să ștergeți fișierul ibdata1 înainte de a încerca să porniți din nou.
2021-10-21T10:08:11.336787Z 0 [EROARE] Funcția de pornire a pluginului „InnoDB” a returnat o eroare.
2021-10-21T10:08:11.337058Z 0 [EROARE] Înregistrarea pluginului „InnoDB” ca MOTOR DE STOCARE a eșuat.
2021-10-21T10:08:11.337286Z 0 [EROARE] Nu s-a putut inițializa pluginurile încorporate.
2021-10-21T10:08:11.337474Z 0 [EROARE] Se anulează

2021-10-21T10:08:11.337615Z 0 [Notă] Sfârșit binlog
2021-10-21T10:08:11.337839Z 0 [Notă] Închiderea pluginului „CSV”
2021-10-21T10:08:11.338806Z 0 [Notă] MySQL: Oprire finalizată

Ce îmi lipsește aici? De ce MySQL nu găsește fișierul de date brute de disc după inițializarea lui?

Puncte:0
drapel jp

Se pare că nu urmăriți acest detaliu specific din documentația listată.

//./ corespunde sintaxei Windows a lui \.\ pentru accesarea unităților fizice.

Windows are o sintaxă diferită de sistemul de operare Linux.

drapel ru
Interpretați greșit ceea ce spune acel detaliu - barele oblice inverse sunt notația nativă din Windows, dar MySQL se așteaptă la bare oblice în fișierul de configurare, deoarece folosește backlash ca caracter de escape. Încercarea de a utiliza bara oblică inversă duce la o eroare: ```2021-10-22T19:29:29.426724Z 0 [EROARE] InnoDB: Fișierul \.\E:: „deschis” a returnat eroarea OS 223. Nu se poate continua operarea```
drapel ru
Și doar de dragul completității, am încercat să folosesc și barele oblice inverse în modul de evacuare, de exemplu. introducând `\.\E:` în fișierul de configurare. Rezultatul a fost aproape identic cu cel descris în întrebare.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.