MySQL is the most popular open-source database in the world. MySQL is a Relational Database Management System (RDMS) which is used to store data in a relational manner inside different tables. What makes MySQL different is it is production-ready enterprise-level features without a cost or lower costs. The name of the MySQL comes from the creator’s daughter name which is
First, we will start with some information about the MySQL history of how it created and grow up today’s popularity.
- MySQL is created as an open-source database product by MySQL AB in 1995 in Sweden.
- MySQL was priority products where it went open source in 2000 which dropped their revenue about %80.
- MySQL reached 3 million active users at the end of 2002.
- MySQL changed the business model with the dual-licensing model and targeted enterprise market rather than end-users.
- Sun Microsystems acquired MySQL AB for 1 billion USD in 2008.
- Oracle acquired Sun Microsystems as well as MySQL too in 2009.
As its licensing models and services, MySQL has different editions. These editions are created to provide flexible plans for the customers with only required features. Here is the list of currently available MySQL editions. From the list only
MySQL Community Editin is free so others have different licensing costs. This also makes MySQL Community Edition most popular MySQL version.
- MySQL Community Edition
- MySQL Standard Edition
- MySQL Classic Edition
- MySQL Enterprise Edition
- MySQL Cluster CGE
- MySQL Embedded
MySQL Community Edition
As stated previously
MySQL Community Edition is the freely downloaded version of the MySQL. It is licensed under the GPL license and support provided by a huge, helpful community. MySQL Community Edition provides the following features.
- Supports both Relational SQL and NoSQL
- Provides MySQL Document Store
- `Transactional Data Dictionary` with atomic DDL statement for reliability
- `Pluggable Storage Engine Architecture` support like (InnoDB, NDB, MyISAM, etc)
- `Replication` support for performance and scalability
- `Group Replication` support to fault tolerance, automated failover, elasticity
- `InnoDB Cluster`
- `Router` to deliver requests between applications and multiple MySQL servers
- `Partitioning` to improve performance and large database data
- `Stored Procedures` to improve productivity and lower operation cost
- `Triggers` to enforce complex business rules at the MySQL database
- `Views` to filer sensitive data and create new virtual tables
- `Performance Schema` for performance monitoring and resource consumption
- `Information Schema` for easy access to the database, table, row information, and metadata
- `MySQL Connectors`to connect database from different languages and platforms like C, C++, Python, .Net, PHP, etc.
- `MySQL Workbench`for GUI tool and management tool for MySQL server.
MySQL Standard Edition
MySQL Standard Edition is created for the applications that needing high performance and scalable Online Transaction Processing (OLTP). It has extra features to the MySQL Community Editions.
- `Fully Integrated InnoDB` which will make the transactions safe.
- `ACID Compliant`
- `Advanced Replication` will provide enterprise-level replication.
MySQL Classic Edition and MySQL Embedded Edition
MySQL Classic Edition is designed or ISVs, OEMs, and VARs for developing read-intensive applications with the MyISAM engine. This edition has zero administration and high performance with low resource needs. MySQL Classic Edition is ideal for embedded applications which do not need or have client and server communication.
MySQL Enterprise Edition
MySQL Enterprise Edition is the most popular enterprise-level version of MySQL database. It provides all features an enterprise-level database needs. This edition provides advanced features, management tools with technical support. This edition will lower the risk, cost, and complexity of business-critical database operations.
- `Oracle MySQL Cloud Serice` is built on MySQL Enterprise Edition where the workload can be balanced between on-premise and on cloud
- `MySQL Document Store` is an engine where scheme-free document database can be created in SQL
- `MySQL Enterprise Transparent Data Encryption (TDE)` enabled data-at-rest encryption for security
- `MySQL Enterprise Masking and De-identification` will mask sensitive data and replace real values with substitutes
- `MySQL Enterprise Backup` will take online “Hot” backups of databases
- `MySQL Enterprise High Availability` will provide HA for multiple database servers
- `MySQL Enterprise Scalability` will load balance users, query and transactions
- `MySQL Enterprise Authentication` provides 3rd party and external authentication modules like Active Directory, PAM, etc.
- `MySQL Enterprise Encryption` will handle encryption, key generations, digital signatures, and other cryptographic operations
- `MySQL Enterprise Firewall` will guard against real-time attacks like SQL Injection and provide security monitoring
- `MySQL Enterprise Audit` will provide policy-based auditing and compliance and create alerts
- `MySQL Technical Support `service will provide direct access to the experts 7×24.
MySQL Cluster CGE
MySQL Cluster CGE provides linear scalability and high availability. Also, it has features like in-memory real-time access across partitioned and distributed datasets. Following features are provided by MySQLCluster CGE.
- `99.9999% Availability` will make the database services always availability time-critical applications.
- `In-memory Real-Time Database` will provide real-time response to the queries and transactions
- `Auto-partitioning and Scalability` will create shards automatically to scale database with extra hardware
- `Parallel Distributed Query Engine` will provide multiple query run at the same time in a parallel manner
- `SQL and NoSQL` support will be provided at the same time
- `Multi-site Clusters with Active&Active Geographical Replication` will provide Active& Active deployments in a multisite environment
- `Online Scaling & Schema Upgrades` support active or online scheme changes and scaling without stopping or distributing database services
MySQL Community Edition is the most popular edition. It is provided from the following download page in order to download and install different components into different operating systems like Windows, Linux, Ubuntu, CentOS, etc.
Other paid versions can be downloaded from the following page with a customer account. But also
Trial versions can be downloaded for a test drive too.
PHP and MySQL
PHP is the closest friend of MySQL. PHP is a programming language where a lot of PHP tools, applications, frameworks uses MySQL database by default. Both PHP and MySQL are cross-platform applications which can be used in Windows, Linux, MacOS, etc. But generally, the Linux platform is preferred for both PHP and MySQL.
phpMyAdmin is a web GUI created to manage MySQL databases. phpMyAdmin is a free tool which is developed with PHP programming language.
MySQL is the most popular opensource RDMS but there are also different type of alternatives which may provide similar or more features. Here a list of alternatives for MySQL.
- `PostgreSQL` is the most enterprise-ready alternative to MySQL. PostgreSQL can provide more than MySQL but it needs more technical ability for management.
- `MariaDB` is the clone of the MySQL which is created for more liberty. MariaDB is compatible with most of the MySQL features and tools.
- `Firebird` is the embedded database used for serverless applications.