This project has moved and is read-only. For the latest updates, please go here.

MySqlBackup.NET - Change Log

V2.0.9.2 - 8 August 2015

  • Fix Bug: An error will occur where in an unknown condition the value TALBE_ROWS from information_schema.tables will return as DBNULL and resulting value conversion error to System.Int64. (This bug is introduced in 2.0.9)

V2.0.9 - 19 July 2015

  • Improve Performance - Modify GetTotalRows() in MySqlDatabase.cs
  • Modify: The default value of ExportInfo.GetTotalRowsBeforeExport has changed to "TRUE". This is because coding for this section has changed. The time required to get total rows of all tables is only less than 1 second.
  • Fix a typo error in MySqlTable.cs: line 38 - Replace "INSRET" by "INSERT".
  • Modify behaviour of "UPDATE" export mode: If all fields are primary key, no rows will be exported.
  • Update behaviour of "ON DUPLICATE KEY UPDATE" export mode: If all fields are primary key, export behaviour will be changed to "INSERT IGNORE".
  • MySqlBackupTestApp 1.6
    • Added new tool: Query Broswer 2 which able to load millions of rows.

V2.0.8 - 25 Feb 2015

  • Fix bug: Parsing error occur when exporting timestamp value. This problem occured after adding the support for exporting time fraction.
  • Modify: Change export behavior for exporting tables that contain only primary keys when using RowsExportMode = OnDuplicateKeyUpdate

V2.0.7.1 - 26 Jan 2015

  • All functions are same as V2.0.7
  • Minor intellisense update.

V2.0.7 -25 Jan 2015

  • New ExportInfo option - RowsExportMode. See discussion, See discussion
  • New ExportInfo option - WrapWithinTransaction
  • New Export Destination - Export to String/text
  • Able to reset or remain memory stream position while exporting to memory stream.
  • Added support for exporting Time Fraction (Microseconds). See discussion

V2.0.6 - 17 Nov 2014

  • Fix bug: Percentage Completed in Progress Report of Import is incorrect.

V2.0.5 - 20 Oct 2014 (see demo app for more information)

  • Fix a bug, after 1st export or import, the subsequent new export process is unable to carry out.
  • Add Feature - Able to export/import from/to MemoryStream directly.
  • Add Feature - Able to change document's headers and footers for export process.
  • Add Feature - Able to exclude tables for export process.

V2.0.4 - 12 May 2014

  • Remove "SET GLOBAL max_allowed_packet. It will take effect on new connection, not on current.
  • Clean up. Remove old and inappropriate IntelliSense.
  • Minor update.

V2.0.3 - 11 May 2014

11 Apr 2014

V2.0.2 (07 Feb 2014)

  • Fix bug: MySqlBackup.NET will decrypt an empty line when encryption is enable and this causes exception.

V2.0.1 (26 Dec 2013)

  • Fix bug: TimeStamp is affected by TimeZone during import.
  • Fix bug: Exported Table Columns is not correct when manually specified in TablesToBeExportedDic or TablesToBeExportedList

V2.0 (24 Dec 2013)

  • Add
    • Able to Export/Import To/From MemoryStream, without saving as physical file.
  • Modify/Enhance
    • Encryption process is simplified. Thus, time required to complete a task is decrease. Internal encryption of V2.0 is not compatible with previous/older version.
    • Code structure is reorganized, bugs are more easier to detect and codes are more easier to maintain. MySqlBackup.NET is more stable than previous version.
  • Drop
    • Drop the internal functionality of Zipping the dump file. This makes MySqlBackup.NET less dependencies. Developers can choose their own solutions for zipping the dump files externally.
    • Drop the single functionality of Exporting BLOB as files.

V1.5.7 (25 Jan 2013)

  • Fix Bug: An error will occur when ExportInfo.AsynchronousMode = true and ExportIfo.CalculateTotalRowsFromDatabase = false are set at the same time.

V1.5.6 (14 Dec 2012)

  • Fix Bug: If encryption is applied in Export Process, the generated encrypted SQL file is not able to import Stored Procedures, Functions, Triggers, Events and View.
    > Discussion: MySqlBackup.dll
  • Fix Bug: In some unknown cases, the SHOW CREATE TABLE `tablename` query will return byte array.
  • Improve 1: During Export, StreamWriter is opened and closed several times when writting to the dump file, which this is considered as not a good practice.
  • Improve 2: SQL line in class Database method GetEvents: "SHOW EVENTS WHERE Db LIKE '" + DatabaseName + "';" might potentially cause errors due to case sensitivity.
  • New Feature: MySqlBackup.NET is able to export as compressed zip file which results approximately 10 times smaller(file size) than original exported dump file.
    New option: ExportInfo.ZipOutputFile.
  • MySqlBackup.NET can import a compressed SQL dump file in zip format.

V1.5.5 (11 Dec 2012)

V1.5.4 (23 Now 2012)

  • Fix bug: When setting AddCreateDatabase = true, the database name in CREATE DATABASE sql statement is converted into Upper Case. (It should not).
  • Fix minor bug: When exporting with custom SELECT sql statements, total rows calculation is not based on new specified conditioned SELECT sql statement.
    > Discussion: Unknown database 'test'

V1.5.3 (20 Nov 2012)

  • MySqlBackup can be initialized without specifying an initial database in Connection String.
  • Non-super admin MySQL user can be used with MySqlBackup.NET. In previous version, only super admin users are allowed to be used with MySqlBackup.NET, or else, user privilege exception will raise. If a non-super admin MySQL user is used with MySqlBackup.NET, the backup process will proceed but has a high possibility not exporting Stored Procedure, Stored Functions, Events, Triggers and Stored View.
    > Discussion: Unknown database 'test'

V1.5.2 (21 Oct 2012)

V1.5.1 (16 Oct 2012)

  • Fix a bug. If MySqlBackup is constructed (initialized) with an object of MySqlConnection, DatabaseInfo is not initialize and resulting a null reference exception.

V1.5 (14 Oct 2012)

  • New: Able to run in both Asynchronous and Synchronous mode.
  • New: Able to restore to another/new database.
  • New: Reset database, delete all rows and reset Auto-Increment to 1.
  • Fix bug: A SQL syntax error will occur when Importing with dump file that is encrypted with Stored Procedure, Function, Event, Trigger or View.
  • Fix bug: A null exception occur when cancelling a process.

V1.4.5 (29 Aug 2012)

  • Fix bug: wrong cast type of sbyte in GetSqlValueString(), error will occur when handling MySQL datatype of SIGNED TINYINT

V1.4.4 (14 Aug 2012)

  • Fix bug: If the target database's default character set is not UTF8, UTF8 character will be encoded wrongly during Import. Now, database default character set will be recorded into Dump File at line of "SET NAMES". During import(restore), MySqlBackup will again detect and use the target database default character char set.

V1.4.2 (14 Aug 2012)

  • Fix bug: MySqlConnection is not closed with AutoCloseConnection set to true after Export or Import completed/halted.

V1.4.1 (13 Aug 2012)

  • Disable a function of writting a log file on D:\Log2.txt during Import process. This function is used by the authors to detect bugs and is not needed on real operation of Import(Restore).

V1.4 (13 Aug 2012)

  • (New) Able to export Stored Procedures, Functions, Events, Triggers, Views
  • (Change) Implementation of IDisposal is dropped.
  • (New) New Settings for Export - ExportStoredProcedures, ExportFunctions, ExportViews, ExportTriggers, ExportEvents . 
  • (New) New Settings for Import - IgnoreSqlErrors. 
  • (Change) ProgressChanged is split and replaced by ImportProgressChanged and ExportProgressChanged.
  • (New) Error informations is collected during import if IgnoreSqlErrors is set to true.

V1.3.1 (09 Aug 2012) 

  • (Fix Bugs) MySQL data type of "Date" and "Time" is not handled. 
  • TextReader and TextWriter is not closed if exception occur. 
  • (New) Implement iDisposal. Automatic close all streams in any condition during Export or Import halted.
  • (New) New option: AddCreateDatabase (Used in Export process), Default value = false


  • (Fix bug) The symbol "." (dot) might not be used as default decimal point separator when custom System.Globalization.NumberFormatInfo or custom Application's Culture applied. The will cause a SQL syntax error. 
  • (New) Export and Import process are now run asynchronously.
  • (New) Export and Import process can be cancelled.
  • (New) Export and Import process will report progress. Enable the usage of progress bar.
  • (New) max_allowed_packet will be set to 1GB (Maximum length allowed by MySQL in single query) during Export or Import process if the MySQL user used in the connection has the super privilege to do so. This is useful when exporting or importing large BLOB or TEXT data type.
  • (New) Has option to reset Auto-Increment.
  • (New) Has option to close MySqlConnection automatically after each process finished.
  • (New) Able to export BLOB data and save as files on local drive.  
  • (Change) XCrypt project (an Encryption Library) is dropped from MySqlBackup. Encryption is not compatible between v1.2 and v1.3    

Changes from V1.1 to V1.2

  • Comments are added into SQL Dump File.
  • All SQL statements are split into lines.
  • Multiple INSERT statements are joined.
  • Able to export(backup) BLOB data type.
  • Date Time conversion bug fixed.
  • SQL Dump File encoding change from UTF8 to UTF8 without BOM.
  • SQL statements are divided into paragraphs, more neat and organized. 
  • Perform MySQL server variable checking before export/import.
  • Replace MySqlDataAdapter with MySqlDataReader.
  • Replace File.WriteAllLines  with TextWriter > StreamWriter 
  • Replace File.ReadAllLines with TextReader > StreamReader 
  • Able to export (backup) selected tables, columns and rows.
  • Able to encrypt and decrypt SQL Dump File.
  • Encryption is enhanced by adding salt. 

Last edited Aug 9, 2015 at 2:19 AM by adriancs, version 47