Not having cPanel doesn’t mean you can’t create a database, but if you are trying to install WordPress on a server without a database server, that is your biggest problem. I would consider other hosting.
Your questions in order:
- cPanel is a convenience. So are Plesk and other similar pieces of software.
- If you have PhpMyAdmin (or similar) you can create the database using that. It is very obvious how to do that once you log in and there are many tutorials online.
- If you have SSH access, you can create the database from the command line.
- Yes, you can run the site and the database on different servers. Some hosts have you do this anyway, whether you realize it or not. Just provide the server address when you define
DB_HOST
inwp-config.php
. Use the IP of the database server instead oflocalhost
. Using the domain name may also work but use the IP if you can– one less DNS lookup. The database server has to be configured to accept remote connections, however, and many hosts do not allow that. - Your third option doesn’t make sense to me. I imagine that that is possible, but would be DNS server configuration and off-topic here, but if you have a server you can use, why not just use it and do away with the domain redirecting and masking?