{"id":12796,"date":"2025-12-20T12:38:11","date_gmt":"2025-12-20T07:08:11","guid":{"rendered":"https:\/\/www.youstable.com\/blog\/?p=12796"},"modified":"2025-12-20T12:38:13","modified_gmt":"2025-12-20T07:08:13","slug":"how-to-configure-mysql-on-linux","status":"publish","type":"post","link":"https:\/\/www.youstable.com\/blog\/how-to-configure-mysql-on-linux","title":{"rendered":"How to  Configure MySQL on Linux Server &#8211; (Step-by-Step Guide 2026)"},"content":{"rendered":"\n<p><strong>To configure MySQL on a Linux server<\/strong>, install MySQL 8, run security hardening, tune the my.cnf file for your RAM and workload, create least privilege users, open the firewall for approved IPs, enable logs and backups, and monitor performance. This step-by-step 2026 guide covers Ubuntu\/Debian, RHEL\/AlmaLinux, and practical, production-ready settings.<\/p>\n\n\n\n<p>Configuring MySQL on a Linux server can be straightforward when you follow a structured process. In this guide, you\u2019ll learn how to install, secure, optimize, and maintain MySQL 8 on modern Linux distributions, with real-world settings that work for WordPress, SaaS apps, and high-traffic sites. We\u2019ll keep it beginner-friendly while still technically accurate.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"what-youll-need-prerequisites\"><strong>What You\u2019ll Need (Prerequisites)<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A Linux server (Ubuntu 22.04\/24.04, Debian 12, RHEL 8\/9, AlmaLinux\/Rocky 8\/9)<\/li>\n\n\n\n<li><a href=\"https:\/\/www.youstable.com\/blog\/how-to-enable-ssh-access-for-clients-or-users\/\">SSH access<\/a> with sudo privileges<\/li>\n\n\n\n<li>MySQL 8.x (8.4 LTS is recommended for 2026)<\/li>\n\n\n\n<li>Firewall access to allow only trusted IPs to port 3306<\/li>\n\n\n\n<li>A plan for backups and basic monitoring<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"install-mysql-on-popular-linux-distros\"><strong>Install MySQL on Popular Linux Distros<\/strong><\/h2>\n\n\n\n<p>Many <a href=\"https:\/\/www.youstable.com\/blog\/install-mariadb-on-linux-server\/\">Linux flavors provide MariaDB<\/a> by default. If you specifically need Oracle MySQL 8, use the official repositories. Below are quick-start commands for common distributions.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"ubuntu-debian-mysql-8\"><strong>Ubuntu\/Debian (MySQL 8)<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># Update and <a href=\"https:\/\/www.youstable.com\/blog\/install-mysql-on-linux-server\/\">install MySQL server<\/a>\nsudo apt update\nsudo apt install -y mysql-server\n\n# Enable and start the service\nsudo systemctl enable --now mysql\n\n# Check status\nsystemctl status mysql\n\n# Verify version\nmysql --version<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"rhel-almalinux-rocky-mysql-8\"><strong>RHEL\/AlmaLinux\/Rocky (MySQL 8)<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># <a href=\"https:\/\/www.youstable.com\/blog\/install-yum-on-linux\/\">Install MySQL Yum<\/a> repo if needed (example uses Oracle MySQL repo)\nsudo dnf install -y https:\/\/dev.mysql.com\/get\/mysql80-community-release-el9-1.noarch.rpm\nsudo dnf module disable -y mysql\nsudo dnf install -y mysql-community-server\n\n# Enable and start\nsudo systemctl enable --now mysqld\n\n# Check status\nsystemctl status mysqld\n\n# Verify version\nmysql --version<\/code><\/pre>\n\n\n\n<p>Note: On RHEL-like systems, the service name is usually <code>mysqld<\/code>. On Debian-based systems, it\u2019s <code>mysql<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"initial-security-hardening\"><strong>Initial Security Hardening<\/strong><\/h2>\n\n\n\n<p>Run the built-in hardening script to remove unsafe defaults and set a strong root password.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo mysql_secure_installation<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Set a strong root password (at least 16 chars, mixed types)<\/li>\n\n\n\n<li>Remove anonymous users<\/li>\n\n\n\n<li>Disallow remote root login<\/li>\n\n\n\n<li>Remove test database<\/li>\n\n\n\n<li>Reload privilege tables<\/li>\n<\/ul>\n\n\n\n<p>On Ubuntu\/Debian, root may authenticate via <code>auth_socket<\/code>. If you prefer password auth, explicitly set it:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo mysql -e \"ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'YourStrongPassword!'; FLUSH PRIVILEGES;\"<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"edit-mysql-configuration-my-cnf\"><strong>Edit MySQL Configuration (my.cnf)<\/strong><\/h2>\n\n\n\n<p>Modern MySQL stores settings in a few locations, but the main server section is [mysqld]. Common paths:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ubuntu\/Debian: <code>\/etc\/mysql\/mysql.conf.d\/mysqld.cnf<\/code> (included from <code>\/etc\/mysql\/my.cnf<\/code>)<\/li>\n\n\n\n<li>RHEL\/AlmaLinux\/Rocky: <code>\/etc\/my.cnf<\/code><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"core-networking-and-charset-settings\"><strong>Core, Networking, and Charset Settings<\/strong><\/h3>\n\n\n\n<p>Use these as safe, production-friendly defaults for MySQL 8 in 2026. Adjust sizes for your RAM.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;mysqld]\n# General\nuser = mysql\npid-file = \/run\/mysqld\/mysqld.pid\nsocket = \/run\/mysqld\/mysqld.sock\ndatadir = \/var\/lib\/mysql\nskip_name_resolve = ON\n\n# Networking\nbind-address = 0.0.0.0        # Use 0.0.0.0 only if firewall restricts access\nport = 3306\n\n# Character set &amp; collation (MySQL 8 defaults are already utf8mb4)\ncharacter-set-server = utf8mb4\ncollation-server = utf8mb4_unicode_ci\n\n# InnoDB (tune sizes to your RAM)\ninnodb_buffer_pool_size = 2G      # ~50-70% of RAM on dedicated DB server\ninnodb_buffer_pool_instances = 2\ninnodb_log_file_size = 512M\ninnodb_log_files_in_group = 2\ninnodb_flush_method = O_DIRECT\ninnodb_flush_log_at_trx_commit = 1\n\n# Connections &amp; caches (start conservative, raise if needed)\nmax_connections = 200\ntable_open_cache = 4096\nthread_cache_size = 100\ntmp_table_size = 64M\nmax_heap_table_size = 64M\n\n# SQL mode &amp; compatibility\nsql_mode = STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION\n\n# Logging\nlog_error_verbosity = 3\nslow_query_log = ON\nslow_query_log_file = \/var\/log\/mysql\/mysql-slow.log\nlong_query_time = 1\n\n# Binary logging (enable for point-in-time recovery or replication)\nserver_id = 1\nlog_bin = \/var\/log\/mysql\/mysql-bin.log\nbinlog_expire_logs_seconds = 604800      # 7 days\nbinlog_format = ROW\n\n# Optional: enforce TLS for remote clients (ensure clients support it)\n# require_secure_transport = ON<\/code><\/pre>\n\n\n\n<p>After editing, restart MySQL:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl restart mysql    # Debian\/Ubuntu\n# or\nsudo systemctl restart mysqld   # RHEL\/AlmaLinux\/Rocky<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"create-a-database-and-least-privilege-user\"><strong>Create a Database and Least-Privilege User<\/strong><\/h2>\n\n\n\n<p>Grant only the permissions your application needs, and restrict by host or subnet.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mysql -u root -p\n\n-- Inside the MySQL shell:\nCREATE DATABASE appdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\n\nCREATE USER 'appuser'@'10.0.0.%' IDENTIFIED BY 'AnotherStrongPassword!';\nGRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER\nON appdb.* TO 'appuser'@'10.0.0.%';\n\nFLUSH PRIVILEGES;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"open-the-firewall-safely\"><strong>Open the Firewall (Safely)<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"ufw-ubuntu-debian\"><strong>UFW (Ubuntu\/Debian)<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># Allow only a trusted IP or subnet\nsudo ufw allow from 203.0.113.10 to any port 3306 proto tcp\nsudo ufw reload\nsudo ufw status<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"firewalld-rhel-almalinux-rocky\"><strong>firewalld (RHEL\/AlmaLinux\/Rocky)<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># Allow a specific source to port 3306\nsudo firewall-cmd --permanent --add-rich-rule='rule family=\"ipv4\" source address=\"203.0.113.10\" port protocol=\"tcp\" port=\"3306\" accept'\nsudo firewall-cmd --reload\nsudo firewall-cmd --list-all<\/code><\/pre>\n\n\n\n<p>SELinux enabled? If you change the default port, label it for MySQL:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo semanage port -a -t mysqld_port_t -p tcp 3307   # example for a custom port<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"performance-tuning-2026-best-practices\"><strong>Performance Tuning (2026 Best Practices)<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use InnoDB as the default engine (MySQL 8 default).<\/li>\n\n\n\n<li>Allocate 50\u201370% of RAM to <code>innodb_buffer_pool_size<\/code> on dedicated DB hosts (30\u201340% on shared hosts).<\/li>\n\n\n\n<li>Place data and logs on fast SSD\/NVMe; separate volume from OS if possible.<\/li>\n\n\n\n<li>Keep <code>innodb_flush_log_at_trx_commit=1<\/code> for durability; use a UPS to protect from power loss.<\/li>\n\n\n\n<li>Avoid the removed MySQL 8 query cache; optimize indexes and queries instead.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"example-sizing\"><strong>Example Sizing<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>4 GB RAM: <code>innodb_buffer_pool_size=2.5G<\/code>, <code>innodb_log_file_size=512M<\/code>, <code>max_connections=150\u2013200<\/code><\/li>\n\n\n\n<li>16 GB RAM: <code>innodb_buffer_pool_size=10G<\/code>, <code>innodb_log_file_size=1G<\/code>, <code>max_connections=300\u2013500<\/code><\/li>\n<\/ul>\n\n\n\n<p>Watch metrics: buffer pool hit rate, threads_running, InnoDB I\/O, temporary tables on disk, row lock waits. Adjust gradually and re-test.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"enable-slow-query-log-and-optimize\"><strong>Enable Slow Query Log and Optimize<\/strong><\/h2>\n\n\n\n<p>The slow query log surfaces inefficient SQL so you can add indexes or refactor code. We set it earlier; confirm it\u2019s active:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>SHOW VARIABLES LIKE 'slow_query_log';\nSHOW VARIABLES LIKE 'long_query_time';<\/code><\/pre>\n\n\n\n<p>Summarize slow queries:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo mysqldumpslow -s t \/var\/log\/mysql\/mysql-slow.log | head -n 50\n# Or use Percona Toolkit for deeper analysis:\n# pt-query-digest \/var\/log\/mysql\/mysql-slow.log<\/code><\/pre>\n\n\n\n<p>Add missing indexes, avoid SELECT *, and paginate large result sets. For WordPress, ensure indexes on wp_postmeta(meta_key), wp_options(autoload), and wp_posts(post_type, post_status, post_date).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"backups-and-restore-point-in-time-ready\"><strong>Backups and Restore (Point-in-Time Ready)<\/strong><\/h2>\n\n\n\n<p>Start with logical dumps for small\/medium databases; use physical hot backup for 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># Consistent dump for InnoDB\nmysqldump --single-transaction --routines --events --triggers -u root -p appdb &gt; appdb-$(date +%F).sql\n\n# Restore\nmysql -u root -p appdb &lt; appdb-2026-01-01.sql<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"binary-logs-for-pitr\"><strong>Binary Logs for PITR<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># List binary logs\nSHOW BINARY LOGS;\n\n# After restoring a full dump, replay binlogs up to a point in time\nmysqlbinlog --start-datetime=\"2026-05-10 10:00:00\" --stop-datetime=\"2026-05-10 11:00:00\" \/var\/log\/mysql\/mysql-bin.000123 | mysql -u root -p<\/code><\/pre>\n\n\n\n<p>For very large databases, consider Percona XtraBackup for hot, non-blocking physical backups.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"monitoring-and-routine-maintenance\"><strong>Monitoring and Routine Maintenance<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Uptime and basic stats: <code>mysqladmin status<\/code><\/li>\n\n\n\n<li>Health checks: <code>SHOW ENGINE INNODB STATUS\\G<\/code><\/li>\n\n\n\n<li>Table statistics: <code>ANALYZE TABLE<\/code> key tables monthly<\/li>\n\n\n\n<li>Enable <code>performance_schema<\/code> (default ON) for wait events and statement insights<\/li>\n\n\n\n<li>Track <a href=\"https:\/\/www.youstable.com\/blog\/check-disk-space-files-in-linux\/\">disk space<\/a> (datadir and log volume) and rotate logs<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"troubleshooting-common-issues\"><strong>Troubleshooting Common Issues<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cannot connect: Verify <code>bind-address<\/code>, firewall rules, and that the user\u2019s host matches (e.g., <code>'appuser'@'10.0.0.%'<\/code>).<\/li>\n\n\n\n<li>Access denied: Check <code>SELECT host, user FROM mysql.user;<\/code>, then <code>SHOW GRANTS FOR 'user'@'host';<\/code>.<\/li>\n\n\n\n<li>Port in use: Confirm 3306 availability with <code>ss -ltnp | grep 3306<\/code>.<\/li>\n\n\n\n<li>InnoDB crash recovery: Add <code>innodb_force_recovery=1<\/code> (raise carefully) to my.cnf, restart, dump data, then remove.<\/li>\n\n\n\n<li>High CPU: Inspect <code>SHOW PROCESSLIST;<\/code> and slow log; add indexes or limit expensive queries.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"production-checklist-step-by-step-guide-2026\"><strong>Production Checklist (Step-by-Step Guide 2026)<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Install MySQL 8 and enable the service<\/li>\n\n\n\n<li>Run <code>mysql_secure_installation<\/code> and enforce strong passwords<\/li>\n\n\n\n<li>Set <code>innodb_buffer_pool_size<\/code>, logs, and caches based on RAM<\/li>\n\n\n\n<li>Enable slow query log and review weekly<\/li>\n\n\n\n<li>Create least-privilege users and restrict by host\/subnet<\/li>\n\n\n\n<li>Open firewall only to trusted IPs; consider TLS<\/li>\n\n\n\n<li>Enable binary logs for PITR; schedule nightly backups<\/li>\n\n\n\n<li>Monitor performance_schema, disk space, and error logs<\/li>\n\n\n\n<li>Document changes and test restores regularly<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"when-to-choose-managed-hosting\"><strong>When to Choose Managed Hosting<\/strong><\/h2>\n\n\n\n<p>If you\u2019d rather not spend weekends tuning buffers or chasing slow queries, a <a href=\"https:\/\/www.youstable.com\/blog\/benefits-of-fully-managed-dedicated-server\/\">managed VPS or dedicated server<\/a> can help. At YouStable, our hosting specialists provision optimized MySQL stacks, set sane my.cnf defaults for your workload, configure backups and monitoring, and provide guidance as your traffic grows.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"faqs-configure-mysql-on-linux-server\"><strong>FAQs: Configure 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-1765603761065\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"which-mysql-version-should-i-use-in-2026\"><strong>Which MySQL version should I use in 2026?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Use MySQL 8.4 LTS for long-term stability and security updates. It\u2019s production-ready, widely supported, and offers improved performance and features over older 8.0 minors.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765603775998\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"where-is-my-cnf-located-on-linux\"><strong>Where is my.cnf located on Linux?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>On Ubuntu\/Debian, edit <code>\/etc\/mysql\/mysql.conf.d\/mysqld.cnf<\/code>. On RHEL\/AlmaLinux\/Rocky, use <code>\/etc\/my.cnf<\/code>. Confirm with <code>mysqld --help --verbose | grep -A1 \"Default options\"<\/code> to see the inclusion order.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765603784030\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"how-do-i-allow-remote-mysql-access-securely\"><strong>How do I allow remote MySQL access securely?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Set <code>bind-address=0.0.0.0<\/code> (or a specific interface), create users restricted by host (e.g., <code>'user'@'203.0.113.%'<\/code>), allow port 3306 only from trusted IPs via firewall, and optionally enforce TLS with <code>require_secure_transport=ON<\/code>.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765603792598\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"what-are-the-most-important-performance-settings\"><strong>What are the most important performance settings?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Prioritize <code>innodb_buffer_pool_size<\/code>, <code>innodb_log_file_size<\/code>, <code>innodb_flush_method<\/code>, <code>max_connections<\/code>, <code>table_open_cache<\/code>, and <code>tmp_table_size<\/code>\/<code>max_heap_table_size<\/code>. Then optimize queries using the slow query log and proper indexing.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1765603800697\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \" class=\"rank-math-question \" id=\"how-should-i-back-up-mysql-for-production\"><strong>How should I back up MySQL for production?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Take nightly logical dumps with <code>mysqldump --single-transaction<\/code> for smaller databases and enable binary logs for point-in-time recovery. For large datasets or minimal downtime, use a physical hot backup tool like Percona XtraBackup and test restores regularly.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"final-word\">Final Word<\/h2>\n\n\n\n<p>With this step-by-step guide, you can confidently configure MySQL on a Linux server, tighten security, and tune for performance. Keep changes incremental, monitor consistently, and revisit settings as your workload evolves. If you need hands-on help, YouStable\u2019s managed engineers are a chat away.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>To configure MySQL on a Linux server, install MySQL 8, run security hardening, tune the my.cnf file for your RAM [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":15634,"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-12796","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\/How-to-Configure-MySQL-on-Linux-Server.jpg","author_info":{"display_name":"Prahlad Prajapati","author_link":"https:\/\/www.youstable.com\/blog\/author\/prahladblog"},"_links":{"self":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts\/12796","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\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/comments?post=12796"}],"version-history":[{"count":4,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts\/12796\/revisions"}],"predecessor-version":[{"id":15635,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/posts\/12796\/revisions\/15635"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/media\/15634"}],"wp:attachment":[{"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/media?parent=12796"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/categories?post=12796"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.youstable.com\/blog\/wp-json\/wp\/v2\/tags?post=12796"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}