convertiți fișierul sqlite în mysql (Programare, Mysql, Ubuntu, Sqlite)

NewUser a intrebat.

Am un fișier .sqlite pe care vreau să îl convertesc în mysql. Deci, există vreo modalitate de a-l converti în mysql?Eu folosesc ubuntu. Deci, există vreun script shell pentru a-l schimba. Orice ajutor va fi foarte apreciat.

Comentarii

  • posibil duplicat al Quick easy way to migrate SQLite3 to MySQL? –  > Por p.campbell.
5 răspunsuri
xialu
  1. presupunând că fișierul dvs. db sqlite este login.db
  2. descărcați acest script ca sqlite3-to-mysql.sh
  3. această comandă va transforma fișierul dvs. sqlite db în fișier sql standard mysql: sqlite3 login.db .dump > sqlite.sql && bash sqlite3-to-mysql.sh sqlite.sql > mysql.sql && rm sqlite.sql
  4. import to mysql: mysql -uuser -ppassword -D database < mysql.sql

ketan

1) Exportați baza de date sqlite în fișier sql

sqlite3 sqlite.db .dump > mysql.sql

2) Importați fișierul mysql.sql în baza de date mysql folosind phpmyadmin sau alte instrumente.

Comentarii

  • ‘sqlite3’ nu este recunoscută ca o comandă internă sau externă. –  > Por Floris.
  • @Floris bineînțeles că trebuie să o descărcați și să o instalați înainte de -.  > Por Acuna.
Nils Werner

Pentru a-l importa direct în baza de date într-o singură comandă:

sqlite3 database.db .dump | mysql -uuser -ppassword database

Comentarii

  • Cred că ar trebui să ștergeți spațiul alb după -p. Cel puțin pe mașina mea funcționează fără withespace, dar nu și cu un spațiu între -p și parola mea. –  > Por Martin Thoma.
  • Bună treabă , Pipeline face întotdeauna să fie ușor – user7616119
Oliver P

Am încercat acest lucru recent și majoritatea răspunsurilor nu funcționează deoarece nu sunt actualizate. de exemplu, python vs python3

O metodă care a funcționat pentru mine și care nu ar trebui să fie niciodată depășită este să exportați tabelele în CSV și apoi să le importați ca CSV. Am folosit Sequel Pro care poate importa un CSV. Dezavantajul este că trebuie să faceți fiecare tabel în parte. Partea bună este că aceasta este o metodă foarte robustă și nu necesită scripturi personalizate.

Rulați următoarele în dosarul bazei de date, schimbând „thedatabase” și cele două apariții ale lui „thetable” cu numele bazei de date și, respectiv, cu numele tabelului:

sqlite3 -header -csv thedatabase.db "select * from thetable;" > thetable.csv

Pentru Sequel Pro:

  1. Creați baza de date
  2. (Opțional: Creați structura tabelelor. Recomandat pentru a avea tipurile corecte de coloane) Puteți obține declarația de creare dintr-un vidare sqlite și le puteți repara pentru mysql.
  3. File > Import
  4. Format: CSV
  5. Verificați: „Prima linie conține nume de câmpuri”
  6. Verificați mapările de câmpuri și importați

Explicația comenzii de export:

  • „sqlite3” este clientul de linie de comandă pentru baze de date sqlite.
  • „-header -csv ” setează ieșirea în format csv.
  • „thedatabase.db” este fișierul bazei de date
  • „select * from thetable;” este interogarea pentru a selecta toate datele din tabel.
  • „> thetable.csv” redirecționează ieșirea datelor către fișierul thetable.csv

Peon cel Mare

Google „sqlite to mysql” îți va oferi o mulțime de articole care fac asta …

Ok, cel mai simplu este să deschizi fișierul .sqlite folosind sqlite, .dump to a file, iar fișierul este un fișier text care conține instrucțiuni SQL.

Vei putea să editezi acel fișier și să rulezi în baza de date mysql după aceea.