As is often the case with DirectAdmin, this kind of action is not available directly through the control panel. Instead, it must be executed from the command line. Whether we like that approach or not, the important point is that it is possible and often simpler than doing the same in cPanel.
Move the databases first
This is essential because databases do not move together with the domain automatically. Before moving the domain, make sure the databases are moved first.
DirectAdmin provides scripts for this under:
cd /usr/local/directadmin/scripts
To rename and move a database to the user of the new hosting account, run:
./rename_database_with_user.sh oldDatabaseName newUser_newDatabaseName
Remember that the new database name must begin with the username of the new hosting account.
Now move the domain to the new hosting account
The domain move script is also located in:
cd /usr/local/directadmin/scripts
And the command is:
./move_domain.sh domain.com oldHostingAccount newHostingAccount
If the old account becomes empty after the move, you can remove that user. Before deleting it, however, confirm that the databases were successfully moved to their final destination. Otherwise, you may lose them permanently unless you have a backup.