In a new KNIME workflow. I created a new database connection node and a new Database Writer node that accepts its data from a CSV reader node. The execution of the database connection node is successful. When I execute the Database writer node, I am getting a CREATE command is denied error.
The configurations of the Database connector node are as follows:
Database URL : jdbc:mysql://localhost:3306/hello_knime_database
Username : test
Password : test
mysql configurations:
$ mysql -u test -p
mysql> show databases;
+----------------------+
| Database |
+----------------------+
| information_schema |
| hello_knime_database |
+----------------------+
2 rows in set (0.00 sec)
mysql> show grants;
+--------------------------------------------------------------------------
-------------------+
| Grants for test@localhost
|
+--------------------------------------------------------------------------
-------------------+
| GRANT USAGE ON *.* TO 'test'@'localhost'
|
| GRANT ALL PRIVILEGES ON `hello_knime_database`.* TO 'test'@'localhost'
|
| GRANT ALL PRIVILEGES ON `hello_knime_database`.`hello_knime_database` TO
'test'@'localhost' |
+--------------------------------------------------------------------------
-------------------+
3 rows in set (0.01 sec)
Database Writer configurations:
Port 1 input: data table of around 32000 rows and 15 columns.
Port 2 input: the database connector
Table name: hello
KNIME version : 3.3.2
When I execute the Database Writer node I get:
ERROR Database Writer 0:3 Execute failed: CREATE command denied to user 'test'@'localhost' for table 'hello'
Any clues of what is causing this?
From MySql
A grant table reload affects privileges for each existing client connection as follows: Table and column privilege changes take effect with the client's next request. Database privilege changes take effect the next time the client executes a USE db_name statement.
Note Client applications may cache the database name; thus, this effect may not be visible to them without actually changing to a different database or flushing the privileges.
Global privileges and passwords are unaffected for a connected client. These changes take effect only for subsequent connections.