mysqlworkbench dă eroare de versiune la exportul bazei de date (Programare, Php, Mysql, Export, Mysql Workbench)

Codul Sizzling a intrebat.

Când încerc să-mi export baza de date prin MySQL Workbench de la distanță de pe serverul local,

Primesc o eroare de versiune de mai jos:

mysqldump Version Mismatch [Content] mysqldump.exe este versiunea 5.5.16, dar serverul MySQL care urmează să fie descărcat are versiunea 5.6.10-log. Deoarece versiunea de mysqldump este mai veche decât serverul, este posibil ca unele caracteristici să nu fie copiate corect. Se recomandă să actualizați programele client MySQL locale, inclusiv mysqldump, la o versiune egală sau mai nouă decât cea a serverului țintă. Calea către instrumentul de descărcare trebuie apoi setată în Preferences -> Administrator -> Path to mysqldump Tool (Preferințe -> Administrator -> Cale către instrumentul mysqldump)

Încerc să găsesc o soluție – am căutat o soluție pe google, dar nu am găsit un răspuns bun pentru a rezolva problema.

Știe cineva, cum se poate rezolva această problemă în MySQL Workbench?

Comentarii

  • Ați încercat să actualizați MySQL așa cum s-a sugerat? –  > Por Voitcus.
  • Nu cred că este o eroare. Aveți o problemă de incompatibilitate între două versiuni ale serverului MySQL. Cred că ar trebui să actualizați versiunea MySQL în local. –  > Por Gowri.
  • Eroarea este destul de informativă IMO! –  > Por SparKot.
  • ce ar trebui să actualizez? mysql instalat pe server sau ar trebui să actualizez mysqlworkbench??? O_o –  > Por Codul Sizzling.
15 răspunsuri
Gustavo

Mergeți la: Edit -> Preferences -> Administrator -> Path to Mysqldumptool:
Căutați fișierul mysqldump.exe în dosarul de instalare al serverului MySQL (ar putea fi: mysql/bin/).Apoi faceți clic pe el și OK. După aceea încercați să faceți backup.

Comentarii

    29

  • Stack Overflow este un site în limba engleză. Am tradus răspunsul dvs. folosind Google Translate, vă rugăm să îl revizuiți pentru acuratețe. –  > Por ChrisF.
  • arrrriba gustavo gracias –  > Por Toma Radu-Petrescu.
  • Am făcut aceeași soluție și tot am această eroare : 12:55:50 Dumping wordnetsemanticsimilarity (all tables) Running: „C:Program FilesMySQLMySQL Server 5.7binmysqldump.exe” –defaults-file=”c:usersadmini~1appdatalocaltemptmpv_dqzx. cnf” –user=root –host=localhost –protocol=tcp –port=3306 –default-character-set=utf8 –skip-triggers „wordnetsemanticsimilarity” mysqldump: A primit o eroare: 130: Incorrect file format ‘inter’ when using LOCK TABLES Operation failed with exitcode 2 12:55:50 Export of C:UsersAdministratorDocumentsdumpsDump20180812.sql has finished with 1 errors –  > Por F 505.
  • În MacOs, calea este: MySQLWorkbench – Preferences – Administration – Path to mysqldump Tool. –  > Por nanocv.
Akaal

Din fericire, deși nu este evident, există o soluție destul de simplă. Trebuie doar să actualizați fișierul mysqldump.exe. Versiunea actualizată a fișierului .exe poate fi găsită în. Pentru a rezolva problema, trebuie doar să accesați Edit->Preferences->Administrator, , și răsfoiți următoarea cale

C:Program FilesMySQLMySQL Server 5.6binmysqldump.exe

luați acest fișier și înlocuiți-l la Path to mysqldump tool caseta de text

Este posibil ca următoarea cale să fie setată înainte de cea menționată mai sus, așa că înlocuiți-o cu cea mai nouă

C:Program FilesMySQLMySQL Workbench CE 5.2.47mysqldump.exe

Căile pot fi ușor diferite pentru dumneavoastră, dar soluția rămâne aceeași. în unele sisteme de operare (64bit), există două foldere C:Program Files (x86)MySQL și C:Program FilesMySQLDar trebuie să mergeți pentru C:Program FilesMySQLSper că vă va fi de ajutor 🙂

Comentarii

  • Acest lucru pare să se aplice doar dacă serverul se află pe aceeași mașină și este de același tip ca și MySQL Workbench. Acest lucru nu pare să ajute deloc dacă serverul este un server MySQL Linux de la distanță, iar MySQL Workbench rulează pe un PC cu Windows. –  > Por simpleuser.
evilReiko

În Linux-based ca Ubuntu, Edit > Preferences… > Administration (tab), setați „Path to mydqldump Tool” la /usr/bin/mysqldump (cel mai probabil, în mod implicit, acolo ar trebui să fie).

Dacă nu sunteți sigur, puteți încerca să aflați unde se află mysqldump rulând următoarea comandă în terminal:

locate mysqldump

Mike Lischke

Mesajul spune că aveți nevoie de un instrument mysqldump mai nou. Unul care se potrivește cu serverul de pe care doriți să faceți descărcarea. Deci, în funcție de platforma pe care o utilizați, obțineți o copie a instrumentului mysqldump de la o instalație de server care are o versiune recentă. Fiecare server vine cu un instrument mysqldump. Așa că ar trebui să fie ușor să obțineți o copie.

Puneți instrumentul într-o locație în care să aibă o locație persistentă, dar care să nu intre în conflict cu alte instanțe, și îndreptați MySQL Workbench către el (așa cum spune mesajul).

Vladimir Despotovic

Pe Mac-ul meu (care rulează cea mai recentă versiune Mac OS Sierra), am schimbat calea de acces a mysqldump în /Applications/XAMPP/xamppfiles/bin/mysqldump, iar acest lucru a rezolvat problema. Anterior, calea era setată la o versiune diferită (versiune mai veche) de mysqldump. Așadar, trebuie să obțineți cea mai nouă versiune de mysqldump.

Comentarii

  • Câteva informații suplimentare despre cum să schimbați ținta: mergeți la mysqlworkbench și editați preferințele: mysqlworkbench/preferences…/Administartion editați câmpul „Path to mysqldump Tool:” și selectați exemplul local de mysqldump: /usr/local/Cellar/mysql/5.7.21/bin/mysqldump –  > Por Olivier Royo.
vedant03p

Acest lucru se întâmplă atunci când versiunea de workbench mysql este diferită de cea a serverului mysql. Soluția este de a utiliza mysqldump.exe, a cărui versiune este aceeași cu cea a serverului dumneavoastră, pentru a realiza exportul/dump-ul. Pași :

  1. Descărcați zip-ul mysql având aceeași versiune ca și serverul dumneavoastră. (de exemplu, mysql-5.7.25-winx64.zip)
  2. În interiorul acestui zip veți găsi mysqldump.exe în folderul bin.
  3. Deschideți workbench-ul Mysql. Mergeți la Edit -> Preferences -> Administration.
  4. Acum, în Path to mysqldump Tool :, dați calea acestui mysqldump.exe descărcat

navid hernandez

Am încercat să rezolv această problemă cu mysqldump implicit folosind Edit > Preferences... > Administration (tab), , și setarea din /usr/bin/mysqldump care nu a funcționat.

Am văzut că serverul XAMPP are și el un fișier mysqldump care a funcționat bine! În general, îl puteți găsi în /opt/lampp/bin/mysqldump (pentru Debian și similare), astfel încât să puteți utiliza această cale în preferințele din interiorul workbench-ului.

killlinuxkill

Eu am luat o arhivă pentru versiunea mysql de nevoie de aici https://downloads.mysql.com/archives/community/

Și am folosit de acolo mysqldump. M-a ajutat pentru mine.

pinkp

Deoarece aceste răspunsuri nu sunt total clare pentru utilizatorii de Mac, aici am găsit fișierul MySQLDump:

Aplicații > MAMP > Biblioteca > bin > mysqldump

O căutare rapidă a „mysqldump” ar trebui să localizeze acest lucru. Am urmat răspunsurile de mai sus și merg la:

Preferences > Administation > Path to mysqldump Tool:

Aceasta a fost calea mea acolo acum: /Applications/MAMP/Library/bin/mysqldump

Glorie olandeză

wb_admin_export.py (folosit de mysqldump) se uită la PATH pentru a găsi mysqldump și a obține numărul versiunii. asigurați-vă că este mysqldump din pachetul mysql, nu din mysql workbench…

tomDev

Utilizator Mac aici: Am avut această problemă după ce am actualizat MySQLWorkbench. Am încercat totul…. în cele din urmă, am descărcat versiunea veche înapoi și am făcut downgrade la MySQLWorkbench. A funcționat fără probleme.

Comentarii

  • Pentru utilizatorii Mac, funcționează numai după ce repornește Mysql Workbench, după ce a setat Path la Mysqldumptool în setări (Edit – Preferences – Administrator ). –  > Por Samitha Chathuranga.
Samitha Chathuranga

Pentru utilizatorii de Mac, funcționează numai după repornirea Mysql Workbench, după setarea Path to Mysqldumptool în setări (Edit – Preferences – Administrator ).

aderchox

Nici unul dintre celelalte răspunsuri de aici nu a funcționat pentru mine, așa că voi posta o altă modalitate care a rezolvat-o pe a mea(Folosesc Windows WSL Ubuntu 18.04).

TL;DR: verificați dacă aveți linia local_infile=1 în fișierul de configurare al MySQL-ului tău și schimbă-l în loose-local-infile=1 sau comentați-o cu totul dacă nu aveți nevoie de ea acum și apoi reporniți MySQL Workbench.

Explicații suplimentare: Am închis MySQL Workbench și am deschis terminalul meu și am rulat mysqldump --version și mi-a dat această eroare: mysqldump: [ERROR] unknown variable 'local_infile=1'., , mi-am dat seama că am adăugat ceva la /etc/my.cnf fișier anterior pentru a importa niște date într-o bază de date folosind un fișier local, dar după cum se pare, , unele alte instrumente MySQL (cum ar fi mysqldump, probabil) nu înțeleg bine această linie, așa că am comentat-o și apoi mysqldump --version funcționează bine și oferă numărul corect al versiunii fără alte probleme. Acum deschid din nou MySQL Workbench și de data aceasta funcționează bine.

HTH.

lainatnavi

Dacă niciuna dintre soluțiile de mai sus nu a funcționat, versiunea de mysqldump poate fi hardcoded în wb_admin_export.py

def get_mysqldump_version():
    #path = get_path_to_mysqldump()
    #if not path:
    #    log_error("mysqldump command was not found, please install it or configure it in Edit -> Preferences -> Administration")
    #    return None
    #  
    #output = StringIO.StringIO()
    #rc = local_run_cmd('"%s" --version' % path, output_handler=output.write)
    #output = output.getvalue()
    #
    #if rc or not output:
    #    log_error("Error retrieving version from %s:
%s (exit %s)"%(path, output, rc))
    #    return None
    #  
    #regexp = ".*Ver ([d.a-z]+).*"
    #if ("Distrib" in output):
    #    regexp = ".*Distrib ([d.a-z]+).*"
    #
    #s = re.match(regexp, output)
    #
    #if not s:
    #    log_error("Could not parse version number from %s:
%s"%(path, output))
    #    return None
    #
    #version_group = s.groups()[0]
    #major, minor, revision = [int(i) for i in version_group.split(".")[:3]]
    #return Version(major, minor, revision)
    return Version(5, 7, 30)

Doar acest lucru a funcționat pentru mine: Workbench pe windows și serverul Mysql pe un linux la distanță.

lm2a

Trebuia să fac o copie locală a bazei de date de la distanță și mă confruntam cu probleme legate de versiunea MySQLWorkbench´s. Pentru a evita reinstalarea MySQLWorkbench pentru a se adapta la versiunea bazei de date de la distanță, am procedat în felul următor:

  1. Am exportat baza mea de date de pe serverul de la distanță în folderul /home/my-user/ (pe serverul de la distanță) folosind ssh:

    [email protected]# mysqldump -u root -p my-incredible-password > /home/my-user/database-dump-18-set-2020.sql

  2. Având scriptul sql în directorul de la distanță /home/my-user/ îl descarc în folderul meu local folosind comanda scp:

    my-user % scp [email protected]:/home/my-user/database-dump-18-set-2020.sql /Utilizatori/my-mac-user/tmp/

După care a trebuit doar să deschid fișierul de script sql folosind MySQLWorkbench și să import datele în baza mea de date locală. Sper că acest lucru poate ajuta pe cineva.