Clone a Live MySQL Database
No and yes.

No -- in that you would need to dump the data from your single server; this is invasive and costly.

Yes -- in that there are several ways of setting up Replication to make this task a breeze, possibly near-instantaneous, regardless of dataset size.

With a Master (Prod) + Slave, you could disconnect the Slave to use it as Staging; it would be up to date to the moment when it was grabbed.  But if you modify the Staging server, it could not be put back as the Slave.

Galera -- Have 3 (or more) nodes.  Removing a node from the cluster is easy.  Adding a node to the cluster is easy -- the dump+reload is automatic.  Then the grabbed node becomes Staging; then throw it away.

LVM -- This requires setting up the Prod machine with LVM before building the database.  However, a one-minute downtime is all it takes to grab a snapshot of the prod machine.  You then have hours to copy (perhaps via rsync) to the Staging server.