Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Generate MySQL data dump in SQL from PHP

Tags:

sql

php

mysql

I'm writing a PHP script to generate SQL dumps from my database for version control purposes. It already dumps the data structure by means of running the appropriate SHOW CREATE .... query. Now I want to dump data itself but I'm unsure about the best method. My requirements are:

  • I need a record per row
  • Rows must be sorted by primary key
  • SQL must be valid and exact no matter the data type (integers, strings, binary data...)
  • Dumps should be identical when data has not changed

I can detect and run mysqldump as external command but that adds an extra system requirement and I need to parse the output in order to remove headers and footers with dump information I don't need (such as server version or dump date). I'd love to keep my script as simple as I can so it can be hold in an standalone file.

What are my alternatives?

like image 381
Álvaro González Avatar asked Apr 28 '10 10:04

Álvaro González


1 Answers

I think the mysqldump output parsing is still the easiest. I think there are really few meta-data you have to exclude, and thus dropping those should be only a few lines of code.

You could also look at the following mysqdump options: --tab, --compact

like image 199
DSD Avatar answered Sep 28 '22 03:09

DSD