From f700a50aceb89e64240c234f3f62bd430ead86e7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jakub=20Malo=C5=A1t=C3=ADk?= <malostik@cesnet.cz>
Date: Thu, 21 Jul 2022 11:18:19 +0200
Subject: [PATCH] Fix MySQL 8.0+ compatibility

In MYSQL 8.0 one cannot create users using GRANT.
https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html#mysql-nutshell-removals
(MariaDB worked fine)
---
 warden_server/test_warden_server.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/warden_server/test_warden_server.py b/warden_server/test_warden_server.py
index e76e356..4d1a84c 100755
--- a/warden_server/test_warden_server.py
+++ b/warden_server/test_warden_server.py
@@ -413,7 +413,8 @@ def init_user():
     try:
         conn = my.connect(user='root', passwd=getpass.getpass('Enter MySQL Root password:'))
         with conn.cursor() as cur:
-            cur.execute("GRANT SELECT, INSERT, UPDATE, CREATE, DELETE, DROP ON *.* TO %s@'localhost' IDENTIFIED BY %s", (USER, PASSWORD))
+            cur.execute("CREATE USER IF NOT EXISTS %s@'localhost' IDENTIFIED BY %s", (USER, PASSWORD))
+            cur.execute("GRANT SELECT, INSERT, UPDATE, CREATE, DELETE, DROP ON *.* TO %s@'localhost'", (USER,))
         conn.commit()
         print("DB User set up successfuly")
     except my.OperationalError as ex:
-- 
GitLab