Why is it so slow
Spinning hard drives are terribly slow compared to solid-state drives. Spinning hard drives you are sharing with multiple other workloads (i.e. in a shared environment, i.e. a VPS), are slow. Machines with low RAM and limited CPU cores are slow.
and how can I improve its sync speed?
Using a server with a SSD is the simplest way to ...
If you read your logs:
W --public-node is enabled, but RPC server 127.0.0.1:18081 may be unreachable from outside, please check RPC server bind address
Then check the monerod --help output:
--rpc-bind-ip arg (=127.0.0.1) Specify IP to bind RPC server
--rpc-restricted-bind-ip arg (=127.0.0.1) Specify IP to bind restricted RPC server
This error is typically due to trying to start more that one daemon process or a previous process not exiting cleanly. Thus make absolutely sure there is no other monerod process running, such as running killall monerod, then trying to start again should fix the issue (or a reboot).
Is there any other build options that compiles monerod free of runtime exceptions and better optimized for x86-64?
The exception logs did used to be a bit spammy until the latest release (v0.17.2.0) and almost all of them were one particular issue that had no material impact. If you don't want any logs just launch it with: --log-level 0. Using any build ...
Is this an optimal solution for solo mining?
As monerod looks a bit slow when syncing...
Then make sure it has a good internet connection, fast disk (SSD) and a decent enough CPU.
I'm not sure if it is the right tool to be used for getting new blocks to be mined.
The only tool right now for getting block data to be mined is monerod. ...
My understanding is that one of the main tradeoffs on running a pruned node is that it is not possible to mine from such a node; that mining requires the full blockchain.
That is simply not true.
The tradeoff running a pruned node is for the network as a whole, i.e. other people wont be able to sync certain blocks (i.e. the ones you've already pruned), from ...