Did you find a solution ?
*here is my connection string:*
db =
DAL('mysql://user%40w-mysql-001-se:[email protected]/dbname',
decode_credentials=True)
Now it is showing
InternalError: (1043, u'Bad handshake')
On Friday, December 1, 2017 at 6:40:29 AM UTC+6, Daniel Luna wrote:
>
> I Strill trying to connect, idk if my uri string is wrong, or if i did a
> mistake. Anyway, my string is like this->
> mysql://user@db:password@server:3306/db
>
> And my DAL is like this -> DAL(myconf.get('db.uri'),
> pool_size=myconf.get('db.pool_size'),
> migrate_enabled=myconf.get('db.migrate'),
> check_reserved=['all'], decode_credentials=True)
>
> Em domingo, 11 de junho de 2017 04:38:40 UTC-3, Massimo Di Pierro escreveu:
>>
>> I was having the same problem.
>>
>> DAL(..., decode_credentials=True)
>>
>> this will allow you to have urlencoded (@ -> %40) username and password.
>>
>> Massimo
>>
>>
>>
>> On Thursday, 8 June 2017 16:06:32 UTC-5, Raul Romay Barrero wrote:
>>>
>>> Hi all,
>>>
>>> Azure has just launched "Azure database for MySQL" a managed Mysql
>>> service. It's in PREVIEW state and I was giving it a try with our web2py
>>> based application.
>>>
>>> Any user name you configure to connect to the database instance gets
>>> appended an "@database_name", so in our case it's something like
>>> 'user@mnp-db'. This is creating a problem when connecting to database:
>>>
>>> 2017-06-08 13:49:45,437 - cmp - 114405 - models.db.py - 44 - <module> -
>>> ERROR - Exception generating DAL. Failure to connect, tried 5 times:
>>> Traceback (most recent call last):
>>> File "/home/www-data/web2py/gluon/dal.py", line 7563, in __init__
>>> self._adapter = ADAPTERS[self._dbname](**kwargs)
>>> File "/home/www-data/web2py/gluon/dal.py", line 2573, in __init__
>>> if do_connect: self.reconnect()
>>> File "/home/www-data/web2py/gluon/dal.py", line 606, in reconnect
>>> self.connection = f()
>>> File "/home/www-data/web2py/gluon/dal.py", line 2571, in connector
>>> return self.driver.connect(**driver_args)
>>> File "/home/www-data/web2py/gluon/contrib/pymysql/__init__.py", line
>>> 93, in Connect
>>> return Connection(*args, **kwargs)
>>> File "/home/www-data/web2py/gluon/contrib/pymysql/connections.py",
>>> line 575, in __init__
>>> self._connect()
>>> File "/home/www-data/web2py/gluon/contrib/pymysql/connections.py",
>>> line 741, in _connect
>>> self._request_authentication()
>>> File "/home/www-data/web2py/gluon/contrib/pymysql/connections.py",
>>> line 796, in _request_authentication
>>> self._send_authentication()
>>> File "/home/www-data/web2py/gluon/contrib/pymysql/connections.py",
>>> line 845, in _send_authentication
>>> auth_packet.check_error()
>>> File "/home/www-data/web2py/gluon/contrib/pymysql/connections.py",
>>> line 341, in check_error
>>> raise_mysql_exception(self.__data)
>>> File "/home/www-data/web2py/gluon/contrib/pymysql/err.py", line 142,
>>> in raise_mysql_exception
>>> _check_mysql_exception(errinfo)
>>> File "/home/www-data/web2py/gluon/contrib/pymysql/err.py", line 138,
>>> in _check_mysql_exception
>>> raise InternalError, (errno, errorvalue)
>>> InternalError: (2001, u'The server name you tried cannot be found.
>>> Please use the correct name and retry. Please check your server name
>>> mnp.\x00')
>>>
>>> The error is missleading as it's not related to the server name but to
>>> the fact the user name includes an "@". Encoding it as %40 in the URI is
>>> not solving the issue.
>>>
>>> I was debugging inside pymysql when I relized I could change to
>>> MySQL-python. It worked fine.
>>>
>>> So hopefully this will save some of you some time.
>>>
>>> Another thing to consider is that this service is in PREVIEW state but
>>> from my point of view is more an ALPHA state: connections from virtual
>>> machines in same resource group that the database instance are reaching the
>>> database through the public IP address, via internet. It's not only a
>>> latency issue, nor a bandwith concern, also a privacy issue...
>>>
>>> Best regards,
>>> Raúl.
>>>
>>
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.