MySQL is the world’s most popular open source database. Its very easy to use
and at the same time provides performance,
reliability and scalability,
MySQL is the first choice database for Web-based applications. It's used by
internet giants like
Facebook, Twitter, YouTube, Yahoo!, Wikipedia and thousands of midsized
companies.
It is also used as embedded database by majority of software products.
Recently MySQL is acquired by Oracle Corporation, a global leader in
databases. Since it's acquisation
Oracle corporation is given special focus on it's development which can be
seen from the number updates released
On of the major benefit listed by user in several survey is it's low cost.
The cost of running and maintaining
MySQL is quantum of degrees less than the other databases.
One of the Major benefit of migrating from MSSQL to MySQL is that unlike MS
SQL Server, MySQL runs on almost every operating systems.
You can run MySQL on Linux, Windows, MAC O/s , Solaris and many more. The
customers are not bind to any one platform should there be a
need to switch to another operating system.
MySQL development team have made ease of use as one of basic principle since
the first release to till now. For example in Windows operating system one
can
download and install MySQL in just few minutes because Oracle corporation
have developed an easy to use installer which makes MySQL and running and
ready to
deploy in just few minutes.
To make on going maintenance easy for DBA's MySQL provides self
administration features like
MySQL also provides GUI based database design, development,
administration and monitoring tools that make Windows database developers
and DBAs feel at home.
Other Main features available in MySQL are listed below
Open Source and Commercial Licenses
Available on all major platforms (32 and 64 bit) including: Windows Oracle
Linux, RedHat, Ubuntu, Debian, SuSE, Fedora, Solaris, FreeBSD, MacOS
ANSI SQL, SubQueries, Joins, Cursors, Prepared Statements
Stored Procedures, Triggers, SQL and User-Defined Functions
Updateable Views
ACID Transactions with Commit and ,Rollback
Distributed Transactions
Row-level Locking
Snapshot / Consistent
Repeatable Reads (readers don’t block writers and
vice-versa)
Server-enforced Referential Integrity
Strong Data Type Support: (Numeric, VARCHAR, BLOB, etc.)
High-Precision Numeric Data Types
Robust Indexing: (Clustered, B-Tree, Hash, Full-Text)
Dynamic Memory Caches
Unique Query Cache
Cost-Based Optimizer
Unicode, UTF-8
Geospatial Support
Replication: (Row-based and Statement-based)
Highly Scalable with Thread Pool Support
High Availability with Auto failover, Promotion of Slaves to Master
Partitioning: (Range, List, Hash, Key, Composite)
VLDB (terabytes) Capable
Online Backup with Point-in-Time Recovery
Automatic Restart / Crash Recovery
Auditing
Built-in Job / Task Scheduler
Drivers (ODBC, JDBC,
.NET, PHP, etc.)
First document the source MS SQL Server database objects, like User accounts, tables, indexes, integrity constraints and foreign key relationships
Next you may have to create the target MySQL database with proper size.
Choose the method of moving the tables,
indexes, integrity constraints and relationships. For this
you can use MySQL native migration workbench or
third party tools like Data Loader or if you have time you
can write programs in your favorite language by utilizing
OLE DB Providers, ODBC drivers or .NET
provider.
Both MS SQL Server and MySQL provides OLE DB Providers, ODBC drivers and .NET provider for different platforms. Writing programs from scratch may be difficult specifically if the number of tables are large. You will need to carefully choose the comparable datatypes.
Here is the listing of SQL Server datatypes and the comparable MySQL datatypes
You can find the exact match for the following MS SQL Server datatypes, in MySQL
• BINARY
• BIT
• CHAR
• CHARACTER
• DATETIME
• DEC, DECIMAL
• FLOAT
• DOUBLE PRECESION
• INT, INTEGER
• NCHAR
• NVARCHAR, NCHAR
• NUMERIC
• REAL
• SMALLINT
• TEXT
• TIMESTAMP
• TINYINT
• VARBINARY
• VARCHAR
But the following datatypes does not have exact match in MySQL.
IDENTITY
NTEXT, NATIONAL TEXT
SMALLDATETIME
MONEY
SMALL MONEY
UNIQUEIDENTIFIER
SYSNAME
These can be mapped to the following MySQL datatypes
SQL Server | MySQL |
IDENTITY | AUTO_INCREMENT |
NTEXT, NATIONAL TEXT | TEXT CHARACTER SET UTF8 |
SMALLDATETIME | DATETIME |
MONEY | DECIMAL(19,4) |
SMALL MONEY | DECIMAL(10,4) |
UNIQUEIDENTIFIER | BINARY(16) |
SYSNAME | CHAR(256) |
Data Loader from Interface computers, does all
the above database migration from MSSQL to MySQL automatically
including automatic datatype matching.
It will just need three steps, i.e.
define source database, define target database and then select tables
and that's it. You can test it by downloading a free trial edition from
here