From f1b8dbaf866e0b3d1935e15167d3f9ce2d3cb62f Mon Sep 17 00:00:00 2001 From: Zachary Wasserman Date: Mon, 13 Jan 2020 16:14:44 -0800 Subject: [PATCH] Fix error initializing Fleet when MySQL EVENT permissions missing (#2176) Fixes #2174 --- server/datastore/mysql/app_configs.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/server/datastore/mysql/app_configs.go b/server/datastore/mysql/app_configs.go index 17b985087c..0b9e082b22 100644 --- a/server/datastore/mysql/app_configs.go +++ b/server/datastore/mysql/app_configs.go @@ -3,6 +3,8 @@ package mysql import ( "fmt" + "github.com/VividCortex/mysqlerr" + "github.com/go-sql-driver/mysql" "github.com/kolide/fleet/server/kolide" "github.com/pkg/errors" ) @@ -54,7 +56,9 @@ func (d *Datastore) ManageHostExpiryEvent(hostExpiryEnabled bool, hostExpiryWind if !hostExpiryEnabled || shouldUpdateWindow { if _, err := d.db.Exec("DROP EVENT IF EXISTS host_expiry"); err != nil { - return errors.Wrap(err, "drop existing host_expiry event") + if driverErr, ok := err.(*mysql.MySQLError); !ok || driverErr.Number != mysqlerr.ER_DBACCESS_DENIED_ERROR { + return errors.Wrap(err, "drop existing host_expiry event") + } } }