title: Cannot connect to Mysql if @ in password
body: <p>I am having trouble connecting to the newer versions of mysql using PyMySQL==1.0.2 and SQLAlchemy==1.4.20 in python3.8.
  The reason is that pymysql reads @ symbol as a change form password to host:</p>
  <pre><code>schema_conn = sqlalchemy.create_engine(
      &quot;mysql+pymysql://{user}:{password}@{host}/{db}&quot;
      .format(host=config['host'], db=config['db'], user=config['user'],
      password=config['password']))
  </code></pre>
  <p>So that if my password is: bob@123 then pymysql reads it as password = bob and host = 123, and not bob@123
  SO my question is how to I correctly replace @ as a text replace so that its read correctly. I tried the url version of @ which is %40 but that did not work.
  Thanks.</p>