mysql2sqlite.sh, упомянутый в верхнем посте, плохо справляется со строками PRIMARY KEY, он не записывает завершающий )
для завершения оператора CREATE.
Это то, что я сделал.Я запустил дамп mysql как:
mysqldump --skip-create-options --compatible=ansi --skip-extended-insert --compact --single-transaction -h<host> -u<user> -p<passwd> <database name> > localdb.txt
Затем я использовал grep для удаления PRIMARY KEY и KEY:
cat localdb.txt | grep -v "PRIMARY KEY' | grep -v KEY > localdb.txt.1
Затем я использовал редактор, чтобы исправить файл.Когда ключи удалены, вы получите оператор CREATE, который выглядит следующим образом:
CREATE ...
...,
)
Этот завершающий ,
должен быть удален.В vi это выражение соответствует им, $ \ n)
Затем вам нужно изменить все \'
на ''
Затем вы можете выполнить импорт:
sqlite3 local.sqlite3 < localdb.txt.1
И это все.Я не нашел ни одной программы, которая бы работала на меня.Надеюсь, это кому-нибудь поможет.