Oracle Licensing

MySQL License – A Complete Guide To Licensing

MySQL License - A Complete Guide To Licensing

MySQL Licensing

MySQL offers both a free open-source edition and a paid commercial edition, which can make its licensing confusing.

This guide provides IT asset management (ITAM) professionals with a clear overview of MySQL licensing, covering the dual GPL and commercial models, costs, and compliance considerations.

It outlines when MySQL can be used at no cost and when an Oracle license is required, along with best practices for staying compliant and optimizing costs.

MySQL’s Dual Licensing Model: GPL vs. Commercial

MySQL is distributed under a dual license model: an open-source GPL license and a commercial license. Under the open-source GNU GPL (General Public License), MySQL Community Edition is free to use (even in production) as long as you follow the GPL terms.

This means that if you distribute MySQL as part of a product, the entire product would also have to be licensed under the GPL; however, purely internal use of MySQL (with no distribution outside your organization) does not trigger this requirement.

The commercial license, on the other hand, is Oracle’s proprietary offering for MySQL.

Companies choose this when they cannot meet the GPL obligations or when they need Oracle’s support and assurances.

A commercial license (sold via subscription) lets you include MySQL in closed-source applications without having to open-source your code, and it provides rights to Oracle’s official support.

In summary, if your MySQL usage is entirely internal or in open-source projects, the GPL license is sufficient.

If you are embedding MySQL in proprietary software or require enterprise support, you should obtain a commercial license.

Open Source Usage and GPL Compliance

Many enterprises run MySQL Community Edition to avoid license fees, but it’s important to remain compliant with open-source rules:

  • Internal Use is Free: Internal deployments of MySQL Community Edition are free and do not obligate you to share your source code. GPL requirements apply only when software is distributed externally.
  • Distributing MySQL Externally: If you bundle MySQL with a proprietary software product or service that you deliver to customers, you must either open-source that entire offering under GPL or purchase a commercial MySQL license to stay compliant.
  • No Official Support: The Community Edition does not receive support from Oracle. If you rely on it for critical systems, ensure you have the necessary in-house expertise or a third-party support plan, since you can’t call Oracle for help on GPL software.

Commercial MySQL Editions for Enterprises

Oracle provides several commercial editions of MySQL (all require a paid subscription):

  • MySQL Standard Edition: Core MySQL plus basic tools, with Oracle 24×7 support. It’s more affordable but lacks some advanced features compared to the Enterprise Edition.
  • MySQL Enterprise Edition: Full-featured MySQL with additional enterprise components (security plugins, backup utilities, monitoring tools, etc.) and comprehensive support. This edition is used for mission-critical applications that need enhanced features and vendor support.
  • MySQL Cluster CGE: A special high-availability edition using the NDB Cluster engine (in-memory clustering) for ultra-reliable, scalable deployments. It’s the highest-priced option and is only necessary for niche cases that require extreme uptime and throughput.
  • Embedded/OEM License: A custom licensing arrangement for software vendors to embed and redistribute MySQL with their products. This allows distribution of MySQL in a closed-source product without violating GPL, in exchange for a negotiated fee or royalty.

(If you use MySQL via a cloud service like AWS RDS or Oracle’s MySQL HeatWave, the cloud provider handles the licensing – you typically don’t need a separate Oracle license for those managed services.)

Pricing and Cost Considerations

MySQL’s commercial licenses are sold as annual per-server subscriptions.

Key points about pricing:

  • Subscription Costs: The price is charged per server (physical or virtual) running MySQL. As a ballpark estimate, MySQL Standard Edition costs approximately $2,000 per server/year, and MySQL Enterprise Edition costs around $5,000 per server/year (for a server with up to 4 CPU sockets). These subscriptions include Oracle’s support. Larger servers (with more CPU cores) incur higher fees, and MySQL Cluster CGE costs approximately $10,000 per server/year.
  • Non-Production Environments: Every installation using the commercial edition must be licensed, including development, testing, and standby systems. Even non-production use of Enterprise Edition requires a subscription, so ensure that dev/test servers are not running Enterprise features without a license.
  • Cost Drivers: The number of servers is the primary cost driver, as each one requires its license. Consolidating databases on fewer servers can reduce costs. (Be careful with deploying many small instances or containers; if each runs MySQL Enterprise, each requires a license – costs can multiply quickly.)

Below is a quick comparison of MySQL editions and their licensing characteristics:

EditionLicense TypeApprox. Annual CostHighlights
Community EditionOpen-source (GPL)$0 (free)Free to use, no Oracle support. GPL terms apply if you distribute MySQL with your software. Suitable for internal use and open-source projects.
Standard EditionCommercial subscription~$2,000 per serverCore database + basic tools, with 24×7 Oracle support. Lacks some advanced features of Enterprise Edition. Used for general workloads that need vendor support.
Enterprise EditionCommercial subscription~$5,000 per serverAll MySQL features + 24×7 support. Includes enterprise add-ons (security, backup, monitoring). Ideal for critical systems that require Oracle’s support and advanced features.
Cluster CGECommercial subscription~$10,000 per serverSpecialized high-availability edition (NDB clustering) for telecom-grade uptime. Used only in extreme HA scenarios due to its high cost and niche purpose.
OEM EmbeddedCommercial agreementVaries (case-by-case)For ISVs/OEMs to bundle MySQL in their products. Avoids GPL obligations via a custom contract; pricing is negotiated per use case.

Compliance Risks and Best Practices

Managing MySQL licensing in an enterprise environment requires vigilance and good practices:

  • Track Your Installations: Maintain an inventory of all MySQL instances and record the edition each is running. Ensure any use of MySQL Enterprise (or other paid editions) is covered by an active subscription. This inventory should include production servers, as well as development, testing, and backup servers.
  • Avoid Unauthorized Enterprise Use: Ensure teams don’t accidentally use Enterprise Edition binaries or features without prior approval. For example, using the MySQL Enterprise Backup tool or other enterprise-only plugins on an unlicensed server would violate compliance. Implement internal controls and awareness to prevent such slip-ups.
  • Be Audit-Ready & Plan Renewals: Oracle has the right to audit your MySQL usage. Be prepared by maintaining documentation that maps MySQL installations to licenses. Before your annual renewal date, review how many licenses you need – you may be able to reduce your count or negotiate better terms if your usage has changed. Proactively managing renewals can help you save money and ensure you’re only paying for what you use.
  • Consider Alternatives if Needed: If Oracle’s MySQL licensing costs or constraints become too high, evaluate options like open-source MySQL forks (e.g., MariaDB or Percona Server) or cloud-managed MySQL services. These alternatives can eliminate direct licensing fees, though they come with their considerations (different support arrangements, potential migration effort). Weigh these strategically – they might be beneficial for certain workloads to reduce dependence on Oracle licensing.

Recommendations

  • Use Community Edition Where Feasible: Deploy MySQL Community Edition for use cases that don’t truly require Oracle’s support or advanced features. This zero-cost option can handle many internal or non-critical workloads if you have a plan for how to support it (via in-house expertise or third-party support).
  • Reserve Enterprise Licenses for Critical Systems: Apply paid MySQL Enterprise licensing selectively – focus on truly critical, high-value systems that need the extra features and guaranteed support. By limiting the scope of commercial licenses to important applications (e.g., customer-facing or revenue-critical databases), you control costs while still mitigating risk.
  • Audit and Educate Regularly: Conduct periodic internal audits of MySQL usage and license compliance. Additionally, educate developers and system engineers on MySQL’s licensing basics (for example, refrain from embedding MySQL in distributed products or utilizing Enterprise Edition features without proper approval). This awareness prevents mistakes and keeps everyone aligned with compliance requirements.
  • Optimize Infrastructure to Save Costs: Work with your IT teams to consolidate MySQL workloads where possible. Running fewer, well-utilized MySQL servers (instead of many underutilized instances) can reduce the number of licenses needed. Factor licensing into architecture decisions – a design that uses one big server might be more cost-effective than one that uses ten small servers, provided it meets performance needs.
  • Negotiate with Oracle: Don’t assume Oracle’s list prices or terms are set in stone. When renewing or purchasing MySQL licenses, treat it as a negotiation. Oracle may offer discounts for multi-year commitments, bundling MySQL with other Oracle products, or large volume deals. Utilize your status as an enterprise customer to negotiate better pricing or contract terms whenever possible.

Checklist: 5 Actions to Take

  1. Inventory All MySQL Deployments: Identify every MySQL instance in use (on-premises and cloud). Document which edition (Community vs. Enterprise) each instance is running and its purpose (prod, test, embedded in an application, etc.).
  2. Identify License Needs: For each instance, determine if a commercial license is required. Internal-facing apps on Community Edition are fine; any instance using Enterprise Edition features or included in a product provided to external customers likely needs licensing. Flag any usage that might be non-compliant or unclear.
  3. Remediate Compliance Gaps: Act on any flagged issues. Purchase Oracle MySQL subscriptions for servers that require licensing (or arrange an OEM agreement for embedded use cases). If certain systems don’t require Enterprise features, plan to transition them to Community Edition or another solution to eliminate unnecessary licenses.
  4. Implement Approval Policies: Establish governance to control new MySQL deployments. Require an internal review or approval before anyone deploys MySQL Enterprise Edition on a server, or before including MySQL in any product offering. This ensures that licensing is considered upfront for new projects and prevents inadvertent non-compliance.
  5. Review License Renewals Proactively: Keep track of when your MySQL subscriptions expire to ensure timely renewal. Ahead of renewal, reassess how many licenses are in use and whether you can reduce that number (or if you need additional licenses). Use this review to negotiate with Oracle – adjust your license count to match actual usage and seek the best possible renewal pricing and terms.

FAQ

Q1: Is MySQL Community Edition free for enterprise use?
A1: Yes. MySQL Community Edition is completely free to use under the GPL license, even in large enterprises. There are no license fees to run it. Just remember that if you distribute MySQL outside the company as part of another product, the GPL will impose obligations (you’d need to open-source your software or buy a commercial license to cover that use).

Q2: When do we need to buy an Oracle MySQL license?
A2: You should buy a MySQL license when your use case can’t comply with the GPL terms. Typically, this is the case if you’re embedding MySQL in a proprietary software product that you provide to customers, or if you require Oracle’s official support and enterprise-only features for a critical system. In short, if you can’t (or don’t want to) open-source your application that uses MySQL, a commercial license is required.

Q3: How is MySQL Enterprise Edition licensed, and what does it cost?
A3: MySQL Enterprise Edition is licensed per server, per year. The cost is approximately $5,000 per server per year (for a standard-sized server), which includes 24/7 support and updates. There are no per-user or per-database fees. Very large servers (with many CPU cores/sockets) cost more, as Oracle uses tiered pricing based on hardware size, and the special MySQL Cluster edition is also priced higher.

Q4: If we use MySQL in the cloud, do we still need a license?
A4: In most cases, no. Suppose you’re using a managed cloud database service for MySQL (like Amazon RDS or Azure Database for MySQL, etc.). In that case, you do not need a separate Oracle license – the service provider covers it (these services typically run the open-source edition under the hood). However, suppose you run MySQL yourself on a cloud VM or container. In that case, it’s the same as on-premises: using MySQL Community Edition requires no license, but running MySQL Enterprise Edition on that server would require you to have an Oracle subscription for it.

Q5: What’s the difference between MySQL Community and Enterprise Edition?
A5: The core database engine is the same, but Enterprise Edition provides additional features and support that Community Edition doesn’t. For example, Enterprise includes additional tools such as a hot backup utility, security extensions (including encryption and auditing), and a performance monitoring dashboard, as well as the benefit of direct Oracle support. Community Edition lacks those extras and relies on self-support (community forums, DIY troubleshooting). Additionally, from a licensing perspective, Enterprise comes with a commercial license (free from GPL restrictions on your code). In contrast, Community is GPL-licensed (free, but with “copyleft” terms if you distribute your software along with MySQL).

Do you want to know more about our Oracle License Management Services?

Please enable JavaScript in your browser to complete this form.
Name
Author
  • Fredrik Filipsson

    Fredrik Filipsson is the co-founder of Redress Compliance, a leading independent advisory firm specializing in Oracle, Microsoft, SAP, IBM, and Salesforce licensing. With over 20 years of experience in software licensing and contract negotiations, Fredrik has helped hundreds of organizations—including numerous Fortune 500 companies—optimize costs, avoid compliance risks, and secure favorable terms with major software vendors. Fredrik built his expertise over two decades working directly for IBM, SAP, and Oracle, where he gained in-depth knowledge of their licensing programs and sales practices. For the past 11 years, he has worked as a consultant, advising global enterprises on complex licensing challenges and large-scale contract negotiations.

    View all posts

Redress Compliance