title: How do I get sqlalchemy.create_engine with mysqlconnector to connect using mysql_native_password?
body: <p>I'm working with pandas and sqlalchemy, and would like to load a DataFrame into a MySQL database. I'm currently using this code snippet:</p>
  
  <pre><code>db_connection = sqlalchemy.create_engine('mysql+mysqlconnector://user:pwd@hostname/db_name')
  
  some_data_ref.to_sql(con=db_connection, name='db_table_name', if_exists='replace')
  </code></pre>
  
  <p><code>sqlalchemy</code>, <code>pandas</code> have been imported prior to this.</p>
  
  <p>My MySQL backend is 8.x, which I know uses <code>caching_sha2_password</code>. If I were to connect to the database using <code>mysql.connector.connect</code> and I want to use the <code>mysql_native_password</code> method, I know that I should specify <code>auth_plugin = mysql_native_password</code> like so:</p>
  
  <pre><code>mysql.connector.connect(user=user, password=pw, host=host, database=db, auth_plugin='mysql_native_password')
  </code></pre>
  
  <p>My question: Is there a way to force <code>mysql_native_password</code> authentication with <code>sqlalchemy.create_engine('mysql+mysqlconnector://...)</code>?</p>
  
  <p>Any advice on this would be much appreciated...</p>