{"id":7687,"date":"2026-02-03T11:58:12","date_gmt":"2026-02-03T11:58:12","guid":{"rendered":"https:\/\/www.hostinger.com\/support\/?p=7687"},"modified":"2026-04-09T10:05:41","modified_gmt":"2026-04-09T10:05:41","slug":"connecting-a-hostinger-mysql-database-to-a-node-js-application","status":"publish","type":"post","link":"https:\/\/www.hostinger.com\/support\/connecting-a-hostinger-mysql-database-to-a-node-js-application\/","title":{"rendered":"Connecting a Hostinger MySQL Database to a Node.js Application"},"content":{"rendered":"<h2 id=\"Overview\" data-local-id=\"c23ae9644a25\" data-renderer-start-pos=\"65\"><strong data-renderer-mark=\"true\">Overview<\/strong><button class=\"css-x4slh0\" type=\"button\" data-testid=\"anchor-button\" aria-hidden=\"true\"><\/button><\/h2><p data-renderer-start-pos=\"75\" data-local-id=\"f11f4d7b3198\">This guide explains how to connect a <strong data-renderer-mark=\"true\">Node.js application<\/strong> to a <strong data-renderer-mark=\"true\"><span data-highlighted=\"true\" data-vc=\"highlighted-text\">MySQL<\/span> database hosted on Hostinger<\/strong>.<\/p><p data-renderer-start-pos=\"174\" data-local-id=\"6a1f918e5ed2\">Before proceeding:<\/p><ul class=\"ak-ul\" data-local-id=\"ecbb58e6-35c7-4af0-a8cb-8bd9814ae752\" data-indent-level=\"1\">\n<li>\n<p data-renderer-start-pos=\"196\" data-local-id=\"94342134cd6b\">You already have a <a class=\"_ymio1r31 _ypr0glyw _zcxs1o36 _mizu1v1w _1ah3dkaa _ra3xnqa1 _128mdkaa _1cvmnqa1 _4davt94y _4bfu1r31 _1hms8stv _ajmmnqa1 _vchhusvi _kqswh2mm _syaz13af _ect4ttxp _1a3b1r31 _4fpr8stv _5goinqa1 _f8pj13af _9oik1r31 _1bnxglyw _jf4cnqa1 _30l313af _1nrm1r31 _c2waglyw _1iohnqa1 _9h8h12zz _10531ra0 _1ien1ra0 _n0fx1ra0 _1vhv17z1\" title=\"https:\/\/www.hostinger.com\/support\/how-to-deploy-a-nodejs-website-in-hostinger\/\" href=\"https:\/\/www.hostinger.com\/support\/how-to-deploy-a-nodejs-website-in-hostinger\/\" data-renderer-mark=\"true\"><strong data-renderer-mark=\"true\">built Node.js website or application<\/strong><\/a><\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"255\" data-local-id=\"4b843a77ee90\">Your app requires a database connection to <strong data-renderer-mark=\"true\">store data<\/strong><\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"312\" data-local-id=\"6896f9e37f9a\">You are ready to configure the database and environment variables for production<\/p>\n<\/li>\n<\/ul><div class=\"intercom-interblocks-callout\" style=\"background-color: #feedaf80;border-color: #fbc91633\"><strong data-renderer-mark=\"true\">Important:<\/strong> Hostinger currently offers <strong data-renderer-mark=\"true\"><span data-highlighted=\"true\" data-vc=\"highlighted-text\">MySQL<\/span> databases only<\/strong>. Other database engines (PostgreSQL, MongoDB, etc.) are not supported on shared or managed hosting plans.<\/div><hr role=\"presentation\"><h2 id=\"Step-1:-Create-a-MySQL-Database-in-hPanel\" data-local-id=\"411f8b7d9dae\" data-renderer-start-pos=\"568\"><strong data-renderer-mark=\"true\">Step 1: Create a <span data-highlighted=\"true\" data-vc=\"highlighted-text\">MySQL<\/span> Database in hPanel<\/strong><button class=\"css-x4slh0\" type=\"button\" data-testid=\"anchor-button\" aria-hidden=\"true\"><\/button><\/h2><ol class=\"ak-ol\" start=\"1\" data-local-id=\"955973e7-31f3-4674-a67c-38b328533fab\" data-indent-level=\"1\">\n<li>\n<p data-renderer-start-pos=\"615\" data-local-id=\"0fedac54c2b4\">Log in to <strong data-renderer-mark=\"true\">Hostinger hPanel<\/strong><\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"645\" data-local-id=\"6c6d7aa2bc11\">Navigate to <strong data-renderer-mark=\"true\">Databases &rarr; <span data-highlighted=\"true\" data-vc=\"highlighted-text\">MySQL<\/span> Databases<\/strong><\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"688\" data-local-id=\"c43426f4bf65\">Click <strong data-renderer-mark=\"true\">Create Database<\/strong><\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"713\" data-local-id=\"259fd35a2691\">Fill in:<\/p>\n<ul class=\"ak-ul\" data-local-id=\"5363e6e7-4235-4a17-bf99-0586efeeadc9\" data-indent-level=\"2\">\n<li>\n<p data-renderer-start-pos=\"725\" data-local-id=\"a426eb824622\"><strong data-renderer-mark=\"true\">Database name<\/strong><\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"742\" data-local-id=\"106e11d1c244\"><strong data-renderer-mark=\"true\">Database username<\/strong><\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"763\" data-local-id=\"364e56e223a6\"><strong data-renderer-mark=\"true\">Password<\/strong> (save this securely)<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"798\" data-local-id=\"2eaaf8df5f67\">Click <strong data-renderer-mark=\"true\">Create<\/strong><\/p>\n<\/li>\n<\/ol><div class=\"rich-media-item mediaSingleView-content-wrap image-center css-16pk4ql\" data-layout=\"center\" data-width=\"760\" data-width-type=\"pixel\" data-node-type=\"mediaSingle\" data-vc=\"media-single\" data-renderer-start-pos=\"814\" data-media-vc-wrapper=\"true\" data-ssr-placeholder=\"Eb7Gh:EfLS5:z8NN7:qz-Pe:Y6119-0\">\n<div class=\"css-ehq88c\">\n<div class=\"css-vhfmu2\" data-media-badges=\"true\" data-testid=\"media-badges\" data-ssr-placeholder=\"nouWf:Eb7Gh:EfLS5:z8NN7:qz-Pe:Y6119-0\"><\/div>\n<div data-type=\"file\" data-node-type=\"media\" data-width=\"1510\" data-height=\"692\" data-id=\"e91f7a8a-62b4-43e1-a390-8ccbbc54f85e\" data-collection=\"contentId-1963982862\" data-file-name=\"Screenshot 2026-02-03 at 09.26.02.png\" data-file-size=\"322653\" data-file-mime-type=\"image\/png\" data-alt=\"Screenshot 2026-02-03 at 09.26.02.png\" data-renderer-start-pos=\"815\" data-local-id=\"51db53d7465c\" data-ssr-placeholder-ignored=\"\" data-context-id=\"1963982862\">\n<div id=\"newFileExperienceWrapper\" class=\"_2rkofajl _vchhusvi _kqswh2mm _ect4ttxp _p12f1osq _c71l1osq _1bsb1qmm _4t3ine4n _1hlmd0i9 _1rquusvi _eg541i5c _mts3kb7n _1ntskb7n _yfmhtlke _5sb1v00u new-file-experience-wrapper\" data-testid=\"media-card-view\" data-media-vc-wrapper=\"true\" data-ssr-placeholder-ignored=\"\">\n<div class=\"_1reo15vq _18m915vq _2rkofajl _1e0c1txw _kqswh2mm _p12f1osq _1bsb1osq _4t3i1osq _c71l1osq media-file-card-view\" data-testid=\"media-file-card-view\" data-test-status=\"complete\" data-test-source=\"ssr-server\" data-cursor=\"pointer\" data-ssr-placeholder-ignored=\"\" data-test-media-name=\"Screenshot 2026-02-03 at 09.26.02.png\" data-test-progress=\"1\">\n<div class=\"_kqswstnw _1bsb1osq _4t3i1osq _1e0c1txw _2lx21bp4 _1bah1h6o _4cvr1h6o\" data-testid=\"ImageRendererWrapper\" data-ssr-placeholder-ignored=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-7688 size-full\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-03_18-46-e1770119563320.png\" alt=\"\" width=\"911\" height=\"419\" srcset=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-03_18-46-e1770119563320.png 911w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-03_18-46-e1770119563320-300x138.png 300w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-03_18-46-e1770119563320-768x353.png 768w\" sizes=\"auto, (max-width: 911px) 100vw, 911px\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div><p data-renderer-start-pos=\"817\" data-local-id=\"21be9f64713f\">Once created, note down:<\/p><ul class=\"ak-ul\" data-local-id=\"0eaf88dd-4212-4a56-adaf-6e1cfc882454\" data-indent-level=\"1\">\n<li>\n<p data-renderer-start-pos=\"845\" data-local-id=\"c2372262364c\">Database name<\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"862\" data-local-id=\"43b33699fbb1\">Database username<\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"883\" data-local-id=\"3088532e9134\">Database password<\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"904\" data-local-id=\"94b8f5e3bd78\">Database host (usually localhost on Hostinger)<\/p>\n<\/li>\n<\/ul><hr role=\"presentation\"><h2 id=\"Step-2:-Configure-Environment-Variables\" data-local-id=\"d6be9cd61186\" data-renderer-start-pos=\"955\"><strong data-renderer-mark=\"true\">Step 2: Configure Environment Variables<\/strong><button class=\"css-x4slh0\" type=\"button\" data-testid=\"anchor-button\" aria-hidden=\"true\"><\/button><\/h2><p data-renderer-start-pos=\"998\" data-local-id=\"ad43b4e35077\">Your Node.js app should <strong data-renderer-mark=\"true\">never hardcode database credentials<\/strong>.<\/p><p data-renderer-start-pos=\"1060\" data-local-id=\"560939222f24\">Instead, use environment variables.<\/p><h3 data-local-id=\"d0dcc456d7b8\" data-renderer-start-pos=\"1097\"><strong data-renderer-mark=\"true\">Option A: Separate Environment Variables (Recommended for clarity)<\/strong><button class=\"css-x4slh0\" type=\"button\" data-testid=\"anchor-button\" aria-hidden=\"true\"><\/button><\/h3><p data-renderer-start-pos=\"1165\" data-local-id=\"3eab0b349718\">Create or update your .env file:<\/p><pre><code>DB_HOST=localhost\r\nDB_PORT=3306\r\nDB_USER=databaseuser\r\nDB_PASSWORD=databasepassword\r\nDB_NAME=databasename<\/code><\/pre><div class=\"rich-media-item mediaSingleView-content-wrap image-center css-16pk4ql\" data-layout=\"center\" data-width=\"760\" data-width-type=\"pixel\" data-node-type=\"mediaSingle\" data-vc=\"media-single\" data-renderer-start-pos=\"1302\" data-media-vc-wrapper=\"true\" data-ssr-placeholder=\"Eb7Gh:EfLS5:z8NN7:qz-Pe:Y6119-1\">\n<div class=\"css-1rksw3m\">\n<div class=\"css-vhfmu2\" data-media-badges=\"true\" data-testid=\"media-badges\" data-ssr-placeholder=\"nouWf:Eb7Gh:EfLS5:z8NN7:qz-Pe:Y6119-1\"><\/div>\n<div data-type=\"file\" data-node-type=\"media\" data-width=\"1510\" data-height=\"827\" data-id=\"8e600bbd-b13b-4b78-962d-781eb08e9dda\" data-collection=\"contentId-1963982862\" data-file-name=\"Screenshot 2026-02-03 at 09.33.53.png\" data-file-size=\"316503\" data-file-mime-type=\"image\/png\" data-alt=\"Screenshot 2026-02-03 at 09.33.53.png\" data-renderer-start-pos=\"1303\" data-local-id=\"061e16070f98\" data-ssr-placeholder-ignored=\"\" data-context-id=\"1963982862\">\n<div id=\"newFileExperienceWrapper\" class=\"_2rkofajl _vchhusvi _kqswh2mm _ect4ttxp _p12f1osq _c71l1osq _1bsb1qmm _4t3ine4n _1hlmd0i9 _1rquusvi _eg541i5c _mts3kb7n _1ntskb7n _yfmhtlke _5sb1v00u new-file-experience-wrapper\" data-testid=\"media-card-view\" data-media-vc-wrapper=\"true\" data-ssr-placeholder-ignored=\"\">\n<div class=\"_1reo15vq _18m915vq _2rkofajl _1e0c1txw _kqswh2mm _p12f1osq _1bsb1osq _4t3i1osq _c71l1osq media-file-card-view\" data-testid=\"media-file-card-view\" data-test-status=\"complete\" data-test-source=\"ssr-server\" data-cursor=\"pointer\" data-ssr-placeholder-ignored=\"\" data-test-media-name=\"Screenshot 2026-02-03 at 09.33.53.png\" data-test-progress=\"1\">\n<div class=\"_kqswstnw _1bsb1osq _4t3i1osq _1e0c1txw _2lx21bp4 _1bah1h6o _4cvr1h6o\" data-testid=\"ImageRendererWrapper\" data-ssr-placeholder-ignored=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-7689 size-full\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-03_18-46_1-e1770119543723.png\" alt=\"\" width=\"761\" height=\"421\" srcset=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-03_18-46_1-e1770119543723.png 761w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-03_18-46_1-e1770119543723-300x166.png 300w\" sizes=\"auto, (max-width: 761px) 100vw, 761px\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div><h3 data-local-id=\"6874106d222a\" data-renderer-start-pos=\"1307\"><strong data-renderer-mark=\"true\">Option B: Single Database Connection String<\/strong><button class=\"css-x4slh0\" type=\"button\" data-testid=\"anchor-button\" aria-hidden=\"true\"><\/button><\/h3><p data-renderer-start-pos=\"1354\" data-local-id=\"724b5d9ec09b\">You can also define <strong data-renderer-mark=\"true\">one database connection variable<\/strong>, depending on your application setup:<\/p><div class=\"fabric-editor-breakout-mark fabric-editor-block-mark css-p8f2xz\" data-mode=\"wide\" data-has-width=\"true\" data-width=\"760\">\n<div class=\"code-block css-ggxefa\" data-local-id=\"94e48a54-b3b5-4fcf-bea0-775996f2d004\" data-ssr-placeholder=\"7voiQ:EfLS5:z8NN7:qz-Pe:Y6119-1\"><span class=\"prismjs _11c819w5 _2rko12b0 _1dqoglyw _1e0c1txw _vwz4gktf _1reo1wug _o572qvpr _1eimjvyg _bfhk187e _syazi7uo _1ozdn7od _7xinn7od _t7aun7od _r28du2gc _tajqu2gc _1ohiu2gc _m802u2gc _i6ntu2gc _1w2xu2gc _1hmyegat _vblregat _vbulegat _196q1xv3 _1vbw1xv3 _1v9c1xv3 _1srnt0uh _18r6myb0 _vyvc1n1a _1d4j1y44 _1f8gstnw _1pzyb3bt _ra6gsb9t _13cdh2mm _1pp0126e _zvy9f705 _qcxof705 _qzn01a66 _j0l11wug _1weckb7n _1na21hna _vsnzgrf3 _x7c815vq _lh0y15vq _1m3815vq _qk1e15vq _12l6ysn8 _uga3ysn8 _mx8b7mnp _1kr87mnp _xo19t94y _1bemt94y _nalpstnw _151dstnw _1exb1q9c _1hgu1q9c _1mgnt94y _nhket94y _h909i8nm _scgayz1z _ipl81e17 _40uk1l04 _i81p1a66 _1gx21e5h _1ls01ule _vm2c1rh5 _12ok1rh5 _rude1ule _1q16glyw _1io6glyw _juomusic _lcwuusic _pyovu2gc _ccm6u2gc _1ascu2gc _1yuau2gc _xr0w1a66 _4io21a66 _euyxusvi _cahfusvi _zhnuidpf _1amdidpf _mbgc124n _bu7z124n _131n1giz _gy101giz _1wfuwrk5 _16kzwrk5 _9kk3wu06 _cjus1w1g _9k2r1m30 _nhmw1m30 _yl021m30 _eihtd5cb _t9zbd5cb _mqok1w1g _3hsg1w1g _i7ngn7od _9wu1fb2s _1xcoh55r _1t36i7uo _137bh55r _1k7di7uo _97li16jw _12nh9lu1 _1g0517qg _i2igqmo9 _326zi7uo _113p1rpy _1n6t16jw _tgu817qg _1k4716jw _g0lxi7uo _ys4e1rpy _7gp8h55r _1yvqqmo9 _1vwwqmo9 _1rjuqmo9 _1v0lh55r _wmyy17qg _748n17qg _1mfn17qg _1d7e17qg _p2vr17qg _19o6qmo9 _kxov17qg _1np517qg _m2f517qg _1b9t16jw _1tq616jw _1rd216jw _1pbk16jw _k3li16jw _13zt1rpy _2g12fb2s _k86bqmo9 _b5iy1rpy _gti31rpy _1f0g16jw _9d3e17qg _qdia16jw _72uv16jw _13dgkb7n _1707efft _1i3h1txw _16noidpf _h4fuidpf _pp6yidpf _1g4tidpf _11wmidpf _1bx8idpf\" data-code-lang=\"\" data-ds--code--code-block=\"\" data-testid=\"renderer-code-block\"><code class=\"language-\"><span class=\"\" data-testid=\"renderer-code-block-line-1\" data-ds--code--row=\"\">DATABASE_URL=mysql:\/\/databaseuser:databasepassword@localhost:3306\/databasename<\/span><\/code><\/span><\/div>\n<\/div><div data-local-id=\"94e48a54-b3b5-4fcf-bea0-775996f2d004\" data-ssr-placeholder=\"7voiQ:EfLS5:z8NN7:qz-Pe:Y6119-1\"><\/div><div data-local-id=\"94e48a54-b3b5-4fcf-bea0-775996f2d004\" data-ssr-placeholder=\"7voiQ:EfLS5:z8NN7:qz-Pe:Y6119-1\">\n<div class=\"intercom-interblocks-callout\" style=\"background-color: #e3e7fa80;border-color: #334bfa33\"><strong data-renderer-mark=\"true\">Note:<\/strong> The exact format may vary depending on the library or framework you use. Hostinger supports <strong data-renderer-mark=\"true\"><span data-highlighted=\"true\" data-vc=\"highlighted-text\">MySQL<\/span> only<\/strong>, so the prefix must be <span data-highlighted=\"true\" data-vc=\"highlighted-text\">mysql<\/span>:\/\/.<\/div>\n<\/div><p data-renderer-start-pos=\"1676\" data-local-id=\"128087bbf771\">In this article, we&rsquo;ll be using <strong data-renderer-mark=\"true\">Option A.<\/strong><\/p><hr role=\"presentation\"><h2 id=\"Step-3:-Rebuild-or-Restart-the-Application\" data-local-id=\"615a4217db52\" data-renderer-start-pos=\"1719\"><strong data-renderer-mark=\"true\">Step 3: Rebuild or Restart the Application<\/strong><button class=\"css-x4slh0\" type=\"button\" data-testid=\"anchor-button\" aria-hidden=\"true\"><\/button><\/h2><p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">After updating environment variables, make sure to restart your application so it loads the new values.<\/p><p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\"><strong>Restart from hPanel (Recommended)<\/strong><\/p><p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">For server-side Node.js apps (e.g., Express.js, Next.js, NestJS), you can restart directly from the dashboard:<\/p><ol class=\"[li_&amp;]:mb-0 [li_&amp;]:mt-1 [li_&amp;]:gap-1 [&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-decimal flex flex-col gap-1 pl-8 mb-3\">\n<li class=\"whitespace-normal break-words pl-2\">Open your <strong>Website Dashboard<\/strong> in hPanel<\/li>\n<li class=\"whitespace-normal break-words pl-2\">Click <strong>Restart<br>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-9502\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/04\/2026-04-09_17-05.png\" alt=\"\" width=\"1349\" height=\"661\" srcset=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/04\/2026-04-09_17-05.png 1349w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/04\/2026-04-09_17-05-300x147.png 300w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/04\/2026-04-09_17-05-1024x502.png 1024w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/04\/2026-04-09_17-05-768x376.png 768w\" sizes=\"auto, (max-width: 1349px) 100vw, 1349px\" \/><br>\n<\/strong><\/li>\n<\/ol><div class=\"intercom-interblocks-callout\" style=\"background-color: #e3e7fa80;border-color: #334bfa33\"><strong>Note<\/strong>: The Restart option is only available for server-side Node.js applications. Static websites (React, Vue, Angular) do not run a persistent server process and do not have this option.<\/div><p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\"><strong>Alternative: Restart via SSH<\/strong><\/p><p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">If you prefer to restart via the command line:<\/p><ul class=\"[li_&amp;]:mb-0 [li_&amp;]:mt-1 [li_&amp;]:gap-1 [&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3\">\n<li class=\"whitespace-normal break-words pl-2\"><a class=\"underline underline underline-offset-2 decoration-1 decoration-current\/40 hover:decoration-current focus:decoration-current\" href=\"https:\/\/www.hostinger.com\/support\/10441250-how-to-connect-to-a-hosting-plan-remotely-using-ssh-in-hostinger\/\">Connect to SSH<\/a><\/li>\n<li class=\"whitespace-normal break-words pl-2\">Run: <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">cd domains\/xx\/public_html<\/code> <em>(replace <strong>xx<\/strong> with your domain name)<\/em><\/li>\n<li class=\"whitespace-normal break-words pl-2\">Run: <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">touch tmp\/restart.txt<\/code><\/li>\n<\/ul><hr role=\"presentation\"><h2 id=\"Step-4:-Ensure-Your-Website-Contains-Database-Connection-Files\" data-local-id=\"41d75359c483\" data-renderer-start-pos=\"1900\"><strong data-renderer-mark=\"true\">Step 4: Ensure Your Website Contains Database Connection Files<\/strong><button class=\"css-x4slh0\" type=\"button\" data-testid=\"anchor-button\" aria-hidden=\"true\"><\/button><\/h2><p data-renderer-start-pos=\"1966\" data-local-id=\"5875efb1af52\">Before your application can store or retrieve data, it must include a <strong data-renderer-mark=\"true\">dedicated database connection file<\/strong>.<\/p><p data-renderer-start-pos=\"2073\" data-local-id=\"5c8b51ea3448\">This file is responsible for:<\/p><ul class=\"ak-ul\" data-local-id=\"a4aeaab7-15b0-4084-a6f3-d8d72b1f135b\" data-indent-level=\"1\">\n<li>\n<p data-renderer-start-pos=\"2106\" data-local-id=\"28a64eac2aeb\">Reading database credentials from environment variables<\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"2165\" data-local-id=\"b1b46e499864\">Establishing a connection to the <span data-highlighted=\"true\" data-vc=\"highlighted-text\">MySQL<\/span> database<\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"2216\" data-local-id=\"b48c5decb729\">Exporting the connection so it can be reused across the application<\/p>\n<\/li>\n<\/ul><p data-renderer-start-pos=\"2289\" data-local-id=\"89a42e51cae6\">Keeping database logic in a single file makes the application easier to maintain and debug.<\/p><hr role=\"presentation\"><h3 data-local-id=\"932f7c0ba0ea\" data-renderer-start-pos=\"2385\"><strong data-renderer-mark=\"true\">Typical Database Connection File Structure<\/strong><button class=\"css-x4slh0\" type=\"button\" data-testid=\"anchor-button\" aria-hidden=\"true\"><\/button><\/h3><p data-renderer-start-pos=\"2431\" data-local-id=\"8aa92dd7c9b6\">In most Node.js projects, the database connection file is located in a folder such as:<\/p><ul class=\"ak-ul\" data-local-id=\"c841d26f-a148-4a32-8d44-11758505b4d0\" data-indent-level=\"1\">\n<li>\n<p data-renderer-start-pos=\"2521\" data-local-id=\"8e9c4a414476\">config\/database.js<\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"2543\" data-local-id=\"a7258c7d9d3c\">db.js<\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"2552\" data-local-id=\"fe2341db3f08\">database\/connection.js<\/p>\n<\/li>\n<\/ul><p data-renderer-start-pos=\"2578\" data-local-id=\"6c9565d663e8\">The exact name does not matter, as long as it is imported where needed.<\/p><hr role=\"presentation\"><h3 data-local-id=\"dfc6558b7f6d\" data-renderer-start-pos=\"2652\"><strong data-renderer-mark=\"true\">Default <span data-highlighted=\"true\" data-vc=\"highlighted-text\">MySQL<\/span> Connection File Example (Node.js)<\/strong><button class=\"css-x4slh0\" type=\"button\" data-testid=\"anchor-button\" aria-hidden=\"true\"><\/button><\/h3><p data-renderer-start-pos=\"2703\" data-local-id=\"008aa4fa8046\">Below is a <strong data-renderer-mark=\"true\">simple and commonly used example<\/strong> using the mysql2 package.<\/p><pre><code>import mysql from \"mysql2\/promise\";\r\nconst db = mysql.createPool({\r\n  host: process.env.DB_HOST,\r\n  port: process.env.DB_PORT || 3306,\r\n  user: process.env.DB_USER,\r\n  password: process.env.DB_PASSWORD,\r\n  database: process.env.DB_NAME,\r\n});\r\nexport default db;<\/code><\/pre><p>This file:<\/p><ul class=\"ak-ul\" data-local-id=\"7d507ada-fd60-478b-8b60-a292bf78e426\" data-indent-level=\"1\">\n<li>\n<p data-renderer-start-pos=\"3045\" data-local-id=\"13e803769cf7\">Reads credentials from environment variables<\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"3093\" data-local-id=\"9599b554edb9\">Creates a reusable connection pool<\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"3131\" data-local-id=\"9784a42be5c8\">Prevents opening a new connection for every query<\/p>\n<\/li>\n<\/ul><hr role=\"presentation\"><h3 data-local-id=\"90992f502b4b\" data-renderer-start-pos=\"3185\"><strong data-renderer-mark=\"true\">Example Using a Single Connection String<\/strong><button class=\"css-x4slh0\" type=\"button\" data-testid=\"anchor-button\" aria-hidden=\"true\"><\/button><\/h3><p data-renderer-start-pos=\"3229\" data-local-id=\"08b9c437e924\">If your application uses <strong data-renderer-mark=\"true\">one database connection variable<\/strong>, the connection file may look like this:<\/p><pre>import mysql from \"mysql2\/promise\";\r\n\r\nconst db = mysql.createPool(process.env.DATABASE_URL);\r\n\r\nexport default db;<\/pre><div class=\"intercom-interblocks-callout\" style=\"background-color: #e3e7fa80;border-color: #334bfa33\"><strong data-renderer-mark=\"true\">Note:<\/strong> The connection string format depends on the database driver. On Hostinger, only <strong data-renderer-mark=\"true\"><span data-highlighted=\"true\" data-vc=\"highlighted-text\">MySQL<\/span><\/strong> is supported, so the prefix must be <span data-highlighted=\"true\" data-vc=\"highlighted-text\">mysql<\/span>:\/\/.<\/div><p data-renderer-start-pos=\"3588\" data-local-id=\"6aacba0d521b\">Example connection string:<\/p><div class=\"fabric-editor-breakout-mark fabric-editor-block-mark css-p8f2xz\" data-mode=\"wide\" data-has-width=\"true\" data-width=\"760\">\n<div class=\"code-block css-ggxefa\" data-local-id=\"57dae48e-e7a6-458f-966b-fab808293402\" data-ssr-placeholder=\"7voiQ:EfLS5:z8NN7:qz-Pe:Y6119-4\">\n<div class=\"css-9n57oc\">\n<div class=\"css-4osl21\">\n<pre role=\"presentation\"><code class=\"language-\"><span class=\"\" data-testid=\"renderer-code-block-line-1\" data-ds--code--row=\"\">DATABASE_URL=mysql:\/\/databaseuser:databasepassword@localhost:3306\/databasename<\/span><\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div><hr role=\"presentation\"><h3 data-local-id=\"d535a6828f81\" data-renderer-start-pos=\"3699\"><strong data-renderer-mark=\"true\">Using the Database Connection in Your Application<\/strong><button class=\"css-x4slh0\" type=\"button\" data-testid=\"anchor-button\" aria-hidden=\"true\"><\/button><\/h3><p data-renderer-start-pos=\"3752\" data-local-id=\"9ba94fa448ea\">Once the connection file exists, it can be imported and used anywhere in your project.<\/p><p data-renderer-start-pos=\"3840\" data-local-id=\"8dbec46e6217\">Example:<\/p><div class=\"fabric-editor-breakout-mark fabric-editor-block-mark css-p8f2xz\" data-mode=\"wide\" data-has-width=\"true\" data-width=\"760\">\n<div class=\"code-block css-ggxefa\" data-local-id=\"1f17ca6a-cc80-454e-b141-2e2b3dbef30f\" data-ssr-placeholder=\"7voiQ:EfLS5:z8NN7:qz-Pe:Y6119-5\">\n<pre>import db from \".\/config\/database.js\";\r\n\r\nconst [rows] = await db.query(\"SELECT * FROM users\");<\/pre>\n<\/div>\n<\/div><p data-renderer-start-pos=\"3945\" data-local-id=\"2ca673b2511a\">This confirms that:<\/p><ul class=\"ak-ul\" data-local-id=\"334e3b5e-4158-4deb-8c66-af5f1fcaafcf\" data-indent-level=\"1\">\n<li>\n<p data-renderer-start-pos=\"3968\" data-local-id=\"62b271d168d6\">The database connection file is correctly set up<\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"4020\" data-local-id=\"304b57868eba\">Your application can communicate with the <span data-highlighted=\"true\" data-vc=\"highlighted-text\">MySQL<\/span> database<\/p>\n<\/li>\n<\/ul><h2 id=\"Step-5:-Create-Required-Database-Tables\" data-local-id=\"fa4e40d9a713\" data-renderer-start-pos=\"4080\"><strong data-renderer-mark=\"true\">Step 5: Create Required Database Tables<\/strong><button class=\"css-x4slh0\" type=\"button\" data-testid=\"anchor-button\" aria-hidden=\"true\"><\/button><\/h2><p data-renderer-start-pos=\"4123\" data-local-id=\"fe8ca47e2a06\">Before storing data, your database must contain the required tables and columns.<\/p><h3 data-local-id=\"ea33c0548f13\" data-renderer-start-pos=\"4207\"><strong data-renderer-mark=\"true\">Example SQL table<\/strong><button class=\"css-x4slh0\" type=\"button\" data-testid=\"anchor-button\" aria-hidden=\"true\"><\/button><\/h3><div class=\"fabric-editor-breakout-mark fabric-editor-block-mark css-p8f2xz\" data-mode=\"wide\" data-has-width=\"true\" data-width=\"760\">\n<pre class=\"code-block css-ggxefa\" data-local-id=\"03c732c1-078f-44ec-b4a4-838ad60ba1fa\" data-ssr-placeholder=\"7voiQ:EfLS5:z8NN7:qz-Pe:Y6119-6\"><span class=\"prismjs _11c819w5 _2rko12b0 _1dqoglyw _1e0c1txw _vwz4gktf _1reo1wug _o572qvpr _1eimjvyg _bfhk187e _syazi7uo _1ozdn7od _7xinn7od _t7aun7od _r28du2gc _tajqu2gc _1ohiu2gc _m802u2gc _i6ntu2gc _1w2xu2gc _1hmyegat _vblregat _vbulegat _196q1xv3 _1vbw1xv3 _1v9c1xv3 _1srnt0uh _18r6myb0 _vyvc1n1a _1d4j1y44 _1f8gstnw _1pzyb3bt _ra6gsb9t _13cdh2mm _1pp0126e _zvy9f705 _qcxof705 _qzn01a66 _j0l11wug _1weckb7n _1na21hna _vsnzgrf3 _x7c815vq _lh0y15vq _1m3815vq _qk1e15vq _12l6ysn8 _uga3ysn8 _mx8b7mnp _1kr87mnp _xo19t94y _1bemt94y _nalpstnw _151dstnw _1exb1q9c _1hgu1q9c _1mgnt94y _nhket94y _h909i8nm _scgayz1z _ipl81e17 _40uk1l04 _i81p1a66 _1gx21e5h _1ls01ule _vm2c1rh5 _12ok1rh5 _rude1ule _1q16glyw _1io6glyw _juomusic _lcwuusic _pyovu2gc _ccm6u2gc _1ascu2gc _1yuau2gc _xr0w1a66 _4io21a66 _euyxusvi _cahfusvi _zhnuidpf _1amdidpf _mbgc124n _bu7z124n _131n1giz _gy101giz _1wfuwrk5 _16kzwrk5 _9kk3wu06 _cjus1w1g _9k2r1m30 _nhmw1m30 _yl021m30 _eihtd5cb _t9zbd5cb _mqok1w1g _3hsg1w1g _i7ngn7od _9wu1fb2s _1xcoh55r _1t36i7uo _137bh55r _1k7di7uo _97li16jw _12nh9lu1 _1g0517qg _i2igqmo9 _326zi7uo _113p1rpy _1n6t16jw _tgu817qg _1k4716jw _g0lxi7uo _ys4e1rpy _7gp8h55r _1yvqqmo9 _1vwwqmo9 _1rjuqmo9 _1v0lh55r _wmyy17qg _748n17qg _1mfn17qg _1d7e17qg _p2vr17qg _19o6qmo9 _kxov17qg _1np517qg _m2f517qg _1b9t16jw _1tq616jw _1rd216jw _1pbk16jw _k3li16jw _13zt1rpy _2g12fb2s _k86bqmo9 _b5iy1rpy _gti31rpy _1f0g16jw _9d3e17qg _qdia16jw _72uv16jw _13dgkb7n _1707efft _1i3h1txw _16noidpf _h4fuidpf _pp6yidpf _1g4tidpf _11wmidpf _1bx8idpf\" data-code-lang=\"\" data-ds--code--code-block=\"\" data-testid=\"renderer-code-block\"><code class=\"language-\"><span class=\"\" data-testid=\"renderer-code-block-line-6\" data-ds--code--row=\"\">CREATE TABLE users (\r\nid INT AUTO_INCREMENT PRIMARY KEY,\r\nname VARCHAR(255) NOT NULL,\r\nemail VARCHAR(255) NOT NULL UNIQUE,\r\ncreated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\r\n);<\/span><\/code><\/span><\/pre>\n<\/div><p data-renderer-start-pos=\"4407\" data-local-id=\"9eba787ff7ed\">You can execute this SQL:<\/p><ul class=\"ak-ul\" data-local-id=\"34cd2b85-ba9a-4fab-acf4-388de8dbaef3\" data-indent-level=\"1\">\n<li>\n<p data-renderer-start-pos=\"4436\" data-local-id=\"f904abc57aee\">Via <strong data-renderer-mark=\"true\">phpMyAdmin<\/strong> in hPanel<\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"4464\" data-local-id=\"6c822d9715de\">Or programmatically from your application<\/p>\n<\/li>\n<\/ul><div class=\"rich-media-item mediaSingleView-content-wrap image-center css-16pk4ql\" data-layout=\"center\" data-width=\"760\" data-width-type=\"pixel\" data-node-type=\"mediaSingle\" data-vc=\"media-single\" data-renderer-start-pos=\"4509\" data-media-vc-wrapper=\"true\" data-ssr-placeholder=\"Eb7Gh:EfLS5:z8NN7:qz-Pe:Y6119-2\">\n<div class=\"css-1rksw3m\">\n<div class=\"css-vhfmu2\" data-media-badges=\"true\" data-testid=\"media-badges\" data-ssr-placeholder=\"nouWf:Eb7Gh:EfLS5:z8NN7:qz-Pe:Y6119-2\"><\/div>\n<div data-type=\"file\" data-node-type=\"media\" data-width=\"1510\" data-height=\"827\" data-id=\"dd7845a5-ac6b-42e8-8ad3-bab0f03a6119\" data-collection=\"contentId-1963982862\" data-file-name=\"Screenshot 2026-02-03 at 09.45.54.png\" data-file-size=\"968271\" data-file-mime-type=\"image\/png\" data-alt=\"Screenshot 2026-02-03 at 09.45.54.png\" data-renderer-start-pos=\"4510\" data-local-id=\"abaa55cfbe9c\" data-ssr-placeholder-ignored=\"\" data-context-id=\"1963982862\">\n<div id=\"newFileExperienceWrapper\" class=\"_2rkofajl _vchhusvi _kqswh2mm _ect4ttxp _p12f1osq _c71l1osq _1bsb1qmm _4t3ine4n _1hlmd0i9 _1rquusvi _eg541i5c _mts3kb7n _1ntskb7n _yfmhtlke _5sb1v00u new-file-experience-wrapper\" data-testid=\"media-card-view\" data-media-vc-wrapper=\"true\" data-ssr-placeholder-ignored=\"\">\n<div class=\"_1reo15vq _18m915vq _2rkofajl _1e0c1txw _kqswh2mm _p12f1osq _1bsb1osq _4t3i1osq _c71l1osq media-file-card-view\" data-testid=\"media-file-card-view\" data-test-status=\"complete\" data-test-source=\"ssr-server\" data-cursor=\"pointer\" data-ssr-placeholder-ignored=\"\" data-test-media-name=\"Screenshot 2026-02-03 at 09.45.54.png\" data-test-progress=\"1\">\n<div class=\"_kqswstnw _1bsb1osq _4t3i1osq _1e0c1txw _2lx21bp4 _1bah1h6o _4cvr1h6o\" data-testid=\"ImageRendererWrapper\" data-ssr-placeholder-ignored=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-7690 size-full\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-03_18-46_2-e1770119787767.png\" alt=\"\" width=\"766\" height=\"420\" srcset=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-03_18-46_2-e1770119787767.png 766w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-03_18-46_2-e1770119787767-300x164.png 300w\" sizes=\"auto, (max-width: 766px) 100vw, 766px\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div><hr role=\"presentation\"><h2 id=\"Step-6:-Test-Data-Insertion-in-Production\" data-local-id=\"beee1eb1f4a0\" data-renderer-start-pos=\"4515\"><strong data-renderer-mark=\"true\">Step 6: Test Data Insertion in Production<\/strong><button class=\"css-x4slh0\" type=\"button\" data-testid=\"anchor-button\" aria-hidden=\"true\"><\/button><\/h2><ol class=\"ak-ol\" start=\"1\" data-local-id=\"f565c523-55d2-4bdd-92a6-fdc7b46e10c7\" data-indent-level=\"1\">\n<li>\n<p data-renderer-start-pos=\"4562\" data-local-id=\"d620ecd136b1\">Open your live Node.js application<\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"4600\" data-local-id=\"9c881937e08c\">Perform an action that stores data (e.g., submit a form)<\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"4660\" data-local-id=\"b0f5cdb3031c\">Check the database using <strong data-renderer-mark=\"true\">phpMyAdmin<\/strong><\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"4699\" data-local-id=\"a3f0e0125524\">Confirm:<\/p>\n<ul class=\"ak-ul\" data-local-id=\"8b623d6f-1007-480d-9087-e860c26062ac\" data-indent-level=\"2\">\n<li>\n<p data-renderer-start-pos=\"4711\" data-local-id=\"9b9553de3b84\">A new row is created<\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"4735\" data-local-id=\"c90360368e1a\">Values are stored correctly<\/p>\n<\/li>\n<\/ul>\n<p data-renderer-start-pos=\"4766\" data-local-id=\"6a140ab441c9\">\n<\/p><\/li>\n<\/ol><div class=\"rich-media-item mediaSingleView-content-wrap image-center css-16pk4ql\" data-layout=\"center\" data-width=\"760\" data-width-type=\"pixel\" data-node-type=\"mediaSingle\" data-vc=\"media-single\" data-renderer-start-pos=\"4770\" data-media-vc-wrapper=\"true\" data-ssr-placeholder=\"Eb7Gh:EfLS5:z8NN7:qz-Pe:Y6119-3\">\n<div class=\"css-1rksw3m\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7691\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-03_18-47.png\" alt=\"\" width=\"762\" height=\"419\" srcset=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-03_18-47.png 762w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-03_18-47-300x165.png 300w\" sizes=\"auto, (max-width: 762px) 100vw, 762px\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7692\" src=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-03_18-47_1.png\" alt=\"\" width=\"781\" height=\"417\" srcset=\"https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-03_18-47_1.png 781w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-03_18-47_1-300x160.png 300w, https:\/\/www.hostinger.com\/support\/wp-content\/uploads\/sites\/55\/2026\/02\/2026-02-03_18-47_1-768x410.png 768w\" sizes=\"auto, (max-width: 781px) 100vw, 781px\" \/><\/div>\n<\/div><hr role=\"presentation\"><h2 id=\"Common-Issues-&amp;-Troubleshooting\" data-local-id=\"18a3e3bf6af3\" data-renderer-start-pos=\"4777\"><strong data-renderer-mark=\"true\">Common Issues &amp; Troubleshooting<\/strong><button class=\"css-x4slh0\" type=\"button\" data-testid=\"anchor-button\" aria-hidden=\"true\"><\/button><\/h2><h3 data-local-id=\"b4b0f3324e2b\" data-renderer-start-pos=\"4810\"><strong data-renderer-mark=\"true\">&#10060; Access denied for user<\/strong><button class=\"css-x4slh0\" type=\"button\" data-testid=\"anchor-button\" aria-hidden=\"true\"><\/button><\/h3><ul class=\"ak-ul\" data-local-id=\"04a57bcd-65fd-47d2-9f41-c6e556d50d31\" data-indent-level=\"1\">\n<li>\n<p data-renderer-start-pos=\"4838\" data-local-id=\"d1e958f7e8e1\">Verify database username and password<\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"4879\" data-local-id=\"6355364ed831\">Ensure the user is assigned to the database<\/p>\n<\/li>\n<\/ul><h3 data-local-id=\"5123a3ffca96\" data-renderer-start-pos=\"4926\"><strong data-renderer-mark=\"true\">&#10060; Cannot connect to <span data-highlighted=\"true\" data-vc=\"highlighted-text\">MySQL<\/span> server<\/strong><button class=\"css-x4slh0\" type=\"button\" data-testid=\"anchor-button\" aria-hidden=\"true\"><\/button><\/h3><ul class=\"ak-ul\" data-local-id=\"ff1d6582-4332-4bd0-8450-b0e06db07b3d\" data-indent-level=\"1\">\n<li>\n<p data-renderer-start-pos=\"4962\" data-local-id=\"b092c3fd03f3\">Confirm host is set to localhost<\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"4998\" data-local-id=\"44ca891f8442\">Ensure port 3306 is used<\/p>\n<\/li>\n<\/ul><h3 data-local-id=\"08e2592e12f8\" data-renderer-start-pos=\"5026\"><strong data-renderer-mark=\"true\">&#10060; Environment variables not loading<\/strong><button class=\"css-x4slh0\" type=\"button\" data-testid=\"anchor-button\" aria-hidden=\"true\"><\/button><\/h3><ul class=\"ak-ul\" data-local-id=\"fbc84472-c98e-4cfe-99ce-329895cd5827\" data-indent-level=\"1\">\n<li>\n<p data-renderer-start-pos=\"5065\" data-local-id=\"14c08b6b7772\">Restart the Node.js application<\/p>\n<\/li>\n<li>\n<p data-renderer-start-pos=\"5100\" data-local-id=\"c98fd1c615b9\">Confirm .env is included in the runtime environment<\/p>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>OverviewThis guide explains how to connect a Node.js application to a MySQL database hosted on Hostinger.Before proceeding: You already have a built Node.js website or&#8230;<\/p>\n","protected":false},"author":594,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"include_on_kodee":true,"footnotes":""},"categories":[301],"tags":[],"class_list":["post-7687","post","type-post","status-publish","format-standard","hentry","category-node-js"],"hreflangs":[],"include_on_kodee":true,"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/posts\/7687","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/users\/594"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/comments?post=7687"}],"version-history":[{"count":8,"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/posts\/7687\/revisions"}],"predecessor-version":[{"id":9503,"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/posts\/7687\/revisions\/9503"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/media?parent=7687"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/categories?post=7687"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/tags?post=7687"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}