diff --git a/defaults/main.yml b/defaults/main.yml
index 78214f35e6742a743a7be88a386d930da6f44811..f15140ca9f1f82a31ee4c4bef8d455efd3d2b86b 100644
--- a/defaults/main.yml
+++ b/defaults/main.yml
@@ -1,6 +1,7 @@
 ---
 netdata_is_container: false
 netdata_enable_python: false
+netdata_enable_go: false
 netdata_enable_haproxy: false
 netdata_enable_elasticsearch: false
 netdata_enable_postgres: false
diff --git a/tasks/main.yml b/tasks/main.yml
index e7b387be2638a6bf31f8990efa02b8ae75d66bd7..75e3bdce4765413578b334deb375d9c15b2e122d 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -26,10 +26,19 @@
     mode: 0644
   notify: restart netdata
 
+- name: Copy netdata go.d config
+  ansible.builtin.template:
+    src: go.d.conf.j2
+    dest: /etc/netdata/go.d.conf
+    owner: root
+    group: root
+    mode: 0644
+  notify: restart netdata
+
 - name: Copy netdata mysql.plugin config
   ansible.builtin.template:
     src: mysql.conf.j2
-    dest: /etc/netdata/python.d/mysql.conf
+    dest: /etc/netdata/go.d/mysql.conf
     owner: root
     group: root
     mode: 0644
diff --git a/templates/go.d.conf.j2 b/templates/go.d.conf.j2
new file mode 100644
index 0000000000000000000000000000000000000000..6523772d7ef8f4e399cac79f785673cf58ee3300
--- /dev/null
+++ b/templates/go.d.conf.j2
@@ -0,0 +1,20 @@
+# netdata go.d.plugin configuration
+#
+# This file is in YAML format.
+
+# Enable/disable the whole go.d.plugin.
+enabled: yes
+
+# Enable/disable default value for all modules.
+default_run: {% if netdata_is_container %} no {% else %} yes {% endif %}
+
+# Maximum number of used CPUs. Zero means no limit.
+max_procs: 0
+
+# Enable/disable specific g.d.plugin module
+# If you want to change any value, you need to uncomment out it first.
+# IMPORTANT: Do not remove all spaces, just remove # symbol. There should be a space before module name.
+modules:
+  elasticsearch: {% if netdata_enable_elasticsearch %} yes {% else %} no {% endif %}
+
+  mysql: {% if netdata_enable_mysql %} yes {% else %} no {% endif %}
diff --git a/templates/mysql.conf.j2 b/templates/mysql.conf.j2
index 5c4fc4ec8013190341fca2840df6460434b0ee95..437fcbc820bf85a772d17375809177409bd1d0bb 100644
--- a/templates/mysql.conf.j2
+++ b/templates/mysql.conf.j2
@@ -1,3 +1,3 @@
-local:
-  user: '{{ netdata_mysql_user }}'
-  pass: '{{ netdata_mysql_pass }}'
+jobs:
+  - name: local
+    dsn: {{ netdata_mysql_user }}:{{ netdata_mysql_pass }}@unix(/var/run/mysqld/mysqld.sock)/
diff --git a/templates/netdata.conf.j2 b/templates/netdata.conf.j2
index 1779e5a619d6187d056a969de3b471750feeb3e7..75ab03bad20e2470932a4c9ea898e80ee2ad856e 100644
--- a/templates/netdata.conf.j2
+++ b/templates/netdata.conf.j2
@@ -31,6 +31,8 @@
     charts.d = no
     python.d = {% if netdata_enable_python %} yes {% else %} no {% endif %}
 
+    go.d = {% if netdata_enable_go %} yes {% else %} no {% endif %}
+
 [plugin:proc]
     netdata server resources = no
 
diff --git a/templates/python.d.conf.j2 b/templates/python.d.conf.j2
index 9ecf5c617e4070670097e1bd4a810e661821ab73..d947c116c33064c69c4ee2d08f45f0570afc8312 100644
--- a/templates/python.d.conf.j2
+++ b/templates/python.d.conf.j2
@@ -15,8 +15,4 @@ default_run: {% if netdata_is_container %} no {% else %} yes {% endif %}
 
 haproxy: {% if netdata_enable_haproxy %} yes {% else %} no {% endif %}
 
-elasticsearch: {% if netdata_enable_elasticsearch %} yes {% else %} no {% endif %}
-
 postgres: {% if netdata_enable_postgres %} yes {% else %} no {% endif %}
-
-mysql: {% if netdata_enable_mysql %} yes {% else %} no {% endif %}