Announcement

Collapse
No announcement yet.

Unable to login to Administrator with 3.0.2 running on MySQL in Unix/Linux

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    jstack and jconsole are both delivered as part of the jdk download/install. check out your <%java_home%>/bin directory.

    Comment


    • #17
      I've tested upgrading from 3.0.1 to 3.0.2 using MySQL on CentOS and Ubuntu, and haven't yet been able to reproduce the issue..
      Step 1: JAVA CACHE...DID YOU CLEAR ...wait, ding dong the witch is dead?

      Nicholas Rupley
      Work: 949-237-6069
      Always include what Mirth Connect version you're working with. Also include (if applicable) the code you're using and full stacktraces for errors (use CODE tags). Posting your entire channel is helpful as well; make sure to scrub any PHI/passwords first.


      - How do I foo?
      - You just bar.

      Comment


      • #18
        Thanks Nick. Do you have the MySQL deployed on a separate server and have you changed ANY settings after upgrading 3.0.1 ==> 3.0.2 in either mirth.properties, other config file or in the MySQL DB scheme itself?

        How can we turn up log level to DEBUG - in log4j properties file?
        BTW, a couple of deployed Mirth Web Services on same server (with redirection) are up & running:
        How can I check that DB connection/scheme integrity is not the root cause, pls?

        Comment


        • #19
          Just tried on Debian too, works there as well. Yes, I changed mirth.properties (switched to using MySQL) and added a couple of channels.

          You can change the log levels using the server manager. Your database connection most likely is not the issue, otherwise the server wouldn't be able to start up in the first place.

          Are you able to login via the CLI?

          Also, try this. First backup or make a note of your global deploy script:

          Code:
          SELECT SCRIPT FROM SCRIPT WHERE ID = 'Deploy';
          Then update your global deploy script in the database:

          Code:
          UPDATE SCRIPT SET SCRIPT = 'logger.info("Status: "+com.mirth.connect.server.controllers.ControllerFactory.getFactory().createConfigurationController().getStatus());' WHERE ID = 'Deploy';
          Then restart your server, and look at the logs. It should show "INFO (deploy:?): Status: #" somewhere. What number does it output?
          Step 1: JAVA CACHE...DID YOU CLEAR ...wait, ding dong the witch is dead?

          Nicholas Rupley
          Work: 949-237-6069
          Always include what Mirth Connect version you're working with. Also include (if applicable) the code you're using and full stacktraces for errors (use CODE tags). Posting your entire channel is helpful as well; make sure to scrub any PHI/passwords first.


          - How do I foo?
          - You just bar.

          Comment


          • #20
            OK, thanks again Nick - will do that. For CLI I can just use the command line tool that uses own properties file, correct?

            Now, I just realized something: if in mirth.properties the min Password length is set to 6 but in the PERSON_PASSWORD table I reset "admin" password to encrypted "admin" which is 5 - can that be a problem??? If so, I would expect to see a detailed error message upon login, but maybe not ...

            thx,
            Dan

            Comment


            • #21
              Something is off in my MIRTHDB SCRIPTS table

              I have checked the SCRIPTS tables in my mirthdb instance and .. it is EMPTY!

              Code:
              mysql> use mirthdb;
              mysql> SELECT SCRIPT FROM SCRIPT WHERE ID = 'Deploy';
              Empty set (0.00 sec)
              
              mysql> INSERT IGNORE INTO SCRIPT (ID,SCRIPT) VALUES ('Deploy',  'logger.info("Status: "+com.mirth.connect.server.controllers.ControllerFactory.getFactory().createConfigurationController().getStatus());' );
              ERROR 1364 (HY000): Field 'GROUP_ID' doesn't have a default value
              
              
              mysql> select * from SCHEMA_INFO;
              +---------+
              | VERSION |
              +---------+
              | 3.0.2   |
              +---------+
              So I could not run the UPDATE query and INSERT required the GROUP_ID field to be passed in.

              Unfortunately, I couldn't run the mccommand either - connection refused exception on 127.0.0.1:8443 which in mirth-cli-config.properties

              Nothing shows after the startup success line in the mirth.log:
              INFO 2014-04-22 22:17:07,005 [Thread-2] com.mirth.connect.server.Mirth: Running Java HotSpot(TM) 64-Bit Server VM 1.7.0_51 on Linux (2.6.32-358.el6.x86_64, amd64), mysql, with charset UTF-8.
              INFO 2014-04-22 22:17:07,007 [Thread-2] com.mirth.connect.server.Mirth: Web server running at http://172.31.16.10:9080/ and https://172.31.16.10:9443/
              even when login fails... What should I do about missing data form the SCRIPTS tables - can that be a root cause? Getting desperate!

              Thx,
              Dan
              Attached Files

              Comment


              • #22
                Just for kicks, I have changed the mirth-cli-properties to us ethe full IP address vs 127.0.0.1:

                address=https://172.31.16.10:8443
                user=admin
                [email protected]
                version=0.0.0
                Still am getting this when trying to launch ./mccommand:

                com.mirth.connect.client.core.ClientException: java.net.ConnectException: Connection refused
                at com.mirth.connect.client.core.ServerConnection.exe cutePostMethod(ServerConnection.java:118)
                at com.mirth.connect.client.core.Client.login(Client. java:124)
                at com.mirth.connect.cli.CommandLineInterface.runShel l(CommandLineInterface.java:167)
                Last ditch: will try to perform a fresh install of 3.0.2 with built-in Derby Db and test UI login...or doesn't make sense? Still need my channels from MySQL Db...

                Comment


                • #23
                  OK: connectivity issues with MySQL is DEFINITELY the culrpit. I have just installed a fresh instance that runs against embedded Derby DB and it does login through same URL:
                  and allows me to launch the MirhConnect Java client just fine. Of course, I have not backed up all of my channels form MySQL . Should I just try to edit mirth.properties and change DB to MySQL - or the fact that SCRIPT table is empty is a "red flag"? Thanks

                  Comment


                  • #24
                    Nick,

                    Just out of curiosity what type of installation package did you use for the upgrade tests on Debian? RPM or SH?

                    I've run the SCRIPT table query as well and its empty.

                    Comment


                    • #25
                      The SCRIPT table being empty isn't a problem, it just means you have never saved any global scripts on that instance. Instead of an update, just do an insert:

                      Code:
                      INSERT IGNORE INTO SCRIPT (GROUP_ID, ID, SCRIPT) VALUES ('Global', 'Deploy', 'logger.info("Status: "+com.mirth.connect.server.controllers.ControllerFactory.getFactory().createConfigurationController().getStatus());');
                      For the upgrade tests on Debian I tried both the RPM and .sh files. Note that the RPM is basically the same as the tar.gz. It's just an archive; there's no obsoleting done with it. So just as if you were working with the tar.gz, you'll have to make sure to extract it somewhere else and then modify the configuration files (custom DB drivers, vmoptions, conf/appdata/custom-lib folders).
                      Step 1: JAVA CACHE...DID YOU CLEAR ...wait, ding dong the witch is dead?

                      Nicholas Rupley
                      Work: 949-237-6069
                      Always include what Mirth Connect version you're working with. Also include (if applicable) the code you're using and full stacktraces for errors (use CODE tags). Posting your entire channel is helpful as well; make sure to scrub any PHI/passwords first.


                      - How do I foo?
                      - You just bar.

                      Comment


                      • #26
                        Ok. Thanks.

                        By the way the deploy status I have in my log file is " 1 ".

                        I cannot access via the commandclient either.

                        Comment


                        • #27
                          Debug Log

                          Getting a bunch of exceptions saying: "com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorE xception: Table 'mirthdb.channel' doesn't exist"
                          This is when I try to login via the admin client.

                          see attached log.

                          The database is there and the tables are all populated.
                          Attached Files

                          Comment


                          • #28
                            Guys, this issue (for me) IS 100% about using MYSQL DB vs. embedded Derby. I was able to have a brand new instance of Mirth start up and run just fine yesterday with Derby, then created a brand new scheme mirthdbnew and pointed this new Mirth instance to it, here's what I have in the PERSON and PASSWORD tables:

                            mysql> select * from PERSON;
                            +----+----------+-----------+----------+--------------+-------+-------------+-------------+------------+--------------------+-----------+
                            | ID | USERNAME | FIRSTNAME | LASTNAME | ORGANIZATION | EMAIL | PHONENUMBER | DESCRIPTION | LAST_LOGIN | GRACE_PERIOD_START | LOGGED_IN |
                            +----+----------+-----------+----------+--------------+-------+-------------+-------------+------------+--------------------+-----------+
                            | 1 | admin | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | |
                            +----+----------+-----------+----------+--------------+-------+-------------+-------------+------------+--------------------+-----------+
                            1 row in set (0.00 sec)

                            mysql> select * from PERSON_PASSWORD;
                            +-----------+----------------------------------------------------------+---------------------+
                            | PERSON_ID | PASSWORD | PASSWORD_DATE |
                            +-----------+----------------------------------------------------------+---------------------+
                            | 1 | YzKZIAnbQ5m+3llggrZvNtf5fg69yX7pAplfYg0Dngn/fESH93OktQ== | 2014-04-23 08:53:51 |
                            +-----------+----------------------------------------------------------+---------------------+
                            1 row in set (0.00 sec)
                            So, just the default "admin" user with its default password. Still, I was unable to log in from either Web or from Java client! I know that Nick was able to get it working with MySQL but I certainly cannot - with either "old" or brand new scheme instance. See attached startup logs for both scenarios. Really need to get it working ASAP...

                            thx
                            Dan
                            Attached Files

                            Comment


                            • #29
                              ... and after inserting into NEW mirthdb scheme the SCRIP row, I am getting this upon startup:

                              INFO 2014-04-23 09:11:15,776 [pool-2-thread-1] deploy: Status: 1
                              INFO 2014-04-23 09:11:15,794 [Thread-2] com.mirth.connect.server.Mirth: Mirth Connect 3.0.2.7140 (Built on April 15, 2014) server successfully started.
                              INFO 2014-04-23 09:11:15,795 [Thread-2] com.mirth.connect.server.Mirth: This product was developed by Mirth Corporation (http://www.mirthcorp.com) and its contributors (c)2005-2014.
                              INFO 2014-04-23 09:11:15,796 [Thread-2] com.mirth.connect.server.Mirth: Running Java HotSpot(TM) 64-Bit Server VM 1.7.0_51 on Linux (2.6.32-358.el6.x86_64, amd64), mysql, with charset UTF-8.
                              INFO 2014-04-23 09:11:15,797 [Thread-2] com.mirth.connect.server.Mirth: Web server running at http://172.31.16.10:9080/ and https://172.31.16.10:9443/
                              So deploy Status is "1" - is that OK? Could it be that default encrypted password in MSQL DB is NOT "admin"??? Sounds stupid but..

                              Comment


                              • #30
                                Are you sure you have the correct connection settings in mirth.properties? Can you post your mirth.properties file (minus any passwords)?

                                For dzilberman, I see this in that log you posted:

                                Code:
                                ERROR 2014-04-23 08:47:05,801 [Thread-2] com.mirth.connect.server.Mirth: Error establishing connection to database, aborting startup. Access denied for user 'jakari_emr'@'ip-172-31-16-10.us-west-2.compute.internal' to database 'mirthdbnew'
                                And for rastababy, if that channel table is definitely there, it also seems to indicate a problem with your JDBC connection settings. The configuration controller is literally just doing "SELECT 1 FROM channel" to check whether the database is up and running.

                                The status of "1" indicates that some problem occurred during the server startup. Database connectivity issues would certainly cause that.
                                Step 1: JAVA CACHE...DID YOU CLEAR ...wait, ding dong the witch is dead?

                                Nicholas Rupley
                                Work: 949-237-6069
                                Always include what Mirth Connect version you're working with. Also include (if applicable) the code you're using and full stacktraces for errors (use CODE tags). Posting your entire channel is helpful as well; make sure to scrub any PHI/passwords first.


                                - How do I foo?
                                - You just bar.

                                Comment

                                Working...
                                X