Noethys / Connecthys

Le portail internet de Noethys
9 stars 10 forks source link

erreur si mot de passe bd contient % #7

Open mpasteur opened 7 years ago

mpasteur commented 7 years ago
  File "run.py", line 92, in <module>
    from application import app
  File "/root/Connecthys/connecthys/application/__init__.py", line 96, in <module>
    models.UpgradeDB()
  File "/root/Connecthys/connecthys/application/models.py", line 102, in UpgradeDB
    flask_migrate.upgrade()
  File "lib/flask_migrate/__init__.py", line 235, in upgrade
    command.upgrade(config, revision, sql=sql, tag=tag)
  File "lib/alembic/command.py", line 174, in upgrade
    script.run_env()
  File "lib/alembic/script/base.py", line 397, in run_env
    util.load_python_file(self.dir, 'env.py')
  File "lib/alembic/util/pyfiles.py", line 93, in load_python_file
    module = load_module_py(module_id, path)
  File "lib/alembic/util/compat.py", line 79, in load_module_py
    mod = imp.load_source(module_id, path, fp)
  File "migrations/env.py", line 22, in <module>
    current_app.config.get('SQLALCHEMY_DATABASE_URI'))
  File "lib/alembic/config.py", line 218, in set_main_option
    self.set_section_option(self.config_ini_section, name, value)
  File "lib/alembic/config.py", line 245, in set_section_option
    self.file_config.set(section, name, value)
  File "/usr/lib/python2.7/ConfigParser.py", line 752, in set
    "position %d" % (value, tmp_value.find('%')))
ValueError: invalid interpolation syntax in 'mysql://root:aa%$bdfgdg@localhost/connect?charset=utf8' at position 15
mpasteur commented 7 years ago

si le % est encodé sous la forme %% ca passe pour flask_migrate mais la connexion echoue ensuite

File "run.py", line 92, in <module>
    from application import app
  File "/root/Connecthys/connecthys/application/__init__.py", line 91, in <module>
    models.CreationDB()
  File "/root/Connecthys/connecthys/application/models.py", line 65, in CreationDB
    engine.execute("CREATE DATABASE IF NOT EXISTS %s;" % nom_db)
  File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1750, in execute
    connection = self.contextual_connect(close_with_result=True)
  File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1798, in contextual_connect
    self.pool.connect(),
  File "/usr/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 338, in connect
    return _ConnectionFairy._checkout(self)
  File "/usr/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 644, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/usr/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 440, in checkout
    rec = pool._do_get()
  File "/usr/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 963, in _do_get
    return self._create_connection()
  File "/usr/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 285, in _create_connection
    return _ConnectionRecord(self)
  File "/usr/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 411, in __init__
    self.connection = self.__connect()
  File "/usr/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 538, in __connect
    connection = self.__pool._creator()
  File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/strategies.py", line 96, in connect
    connection_invalidated=invalidated
  File "/usr/lib/python2.7/dist-packages/sqlalchemy/util/compat.py", line 199, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb)
  File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/strategies.py", line 90, in connect
    return dialect.connect(*cargs, **cparams)
  File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 377, in connect
    return self.dbapi.connect(*cargs, **cparams)
  File "/usr/lib/python2.7/dist-packages/MySQLdb/__init__.py", line 81, in Connect
    return Connection(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 187, in __init__
    super(Connection, self).__init__(*args, **kwargs2)
sqlalchemy.exc.OperationalError: (OperationalError) (1045, "Access denied for user 'root'@'localhost' (using password: YES)") None None
Noethys commented 7 years ago

Oui en effet. Je crois qu'il serait encore plus simple de modifier le mot de passe MySQL !