{"id":3496,"date":"2023-06-12T09:31:03","date_gmt":"2023-06-12T06:31:03","guid":{"rendered":"https:\/\/www.virtono.com\/community\/?p=3496"},"modified":"2023-06-12T09:31:05","modified_gmt":"2023-06-12T06:31:05","slug":"how-to-tune-your-mysql-server-for-optimal-performance","status":"publish","type":"post","link":"https:\/\/www.virtono.com\/community\/tutorial-how-to\/how-to-tune-your-mysql-server-for-optimal-performance\/","title":{"rendered":"How to Tune Your MySQL Server for Optimal Performance"},"content":{"rendered":"\n<p>In this step-by-step guide, we will walk you through the process of tuning your MySQL server, helping you enhance its efficiency and responsiveness. MySQL is one of the most popular open-source relational database management systems, widely used for various applications and websites. However, as your database grows in size and complexity, it&#8217;s essential to optimize your MySQL server to ensure optimal performance. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"330\" data-attachment-id=\"3497\" data-permalink=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/how-to-tune-your-mysql-server-for-optimal-performance\/attachment\/2-38\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2023\/06\/2.png?fit=600%2C330&amp;ssl=1\" data-orig-size=\"600,330\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"2\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2023\/06\/2.png?fit=600%2C330&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2023\/06\/2.png?resize=600%2C330&#038;ssl=1\" alt=\"How to Tune Your MySQL Server for Optimal Performance\" class=\"wp-image-3497\" srcset=\"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2023\/06\/2.png?w=600&amp;ssl=1 600w, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2023\/06\/2.png?resize=300%2C165&amp;ssl=1 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/figure>\n<\/div>\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_73 counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/how-to-tune-your-mysql-server-for-optimal-performance\/#Step_1_Analyzing_Database_Workload\" title=\"Step 1: Analyzing Database Workload\">Step 1: Analyzing Database Workload<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/how-to-tune-your-mysql-server-for-optimal-performance\/#Enable_the_MySQL_slow_query_log_to_identify_queries_that_take_longer_to_execute\" title=\"Enable the MySQL slow query log to identify queries that take longer to execute.\">Enable the MySQL slow query log to identify queries that take longer to execute.<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/how-to-tune-your-mysql-server-for-optimal-performance\/#Utilize_performance_monitoring_tools_like_MySQL_Enterprise_Monitor_Percona_Monitoring_or_open-source_alternatives_like_Prometheus_and_Grafana\" title=\"Utilize performance monitoring tools like MySQL Enterprise Monitor, Percona Monitoring, or open-source alternatives like Prometheus and Grafana.\">Utilize performance monitoring tools like MySQL Enterprise Monitor, Percona Monitoring, or open-source alternatives like Prometheus and Grafana.<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/how-to-tune-your-mysql-server-for-optimal-performance\/#Step_2_Configuring_MySQL_Server_Parameters\" title=\"Step 2: Configuring MySQL Server Parameters\">Step 2: Configuring MySQL Server Parameters<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/how-to-tune-your-mysql-server-for-optimal-performance\/#Scenario_for_a_server_with_8_CPU_cores_and_4_GB_of_RAM\" title=\"Scenario for a server with 8 CPU cores and 4 GB of RAM\">Scenario for a server with 8 CPU cores and 4 GB of RAM<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/how-to-tune-your-mysql-server-for-optimal-performance\/#Step_3_Optimizing_Indexing\" title=\"Step 3: Optimizing Indexing\">Step 3: Optimizing Indexing<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/how-to-tune-your-mysql-server-for-optimal-performance\/#Step_4_Query_Optimization\" title=\"Step 4: Query Optimization\">Step 4: Query Optimization<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/how-to-tune-your-mysql-server-for-optimal-performance\/#Step_5_Monitoring_and_Fine-Tuning\" title=\"Step 5: Monitoring and Fine-Tuning\">Step 5: Monitoring and Fine-Tuning<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/how-to-tune-your-mysql-server-for-optimal-performance\/#Final_Thoughts\" title=\"Final Thoughts\">Final Thoughts<\/a><\/li><\/ul><\/nav><\/div>\n<h3 class=\"wp-block-heading has-accent-color has-text-color\"><span class=\"ez-toc-section\" id=\"Step_1_Analyzing_Database_Workload\"><\/span>Step 1: Analyzing Database Workload<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Before delving into tuning techniques, it&#8217;s crucial to understand your database workload. Analyzing the database workload helps you identify the most frequently executed queries, problematic areas, and potential bottlenecks. Here are a few methods to gather workload information:<\/p>\n\n\n\n<h4 class=\"wp-block-heading has-accent-color has-text-color\"><span class=\"ez-toc-section\" id=\"Enable_the_MySQL_slow_query_log_to_identify_queries_that_take_longer_to_execute\"><\/span><strong>Enable the MySQL slow query log to identify queries that take longer to execute.<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Open your MySQL configuration file, my.cnf or my.ini, depending on your operating system and MySQL version.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>On Linux systems, the my.cnf file is typically located in the \/etc\/mysql\/ directory.<\/li>\n\n\n\n<li>On Windows systems, the my.ini file is typically located in the MySQL installation directory (e.g., C:\\Program Files\\MySQL\\MySQL Server X.X).<\/li>\n<\/ul>\n\n\n\n<p>Locate the <code>[mysqld]<\/code> section in the configuration file. If it doesn&#8217;t exist, add the <code>[mysqld]<\/code> section at the end of the file.<\/p>\n\n\n\n<p>Add the following lines to enable and configure the slow query log:<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>slow_query_log = 1\nslow_query_log_file = \/var\/log\/mysql\/mysql-slow.log\nlong_query_time = 2<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>slow_query_log<\/code>: Set this option to <code>1<\/code> to enable the slow query log.<\/li>\n\n\n\n<li><code>slow_query_log_file<\/code>: Specify the path and filename for the log file. You can choose any location and filename you prefer.<\/li>\n\n\n\n<li><code>long_query_time<\/code>: Set the threshold value in seconds. Queries taking longer than this value will be logged. In the example above, queries that take longer than 2 seconds will be logged.<\/li>\n<\/ul>\n\n\n\n<p>Save the configuration file.<\/p>\n\n\n\n<p>Restart the MySQL server to apply the changes.<\/p>\n\n\n\n<p>Once the MySQL server is running again, it will start logging slow queries to the specified log file.<\/p>\n\n\n\n<p>To analyze the slow query log, you can use tools like <code>mysqldumpslow<\/code> or <code>pt-query-digest<\/code>. Here&#8217;s an example using <code>mysqldumpslow<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code>mysqldumpslow \/var\/log\/mysql\/mysql-slow.log<\/code><\/pre>\n\n\n\n<p>This command will provide you with a summary of the slow queries, including their execution times and other relevant information.<\/p>\n\n\n\n<h4 class=\"wp-block-heading has-accent-color has-text-color\"><span class=\"ez-toc-section\" id=\"Utilize_performance_monitoring_tools_like_MySQL_Enterprise_Monitor_Percona_Monitoring_or_open-source_alternatives_like_Prometheus_and_Grafana\"><\/span>Utilize performance monitoring tools like MySQL Enterprise Monitor, Percona Monitoring, or open-source alternatives like <a href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/how-to-install-prometheus-and-grafana-on-ubuntu\/\">Prometheus and Grafana<\/a>.<span class=\"ez-toc-section-end\"><\/span><\/h4>\n\n\n\n<p>Identify high load periods using tools like MySQLTuner or pt-query-digest.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-accent-color has-text-color\"><span class=\"ez-toc-section\" id=\"Step_2_Configuring_MySQL_Server_Parameters\"><\/span>Step 2: Configuring MySQL Server Parameters<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Optimizing the MySQL server configuration is vital for improving performance. The configuration file (my.cnf or my.ini) contains various parameters that control the behavior and resource allocation of the MySQL server. Here are some key parameters to consider:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>innodb_buffer_pool_size: Adjust the size of the InnoDB buffer pool to cache frequently accessed data.<\/li>\n\n\n\n<li>query_cache_size: Enable the query cache and set an appropriate size to cache query results.<\/li>\n\n\n\n<li>max_connections: Configure the maximum number of concurrent connections based on your application&#8217;s requirements.<\/li>\n\n\n\n<li>key_buffer_size: Set the size of the buffer used for index blocks to enhance index searching.<\/li>\n\n\n\n<li>thread_cache_size: Define the number of threads cached for reuse.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading has-accent-color has-text-color\"><span class=\"ez-toc-section\" id=\"Scenario_for_a_server_with_8_CPU_cores_and_4_GB_of_RAM\"><\/span>Scenario for a server with 8 CPU cores and 4 GB of RAM<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>When configuring the my.cnf file for a MySQL server with 8 CPU cores and 4 GB of RAM, it&#8217;s important to balance the allocation of system resources to optimize performance. Here is a suggested configuration for your my.cnf file:<\/p>\n\n\n\n<pre class=\"wp-block-code has-white-color has-black-background-color has-text-color has-background\"><code># MySQL Configuration\n\n# Server-related settings\n&#91;mysqld]\nport = 3306\nsocket = \/var\/run\/mysqld\/mysqld.sock\npid-file = \/var\/run\/mysqld\/mysqld.pid\n\n# Connection settings\nmax_connections = 200  # Adjust based on your application's needs\n\n# Table cache settings\ntable_open_cache = 1000  # Adjust based on the number of tables in your database\n\n# Query cache settings\nquery_cache_type = 1\nquery_cache_size = 128M  # Adjust based on available memory and workload\n\n# InnoDB settings\ninnodb_buffer_pool_size = 2G  # Allocate a significant portion of available memory to the buffer pool\ninnodb_flush_log_at_trx_commit = 2\ninnodb_log_buffer_size = 32M\n\n# MyISAM settings\nkey_buffer_size = 256M  # Adjust based on your workload and indexing needs\n\n# Thread settings\nthread_cache_size = 8  # Set to a reasonable number based on your concurrent connections\n\n# Temporary tables settings\ntmp_table_size = 64M\nmax_heap_table_size = 64M\n\n# Log settings\nlog_error = \/var\/log\/mysql\/error.log\n\n# Other settings\ncharacter-set-server = utf8mb4\ncollation-server = utf8mb4_unicode_ci<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading has-accent-color has-text-color\"><span class=\"ez-toc-section\" id=\"Step_3_Optimizing_Indexing\"><\/span>Step 3: Optimizing Indexing<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Indexing is crucial for efficient data retrieval in MySQL. It helps reduce query execution time and improves overall database performance. Consider the following tips for optimizing indexing:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Identify queries that have high execution time and lack proper indexes using EXPLAIN and ANALYZE commands.<\/li>\n\n\n\n<li>Create indexes on frequently used columns, especially those involved in JOIN and WHERE clauses.<\/li>\n\n\n\n<li>Avoid excessive indexing, as it can lead to additional overhead during data modification operations.<\/li>\n\n\n\n<li>Regularly analyze and defragment indexes to maintain their efficiency.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading has-accent-color has-text-color\"><span class=\"ez-toc-section\" id=\"Step_4_Query_Optimization\"><\/span>Step 4: Query Optimization<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Improving query performance can significantly enhance MySQL server performance. Here are some techniques to optimize queries:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Use appropriate indexing, as discussed in Step 3.<\/li>\n\n\n\n<li>Minimize the use of wildcard characters at the beginning of LIKE queries.<\/li>\n\n\n\n<li>Avoid unnecessary sorting by optimizing ORDER BY and GROUP BY clauses.<\/li>\n\n\n\n<li>Use LIMIT clause to restrict the number of returned rows when applicable.<\/li>\n\n\n\n<li>Rewrite complex queries or use subqueries to simplify and optimize their execution.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading has-accent-color has-text-color\"><span class=\"ez-toc-section\" id=\"Step_5_Monitoring_and_Fine-Tuning\"><\/span>Step 5: Monitoring and Fine-Tuning<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Continuously monitoring your MySQL server&#8217;s performance is essential to detect and address issues promptly. Here are a few monitoring and fine-tuning techniques:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Regularly review the MySQL error log for any warnings or errors.<\/li>\n\n\n\n<li>Use tools like MySQL Enterprise Monitor or open-source options like PMM to monitor server metrics, query performance, and resource utilization.<\/li>\n\n\n\n<li>Adjust server parameters based on changing workloads and performance requirements.<\/li>\n\n\n\n<li>Periodically analyze and optimize your database&#8217;s table structure and storage engines.<\/li>\n\n\n\n<li>Keep your MySQL server up to date with the latest version and security patches.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading has-accent-color has-text-color\"><span class=\"ez-toc-section\" id=\"Final_Thoughts\"><\/span>Final Thoughts<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Tuning your MySQL server is an ongoing process that requires careful analysis, configuration adjustments, and continuous monitoring. By following this step-by-step guide, you will be able to optimize your MySQL server for enhanced performance, scalability, and reliability. Remember to thoroughly test any configuration changes in a non-production environment before applying them to your live system. With an optimized MySQL server, you can ensure your applications and websites perform at their best, delivering a seamless user experience.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this step-by-step guide, we will walk you through the process of tuning your MySQL server, helping you enhance its efficiency and responsiveness. MySQL is one of the most popular open-source relational database management systems, widely used for various applications and websites. However, as your database grows in size and<\/p>\n","protected":false},"author":8,"featured_media":3498,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[3],"tags":[501,506,505,502,504,503],"class_list":["post-3496","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorial-how-to","tag-mysql-optimal-performance","tag-mysql-parameters","tag-mysql-running","tag-mysql-server","tag-mysql-tuning","tag-tune-mysql"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2023\/06\/1.png?fit=600%2C330&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p7ISfL-Uo","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":1033,"url":"https:\/\/www.virtono.com\/community\/tutorial-how-to\/how-to-install-and-configure-mysql-on-opensuse-13-1\/","url_meta":{"origin":3496,"position":0},"title":"How To Install and Configure MySQL on openSuSe 13.1","author":"Daniel Draga","date":"September 24, 2017","format":false,"excerpt":"Introduction MYSQL is a software, with MySQL server at its core, and a lot of utility programs, that helps is managing and administration of database. For example, let say you want to create a new database, you send a message to the MySQL server that says, for instance, \u201ccreate a\u2026","rel":"","context":"In &quot;Tutorials&quot;","block_context":{"text":"Tutorials","link":"https:\/\/www.virtono.com\/community\/category\/tutorial-how-to\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/09\/mysql-1.jpg?fit=700%2C256&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/09\/mysql-1.jpg?fit=700%2C256&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/09\/mysql-1.jpg?fit=700%2C256&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/09\/mysql-1.jpg?fit=700%2C256&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":1030,"url":"https:\/\/www.virtono.com\/community\/tutorial-how-to\/how-to-install-and-use-mysql-on-debian-7\/","url_meta":{"origin":3496,"position":1},"title":"How To Install and Use MySQL on Debian 7","author":"Daniel Draga","date":"September 24, 2017","format":false,"excerpt":"Introduction MYSQL is a software, with MySQL server at its core, and a lot of utility programs, that helps is managing and administration of database. For example, let's say you want to create a new database, you send a message to the MySQL server that says, for instance, \u201cCreate a\u2026","rel":"","context":"In &quot;Tutorials&quot;","block_context":{"text":"Tutorials","link":"https:\/\/www.virtono.com\/community\/category\/tutorial-how-to\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/09\/mysql-backup.png?fit=394%2C315&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":305,"url":"https:\/\/www.virtono.com\/community\/knowledgebase\/how-mysql-and-php-work-together\/","url_meta":{"origin":3496,"position":2},"title":"How MySQL and PHP Work Together","author":"Daniel Draga","date":"August 7, 2016","format":false,"excerpt":"This article is a fraction of a Number of Articles on MySQL, to access them click here. You interact with the database by passing messages to the MySQL server. The messages are composed in the SQL language, a standard computer language understood by most database management systems. PHP doesn\u2019t understand\u2026","rel":"","context":"In &quot;Knowledgebase&quot;","block_context":{"text":"Knowledgebase","link":"https:\/\/www.virtono.com\/community\/category\/knowledgebase\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2016\/08\/php___mysql_wallpaper_by_milesandryprower-d9o6yat.png?fit=1024%2C576&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2016\/08\/php___mysql_wallpaper_by_milesandryprower-d9o6yat.png?fit=1024%2C576&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2016\/08\/php___mysql_wallpaper_by_milesandryprower-d9o6yat.png?fit=1024%2C576&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2016\/08\/php___mysql_wallpaper_by_milesandryprower-d9o6yat.png?fit=1024%2C576&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":277,"url":"https:\/\/www.virtono.com\/community\/knowledgebase\/introduction-to-mysql-and-how-it-works\/","url_meta":{"origin":3496,"position":3},"title":"Introduction To MySQL and How It Works","author":"Daniel Draga","date":"August 7, 2016","format":false,"excerpt":"This article is a fraction of a Number of Articles on MySQL, to access them click here. INTRODUCTION Beneath all the cute animations, the smooth transactions, lies the ruins of the backend, and talking about websites, the backend is primarily the database. Ever wondered, how the web sites remember you?\u2026","rel":"","context":"In &quot;Knowledgebase&quot;","block_context":{"text":"Knowledgebase","link":"https:\/\/www.virtono.com\/community\/category\/knowledgebase\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2016\/08\/mysql_wallpaper_by_milesandryprower-d9o6y9z.png?fit=1024%2C576&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2016\/08\/mysql_wallpaper_by_milesandryprower-d9o6y9z.png?fit=1024%2C576&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2016\/08\/mysql_wallpaper_by_milesandryprower-d9o6y9z.png?fit=1024%2C576&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2016\/08\/mysql_wallpaper_by_milesandryprower-d9o6y9z.png?fit=1024%2C576&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":294,"url":"https:\/\/www.virtono.com\/community\/knowledgebase\/mysql-performance-tuning-the-stages-of-tuning\/","url_meta":{"origin":3496,"position":4},"title":"MySQL Performance Tuning: The stages of Tuning","author":"Daniel Draga","date":"August 7, 2016","format":false,"excerpt":"This article is a fraction of a Number of Articles on MySQL, to access them click here. Why Tune a Database? Cost-effectiveness A system that is tuned can minimize the need to buy additional hardware and other resources to meet the needs of the end users. Tuning may demonstrate that\u2026","rel":"","context":"In &quot;Knowledgebase&quot;","block_context":{"text":"Knowledgebase","link":"https:\/\/www.virtono.com\/community\/category\/knowledgebase\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1024,"url":"https:\/\/www.virtono.com\/community\/tutorial-how-to\/how-to-install-latest-version-of-mysql-on-ubuntu-16-04\/","url_meta":{"origin":3496,"position":5},"title":"How To Install Latest version of MySQL on Ubuntu 16.04","author":"Daniel Draga","date":"September 24, 2017","format":false,"excerpt":"Introduction MYSQL is a software, with MySQL server at its core, and a lot of utility programs, that helps is managing and administration of database. For example, let say you want to create a new database, you send a message to the MySQL server that says, for instance, \u201ccreate a\u2026","rel":"","context":"In &quot;Tutorials&quot;","block_context":{"text":"Tutorials","link":"https:\/\/www.virtono.com\/community\/category\/tutorial-how-to\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/09\/MySQLdolphin_twitter.png?fit=750%2C375&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/09\/MySQLdolphin_twitter.png?fit=750%2C375&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/09\/MySQLdolphin_twitter.png?fit=750%2C375&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/09\/MySQLdolphin_twitter.png?fit=750%2C375&ssl=1&resize=700%2C400 2x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/posts\/3496","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/comments?post=3496"}],"version-history":[{"count":1,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/posts\/3496\/revisions"}],"predecessor-version":[{"id":3499,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/posts\/3496\/revisions\/3499"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/media\/3498"}],"wp:attachment":[{"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/media?parent=3496"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/categories?post=3496"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/tags?post=3496"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}