MA fresh install works with Derby but not with mysql
-
$ sudo start mango
mango start/running, process 29497$ cat /opt/mango/logs/ma.err
Exception in thread "pool-1-thread-1" java.lang.NullPointerException
at com.serotonin.m2m2.CoreLicenseDefinition$2.run(CoreLicenseDefinition.java:137)
at com.serotonin.timer.sync.Synchronizer$TaskWrapper.run(Synchronizer.java:155)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:679)$ **sudo status mango **
mango stop/waitingI only tried Derby as a test. I need it working with mysql.
Mango did create 36 tables under mysql, so it does have the permissions from the GRANT ALL command:mysql> use mango
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql> **show tables;
**+-------------------------------+ | Tables_in_mango | +-------------------------------+ | compoundEventDetectors | | dataPointUsers | | dataPoints | | dataSourceUsers | | dataSources | | eventHandlers | | events | | graphicalViewUsers | | graphicalViews | | mailingListInactive | | mailingListMembers | | mailingLists | | maintenanceEvents | | mangoViewUsers | | mangoViews | | pointEventDetectors | | pointHierarchy | | pointLinks | | pointValueAnnotations | | pointValues | | publishers | | reportInstanceData | | reportInstanceDataAnnotations | | reportInstanceEvents | | reportInstancePoints | | reportInstanceUserComments | | reportInstances | | reports | | scheduledEvents | | systemSettings | | userComments | | userEvents | | users | | watchListPoints | | watchListUsers | | watchLists | +-------------------------------+ 36 rows in set (0.00 sec)
mysql>
-
I was able to duplicate this error. I normally create the mango database and user through webmin or phpmyadmin and never had a problem.
This time I created the user on the mysql terminal with these commands:
mysql -u root -p
mysql> CREATE DATABASE mangodb;
GRANT ALL ON mangodb.* TO mangodb@localhost IDENTIFIED BY ' password';When I tried to start Mango I got the same error as you.
I then created a second database user and permissions through webmin and it worked as it always does. In webmin I grant all permissions to the user and the database for the user.
There may be a correct mysql command to use for this but I'm not experience with mysql so I'll leave that up to someone else to figure out.
Joel.
-
Hi Joel,
Thanks very much for recreating the issue. At the moment I only have ssh access, so I can't run phpmyadmin.
Did you also enter the CREATE command as shown on line 14?anyuser$ mysql --user=root -pMyrootSQLpasswd # Log into MySQL monitor Welcome to the MySQL monitor. mysql> create schema mango; # create a schema/database for Mango mysql> show schemas; # show schemas for this MySQL instance +--------------------+ | Database | +--------------------+ | information_schema | | mango | | mysql | | performance_schema | | test | +--------------------+ mysql> CREATE USER 'mangoUser'@'localhost' IDENTIFIED BY 'passwdformango';# Create a username & password for Mango: Query OK, 0 rows affected (0.00 sec) mysql> select user from mysql.user; # view user names +------------------+ | user | +------------------+ | root | | root | | | | debian-sys-maint | | mangoUser | | root | | | | root | +------------------+ mysql> GRANT ALL PRIVILEGES ON mango.* to 'mangoUser'@'localhost' WITH GRANT OPTION; Query OK, 0 rows affected (0.01 sec) mysql> exit Bye
-
Hi
I am having the same issue where mango seems to run on Derby but not mysql. We have a similar configuration on another machine that works, and comparing apples to apples, it all looks the same. This is the error I get:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/comms/httpclient/Credentials at com.serotonin.m2m2.Main.main(Main.java:63)any clues?
the db user created to access mysql has the GRANT ALL privileges so no access restrictions.Thanks!