External MySQL
-
wrote on Mar 1, 2020, 6:00 PM last edited by girish Oct 21, 2023, 3:13 PM
Hello.
I just quickly wanted to ask how I'd get access to my Lamp Stack's DB from outside (minecraft server).
I've opened the 3306 port in ufw and I edited the my.cnf.
Still can't reach it. What do I have to do?
-
@Trankery The mysql that is allocated to apps is run as a separate container (named
mysql
) and is not accessible from the outside directly. Instead, what you can do is to use the CLI tool to access it - https://cloudron.io/documentation/custom-apps/addons/#mysqlMay I ask why you want to access it from outside? I can probably give a better solution depending on the use case. But if you want to access from your laptop/PC:
-
Install the CLI tool - https://cloudron.io/documentation/custom-apps/cli/
-
cloudron exec
# mysql --user=${CLOUDRON_MYSQL_USERNAME} --password=${CLOUDRON_MYSQL_PASSWORD} --host=${CLOUDRON_MYSQL_HOST} ${CLOUDRON_MYSQL_DATABASE} mysql> this is the mysql shell
-
-
wrote on Mar 3, 2020, 1:43 PM last edited by
As I said, a minecraft server needs to access it.
-
wrote on Mar 3, 2020, 1:44 PM last edited by
Am I able to open this container to the outside?
I don't really mind about security too much here.
-
There is no easy way to make the internal mysql server public without changing the code and I don't know what that will break.
I think you can setup a ssh tunnel between your minecraft server and the Cloudron.
Something like https://www.linode.com/docs/databases/mysql/create-an-ssh-tunnel-for-mysql-remote-access/
Do this on Cloudron:
docker inspect mysql | grep IPAddress "IPAddress": "172.18.0.4",
So,
172.18.0.4
is the IP of mysql server. Then, you can get the db credentials using the web terminal of the LAMP app:env | grep CLOUDRON_MYSQL_
You can then connect using the above credentials as:
mysql --host=172.18.0.4 --user=<username> --password=<password> <db>
After the above works, you just setup SSH tunnel accordingly.
-
-
There is no easy way to make the internal mysql server public without changing the code and I don't know what that will break.
I think you can setup a ssh tunnel between your minecraft server and the Cloudron.
Something like https://www.linode.com/docs/databases/mysql/create-an-ssh-tunnel-for-mysql-remote-access/
Do this on Cloudron:
docker inspect mysql | grep IPAddress "IPAddress": "172.18.0.4",
So,
172.18.0.4
is the IP of mysql server. Then, you can get the db credentials using the web terminal of the LAMP app:env | grep CLOUDRON_MYSQL_
You can then connect using the above credentials as:
mysql --host=172.18.0.4 --user=<username> --password=<password> <db>
After the above works, you just setup SSH tunnel accordingly.
wrote on Oct 21, 2023, 12:15 PM last edited by -
By now the internal IP for mysql is hardcoded to 172.18.30.1 so this command is not required anymore: https://docs.cloudron.io/guides/connect-mysql/#internal-ip-address
-
-