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