{"id":12703,"date":"2025-12-20T11:59:18","date_gmt":"2025-12-20T06:29:18","guid":{"rendered":"https:\/\/www.youstable.com\/blog\/?p=12703"},"modified":"2025-12-24T16:17:42","modified_gmt":"2025-12-24T10:47:42","slug":"what-is-mysql-on-linux-server","status":"publish","type":"post","link":"https:\/\/www.youstable.com\/blog\/what-is-mysql-on-linux-server","title":{"rendered":"What is MySQL on Linux Server and How it Works? Full Guide"},"content":{"rendered":"\n<p><strong>MySQL on a Linux server<\/strong> is an open\u2011source relational database system installed via a Linux package manager, managed with systemd, and configured through my.cnf.<\/p>\n\n\n\n<p>It stores data in structured tables, enforces ACID transactions (InnoDB), and is secured with users, privileges, firewalls, and backups\u2014powering websites, apps, and analytics at scale.<\/p>\n\n\n\n<p>If you\u2019re new to databases, understanding MySQL on Linux server environments will help you deploy faster, avoid data loss, and improve performance. <\/p>\n\n\n\n<p>This guide explains what MySQL is, how it works on Linux, how to install and secure it, and the best practices we apply when building reliable hosting at YouStable.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"what-is-mysql-and-how-it-works-on-linux\"><strong>What is MySQL and How it Works on Linux<\/strong>?<\/h2>\n\n\n\n<div class=\"wp-block-media-text has-media-on-the-right is-stacked-on-mobile\"><div class=\"wp-block-media-text__content\">\n<p>MySQL is a relational database management system (RDBMS) that uses SQL to store and query data. On Linux, the mysqld server process runs as a service, listening on a local socket or TCP port 3306.<\/p>\n<\/div><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"1168\" height=\"784\" src=\"https:\/\/www.youstable.com\/blog\/wp-content\/uploads\/2025\/12\/What-Is-MySQL-and-How-It-Works-on-Linux-1.png\" alt=\"What Is MySQL and How It Works on Linux\" class=\"wp-image-12952 size-full\" srcset=\"https:\/\/www.youstable.com\/blog\/wp-content\/uploads\/2025\/12\/What-Is-MySQL-and-How-It-Works-on-Linux-1.png 1168w, https:\/\/www.youstable.com\/blog\/wp-content\/uploads\/2025\/12\/What-Is-MySQL-and-How-It-Works-on-Linux-1-150x101.png 150w\" sizes=\"auto, (max-width: 1168px) 100vw, 1168px\" \/><\/figure><\/div>\n\n\n\n<p> Clients connect via the mysql CLI, application drivers (PHP, Python, Java), or tools like phpMyAdmin.<\/p>\n\n\n\n<p><strong>Key components you\u2019ll interact with:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>mysqld<\/strong>: The database server daemon managed by systemd.<\/li>\n\n\n\n<li><strong>Storage engines<\/strong>: InnoDB (default) provides transactions, row-level locking, and crash recovery.<\/li>\n\n\n\n<li><strong>Configuration<\/strong>: my.cnf (often under \/etc\/mysql\/ or \/etc\/my.cnf) defines memory, logs, and security.<\/li>\n\n\n\n<li><strong>Binary logs<\/strong>: Track changes for replication and point-in-time recovery.<\/li>\n\n\n\n<li><strong>Data directory<\/strong>: Typically \/var\/lib\/mysql, owned by the mysql user.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"prerequisites-and-planning\"><strong>Prerequisites and Planning<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.youstable.com\/blog\/best-linux-distros-for-hosting\/\"><strong>Linux distro<\/strong>:<\/a> Ubuntu\/Debian, RHEL\/CentOS\/AlmaLinux\/Rocky Linux are common.<\/li>\n\n\n\n<li><strong>Root or sudo<\/strong>: Required for installation and service management.<\/li>\n\n\n\n<li><strong>Server sizing<\/strong>: Start with 2 vCPU, 4\u20138 GB RAM for small apps; scale buffer pool and IOPS for heavy workloads.<\/li>\n\n\n\n<li><strong>Networking<\/strong>: Permit only trusted hosts to port 3306; prefer private networks.<\/li>\n\n\n\n<li><strong>Backups<\/strong>: Plan daily logical dumps or physical backups before going live.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"install-mysql-on-linux-step-by-step\"><strong>Install MySQL on Linux (Step by Step)<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"ubuntu-debian\"><strong>Ubuntu\/Debian<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt install mysql-server -y\nsudo systemctl enable --now mysql\nsudo mysql_secure_installation\n\n# Verify\nsystemctl status mysql\nsudo mysql -e \"SELECT VERSION();\"\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"rhel-centos-almalinux-rocky-linux\"><strong>RHEL\/CentOS\/AlmaLinux\/Rocky Linux<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo dnf install @mysql -y  # or: sudo dnf install mysql-server\nsudo systemctl enable --now mysqld\n\n# Initial root password might be in the log for community packages:\nsudo grep 'temporary password' \/var\/log\/mysqld.log\nsudo mysql_secure_installation\n\n# Verify\nsystemctl status mysqld\nmysql -u root -p -e \"SELECT VERSION();\"\n<\/code><\/pre>\n\n\n\n<p>mysql_secure_installation helps set a strong root password, remove anonymous users, disable remote root login, and drop test databases\u2014basic steps for a safer production setup.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"secure-network-access\"><strong>Secure Network Access<\/strong><\/h2>\n\n\n\n<p>Expose MySQL only when needed. Prefer local sockets for same-server apps, or a private VPC network for remote apps. Use a firewall to restrict inbound connections.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"ufw-ubuntu\"><strong>UFW (Ubuntu)<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ufw allow from 10.0.0.0\/24 to any port 3306 proto tcp\nsudo ufw status\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"firewalld-rhel-family\"><strong>firewalld (RHEL family)<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo firewall-cmd --permanent --add-rich-rule='rule family=\"ipv4\" \n  source address=\"10.0.0.0\/24\" port protocol=\"tcp\" port=\"3306\" accept'\nsudo firewall-cmd --reload\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"essential-mysql-commands-for-beginners\"><strong>Essential MySQL Commands for Beginners<\/strong><\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code># Connect (socket on same server)\nsudo mysql\n\n# Create <a href=\"https:\/\/www.youstable.com\/blog\/change-a-database-user-password-in-directadmin\/\">database and user<\/a>\nCREATE DATABASE appdb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\nCREATE USER 'appuser'@'10.0.0.%' IDENTIFIED BY 'StrongP@ss!';\nGRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'10.0.0.%';\nFLUSH PRIVILEGES;\n\n# Basic admin\nSHOW DATABASES;\nUSE appdb;\nSHOW TABLES;\nSHOW PROCESSLIST;\nSHOW ENGINE INNODB STATUS \\G;\n<\/code><\/pre>\n\n\n\n<p>Always scope privileges to specific databases and hosts. Avoid using root for applications; create least-privilege users tailored to each app.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"backups-and-restores-never-skip-this\"><strong>Backups and Restores (Never Skip This)<\/strong><\/h2>\n\n\n\n<p>Backups are your safety net. Use logical backups for portability and physical backups for speed on large datasets.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"logical-backups-mysqldump\"><strong>Logical backups (mysqldump)<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># Full dump\nmysqldump -u root -p --routines --triggers --single-transaction --events --databases appdb &gt; appdb.sql\n\n# Restore\nmysql -u root -p &lt; appdb.sql\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"binary-logs-and-point-in-time-recovery\"><strong>Binary logs and point\u2011in\u2011time recovery<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># my.cnf (mysqld section)\nlog_bin = mysql-bin\nserver_id = 1\nbinlog_format = ROW\nexpire_logs_days = 7\n<\/code><\/pre>\n\n\n\n<p>With log_bin enabled, you can restore a dump and replay binlogs to recover up to a specific timestamp, minimizing data loss after incidents.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"performance-tuning-basics-on-linux\"><strong>Performance Tuning Basics on Linux<\/strong><\/h2>\n\n\n\n<p>Start with sane defaults, then measure and iterate. InnoDB and the Linux I\/O stack determine most performance characteristics.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>InnoDB buffer pool<\/strong>: Set innodb_buffer_pool_size to ~50\u201370% of RAM for <a href=\"https:\/\/www.youstable.com\/blog\/secure-dedicated-server\/\">dedicated DB servers<\/a>.<\/li>\n\n\n\n<li><strong>Log file size<\/strong>: innodb_log_file_size of 512M\u20132G reduces checkpoints for write-heavy apps.<\/li>\n\n\n\n<li><strong>Connections<\/strong>: Tune max_connections based on workload and app pooling.<\/li>\n\n\n\n<li><strong>Slow query log<\/strong>: Capture queries to fix with indexing or query rewrites.<\/li>\n\n\n\n<li><strong>Linux I\/O<\/strong>: Use fast SSD\/NVMe; mount with noatime; ensure adequate IOPS.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># \/etc\/mysql\/mysql.conf.d\/mysqld.cnf or \/etc\/my.cnf\n&#91;mysqld]\ninnodb_buffer_pool_size = 4G\ninnodb_log_file_size = 1G\ninnodb_flush_method = O_DIRECT\ninnodb_flush_log_at_trx_commit = 1\nmax_connections = 200\nslow_query_log = 1\nslow_query_log_file = \/var\/log\/mysql\/slow.log\nlong_query_time = 0.5\n<\/code><\/pre>\n\n\n\n<p>After changing buffer or log sizes, stop MySQL gracefully, move old log files if needed, and start the service to let MySQL recreate them. Always test changes in staging first.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"monitoring-and-troubleshooting\"><strong>Monitoring and Troubleshooting<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Systemd and logs<\/strong>: systemctl status mysql and journalctl -u mysql for service issues.<\/li>\n\n\n\n<li><strong>MySQL metrics<\/strong>: SHOW GLOBAL STATUS, performance_schema, and information_schema tables.<\/li>\n\n\n\n<li><strong>Slow log<\/strong>: Profile queries exceeding your long_query_time.<\/li>\n\n\n\n<li><strong>Disk\/CPU<\/strong>: Keep an eye on iostat, vmstat, top, and free -m.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># Quick health checks\nmysqladmin -u root -p ping\nmysql -e \"SHOW GLOBAL STATUS LIKE 'Threads_connected';\"\nmysql -e \"SHOW GLOBAL STATUS LIKE 'Uptime';\"\nmysql -e \"SELECT * FROM performance_schema.events_statements_summary_by_digest ORDER BY SUM_TIMER_WAIT DESC LIMIT 10;\"\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"security-hardening-best-practices\"><strong>Security Hardening Best Practices<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Principle of least privilege<\/strong>: Grant only required permissions; avoid global GRANT ALL.<\/li>\n\n\n\n<li><strong>Network isolation<\/strong>: Bind to 127.0.0.1 for local apps or a private interface; restrict 3306.<\/li>\n\n\n\n<li><strong>Strong auth<\/strong>: Use caching_sha2_password (MySQL 8). Rotate passwords and disable remote root.<\/li>\n\n\n\n<li><strong>Encryption<\/strong>: Enable SSL\/TLS for client connections and at-rest encryption on storage.<\/li>\n\n\n\n<li><strong>OS security<\/strong>: Keep packages patched; leverage SELinux\/AppArmor in enforcing mode.<\/li>\n\n\n\n<li><strong>Auditing<\/strong>: Log admin actions and failed logins; monitor for anomalies.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># Force SSL (example)\n&#91;mysqld]\nrequire_secure_transport = ON\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"high-availability-and-scaling-options\"><strong>High Availability and Scaling Options<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Asynchronous replication<\/strong>: Simple primary-replica setup for read scaling and backups.<\/li>\n\n\n\n<li><strong>GTID replication<\/strong>: Simplifies failover and consistency tracking.<\/li>\n\n\n\n<li><strong>Group Replication\/InnoDB Cluster<\/strong>: Multi-primary (or single-primary) HA with automatic failover.<\/li>\n\n\n\n<li><strong>Proxy layer<\/strong>: ProxySQL or HAProxy to route reads\/writes and smooth failovers.<\/li>\n\n\n\n<li><strong>Sharding<\/strong>: Application-level partitioning for very large datasets.<\/li>\n<\/ul>\n\n\n\n<p>For business-critical workloads, use at least one replica in a different availability zone and test failover regularly. Automate backups and verify restores.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"mysql-vs-mariadb-vs-percona-server\"><strong>MySQL vs MariaDB vs Percona Server<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>MySQL Community\/Enterprise<\/strong>: Widely adopted, strong ecosystem, stable releases.<\/li>\n\n\n\n<li><strong>MariaDB<\/strong>: Fork with some differing features and engines; not 100% drop-in for MySQL 8 syntax\/features.<\/li>\n\n\n\n<li><strong>Percona Server for MySQL<\/strong>: MySQL-compatible with performance and observability enhancements.<\/li>\n<\/ul>\n\n\n\n<p>Choose MySQL 8 for compatibility and vendor support; pick Percona for added performance features; adopt MariaDB only if its feature set specifically benefits your app and you test thoroughly.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"common-mistakes-to-avoid\"><strong>Common Mistakes to Avoid<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>No backups<\/strong>: Always automate and test restores.<\/li>\n\n\n\n<li><strong>Using root in apps<\/strong>: Create a dedicated user with scoped privileges.<\/li>\n\n\n\n<li><strong>Ignoring slow queries<\/strong>: Turn on slow logs and add proper indexes.<\/li>\n\n\n\n<li><strong>Default memory settings<\/strong>: Tune buffer pool and logs for your RAM.<\/li>\n\n\n\n<li><strong>Open 3306 to the world<\/strong>: Restrict and use TLS.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"real-world-example-small-e-commerce-stack\"><strong>Real-World Example: Small E\u2011commerce Stack<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ubuntu 22.04, 4 vCPU, 8 GB RAM, NVMe storage.<\/li>\n\n\n\n<li>MySQL 8 with innodb_buffer_pool_size=4G, slow query log on.<\/li>\n\n\n\n<li>appuser with SELECT, INSERT, UPDATE, DELETE on appdb.* only.<\/li>\n\n\n\n<li>UFW allows 3306 from private app subnet only.<\/li>\n\n\n\n<li>Nightly mysqldump plus binlogs for point\u2011in\u2011time recovery.<\/li>\n\n\n\n<li>Read replica for analytics; ProxySQL routes reporting queries.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"when-to-consider-managed-hosting\"><strong>When to Consider Managed Hosting<\/strong><\/h2>\n\n\n\n<p>If you\u2019d rather not manage patches, tuning, backups, and HA, a <a href=\"https:\/\/www.youstable.com\/blog\/benefits-of-fully-managed-dedicated-server\/\">managed VPS or dedicated server<\/a> helps. At YouStable, our Linux servers come with 24\/7 experts who can pre-harden MySQL, set up monitoring, and optimize performance for your workload\u2014so you can focus on your application.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"quick-reference-commands\"><strong>Quick Reference Commands<\/strong><\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code># Service control\nsudo systemctl status mysql\nsudo systemctl restart mysql\n\n# Space and stats\ndu -sh \/var\/lib\/mysql\nmysql -e \"SHOW GLOBAL STATUS LIKE 'Questions';\"\nmysql -e \"SHOW GLOBAL VARIABLES LIKE 'innodb_buffer_pool_size';\"\n\n# User management\nCREATE USER 'report'@'%' IDENTIFIED BY 'S3cure!';\nGRANT SELECT ON appdb.* TO 'report'@'%';\nFLUSH PRIVILEGES;\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"best-practices-checklist\"><strong>Best Practices Checklist<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use the latest stable MySQL 8 from official repos or vendor RPM\/DEB.<\/li>\n\n\n\n<li>Lock down port 3306 and require TLS for remote access.<\/li>\n\n\n\n<li>Enable <a href=\"https:\/\/www.youstable.com\/blog\/fix-slow-wordpress-site\/\">slow query log and fix<\/a> top offenders first.<\/li>\n\n\n\n<li>Size InnoDB buffer pool to your RAM and workload.<\/li>\n\n\n\n<li>Automate daily backups; test restores monthly.<\/li>\n\n\n\n<li>Enable binary logging for PITR and replication.<\/li>\n\n\n\n<li>Monitor disk latency, connection spikes, and error logs.<\/li>\n\n\n\n<li>Document procedures for failover and recovery.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"faqs-mysql-on-linux-server\"><strong>FAQs: MySQL on Linux Server<\/strong><\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-1765608221099\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"is-mysql-or-mariadb-better-for-a-linux-server\"><strong>Is MySQL or MariaDB better for a Linux server?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>For most apps, MySQL 8 offers broad compatibility, predictable releases, and strong tooling. MariaDB can be faster in certain cases but diverges in features and syntax. If you start with MySQL, stay with it unless you have a tested reason to switch.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765608240137\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"how-do-i-secure-mysql-on-linux\"><strong>How do I secure MySQL on Linux?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Run mysql_secure_installation, restrict port 3306 via firewall, create least\u2011privilege users, enable TLS (require_secure_transport=ON), keep the OS and MySQL updated, and avoid remote root. Consider SELinux\/AppArmor and regular audit reviews.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765608252049\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"whats-the-best-way-to-back-up-mysql\"><strong>What\u2019s the best way to back up MySQL?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Combine nightly mysqldump (for portability) with binary logs for point\u2011in\u2011time recovery. For large databases, use a physical backup tool like Percona XtraBackup. Always test restores to a staging server.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765608268737\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"why-is-mysql-slow-on-my-linux-server\"><strong>Why is MySQL slow on my Linux server?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Common causes include insufficient buffer pool, missing indexes, slow disks, and chatty queries. Enable slow logs, inspect the top queries, add proper indexes, and verify storage IOPS and CPU availability.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765608285430\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"can-i-run-multiple-mysql-instances-on-one-linux-server\"><strong>Can I run multiple MySQL instances on one Linux server?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Yes. Use separate data directories, ports, sockets, and systemd service files. Ensure each instance has dedicated memory limits and disk capacity to avoid resource contention.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>MySQL on a Linux server is an open\u2011source relational database system installed via a Linux package manager, managed with systemd, [&hellip;]<\/p>\n","protected":false},"author":21,"featured_media":15596,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[350,1195],"tags":[],"class_list":["post-12703","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-knowledgebase","category-blogging"],"acf":[],"featured_image_src":"https:\/\/www.youstable.com\/blog\/wp-content\/uploads\/2025\/12\/What-Is-MySQL-on-Linux-Server-and-How-It-Works.jpg","author_info":{"display_name":"Sanjeet Chauhan","author_link":"https:\/\/www.youstable.com\/blog\/author\/sanjeet"},"_links":{"self":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts\/12703","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/comments?post=12703"}],"version-history":[{"count":12,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts\/12703\/revisions"}],"predecessor-version":[{"id":15597,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts\/12703\/revisions\/15597"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/media\/15596"}],"wp:attachment":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/media?parent=12703"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/categories?post=12703"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/tags?post=12703"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}