What's the algorithm behind MySQL's sha256_password hashing scheme?
According to the MySQL Server Blog, it is:


  The advantage of mysql_native_password is that it support challenge-response mechanism which is very quick and does not require encrypted connection. However, mysql_native_password relies on SHA1 algorithm and NIST has suggested to stop using it.
  
  caching_sha2_password tries to combine the best of both worlds.


XOR( SHA256(pwd),SHA256(SHA256SHA256(pwd)) , Nonce)




  \$A\$005\$wU"H/k5|5;f!kP_&amp;N4cvqu6bppuYjCvqhg2blU.NcJHkkhaVj.QNt7pipg4p3


From the source code sha2_password.cc



  Expected format
  
  DELIMITER[digest_type]DELIMITER[iterations]DELIMITER[salt][digest]



Where the delimiter is $



  digest_type:
  
  A => SHA256


  iterations:
  
  005 => 5*ITERATION_MULTIPLIER


  salt:
  
  Random string. Length SALT_LENGTH


  digest:
  
  SHA2 digest. Length STORED_SHA256_DIGEST_LENGTH


From file i_sha2_password.h

  #define CRYPT_SALT_LENGTH 20
  
  const unsigned int STORED_SHA256_DIGEST_LENGTH = 43;