fusioAuth install is damaged?
-
@maciej-wisniowski Thanks. I took care of that but I still get this error over and over again in the docker log.
2021-02-25 11:59:30.438 AM ERROR com.inversoft.maintenance.db.JDBCMaintenanceModeDatabaseService - Configuration [database.url] is invalid. It must begin with either jdbc:mysql: or jdbc:postgresql:
Here is part of the docker-compose:
environment:
DATABASE_URL: jdbc:mysql://database-2.cwymdn16cxes.us-east-1.rds.amazonaws.com/fusionauthdb
DATABASE_ROOT_USERNAME: ${DATABASE_ROOT_USERNAME} # Enter here the Database username for connection
DATABASE_ROOT_PASSWORD: ${DATABASE_PASSWORD}
# Prior to version 1.19.0, use this deprecated name
# DATABASE_USER: ${DATABASE_USER}
DATABASE_USERNAME: ${DATABASE_USERNAME}
DATABASE_PASSWORD: ${DATABASE_PASSWORD}
# Prior to version 1.19.0, use this deprecated names
# FUSIONAUTH_MEMORY: ${FUSIONAUTH_MEMORY}
# FUSIONAUTH_SEARCH_ENGINE_TYPE: database
# FUSIONAUTH_URL: http://fusionauth:9011
# FUSIONAUTH_RUNTIME_MODE: development
FUSIONAUTH_APP_MEMORY: ${FUSIONAUTH_MEMORY}
FUSIONAUTH_APP_RUNTIME_MODE: development
FUSIONAUTH_APP_URL: http://fusionauth:9011
SEARCH_TYPE: database
FUSIONAUTH_APP_SILENT_MODE: "false" -
Have you tried with original docker image instead of building FA by yourself? Seems (from the first post) that you have some customized dockerfile/image for fusionauth so maybe there is an issue
fusionauth: container_name: fusionauth-app build : context: ./fusionAuth dockerfile: Dockerfile
-
@maciej-wisniowski Thanks. I'll ask the guy who rebuilt it why he did that?
One more question. I have a copy of FA running on Ec2 that is able to talk to the RDS mysql fine. How can I see, from the UI, what the connection string being used is?
-
@richb201 said in fusioAuth install is damaged?:
DATABASE_URL: jdbc:mysql://database-2.cwymdn16cxes.us-east-1.rds.amazonaws.com/fusionauthdb
You are still missing the port in this string (as I mentioned above).
DATABASE_URL: jdbc:mysql://database-2.cwymdn16cxes.us-east-1.rds.amazonaws.com:3306/fusionauthdb
.You cannot view the connection string from the UI at runtime.
-
@robotdan Dan, putting that port in causes the RDS server to time out. It is repeatable. Is there some other way to see what the connection string is set to on the EC2? Perhaps there is a config file? I do have filezilla attached to that server.
-
@richb201 have you tried to connect to this RDS database using any other MySQL client from the same machine? Maybe there is some firewall or permissions issue with RDS
-
@maciej-wisniowski When I try this string I get:
ERROR 2005 (HY000): Unknown MySQL server host 'database-2.cwymdn16cxes.us-east-1.rds.amazonaws.com/fusionauthdb' (2)
mysql -h database-2.cwymdn16cxes.us-east-1.rds.amazonaws.com/fusionauthdb -P 3306 -u admin -p
That is why seeing what a working connection string from the EC2 is would solve the problem.
-
ERROR 2005 (HY000): Unknown MySQL server host 'database-2.cwymdn16cxes.us-east-1.rds.amazonaws.com/fusionauthdb'
That is an invalid host name so that error makes sense. The host is
database-2.cwymdn16cxes.us-east-1.rds.amazonaws.com
and the database isfusionauthdb
. -
@robotdan said in fusioAuth install is damaged?:
What is strange is that I can get into it (RDS mysql) fine from the ec2 directly. I just don't know how that was set up (what connection string is being used)?
As I think I said, using the path and database name you recommend
Causes a 500 error:
HTTP ERROR 500 -
Where is your FA instance? On EC2 or localhost? Seems to be localhost from your screen. If so, then can you connect to RDS from the same machine (localhost probably) as one where is your FA instance? Previously you had errors like: "Host '73.188.125.114' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'", so maybe it is your localhost IP that is blocked?
Also, if you get error 500 from FA then you should be able to see more detailed logs on the docker-compose console or using docker-compose logs fusionauth
-
@maciej-wisniowski thanks for the comment. The fa instance is in EACH container. At least that is my plan. Each container has apache, fa, AWS-CLI, php-fpm, and my application code. The application talks with mysql on RDS just fine. The plan is for fa (in each container) to speak with fusionauthdb which is also up on mysql RDS. So the container on my laptop has its own fa that talks to fusionauthdb on RDS. At least that is the plan!
I will check to see that I have granted permission to my laptop by putting in the question to AWS support for RDS. I am assuming in 2021 that I don't need to serialize access to the fusionauthdb like we use to be required to do in the old mini days?
I have a copy running on my laptop for development purposes. I also plan to have a staging server which is just another copy with xdebug and development logging enabled, and finally the actual deployment server. The servers will all be Lightsail.
-
This post is deleted! -
@maciej-wisniowski That was done when we found that there was a bug in
#FROM fusionauth/fusionauth-app:1.19.4
and we replaced it with:
FROM fusionauth/fusionauth-app:1.19.7
-
This post is deleted! -
This post is deleted!