Many plugins are available to take backup and restore wordpress but when you want whole website backup and it is larger in size then it create problem to migrate but good news that you can still migrate without any plugin and without downloading any file.
If both sides have cPanel then you can use server side migration, in which automatic script zip both local files and database to move it to other server.
What you need
You need to create ftp account in both servers. Now, just visit ftp option in cPanel and select remote backup option and fill remote server newly create ftp details and process it.
It will create backup which is packed both sql and all wordpress files and you need to extract it and download sql file and upload sql file in PhpMyAdmin.
It is easiest method, if you need my help then comment below.