Quantcast
Channel: MySQL Forums - Connector/Python
Viewing all articles
Browse latest Browse all 384

Windows: connector 8.0.11 does not read "option_files" (no replies)

$
0
0
Hi,

I've been having this problem for a while. The Python connector does not understand the "option_files" connection argument. I have the following situation:

I have a development environment and I sometimes want to drop every table in the dev DB and recreate. Because of my hosting provider I can not drop or add a "database from the command line. I wrote the script below to look for and drop the tables in the database though.

import os
import mysql.connector.django

DBI = mysql.connector.connect(
option_files=os.path.join(os.path.expanduser("~"), ".my.cnf"),
option_groups="membersdev"
)

cursorFind = DBI.cursor()
cursorDrop = DBI.cursor()

query = """
select TABLE_NAME
from information_schema.TABLES
where TABLE_SCHEMA = 'dev_devSite_org'
"""
cursorFind.execute(query)

query2 = """
drop table if exists %s
"""

for (tableName) in cursorFind:
print(tableName)
cursorDrop.execute(query2, tableName)

cursorDrop.close()
cursorFind.close()

DBI.close()

This script works fine on the linux dev machine. It fails on Windows. I get the stacktrace:

Traceback (most recent call last):
File "C:\Program Files\Python36\lib\site-packages\mysql\connector\connection_cext.py", line 176, in _open_connection
self._cmysql.connect(**cnx_kwargs)
_mysql_connector.MySQLInterfaceError: Can't connect to MySQL server on '127.0.0.1' (10061)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm 2017.3.2\helpers\pydev\pydevd.py", line 1664, in <module>
main()
File "C:\Program Files\JetBrains\PyCharm 2017.3.2\helpers\pydev\pydevd.py", line 1658, in main
globals = debugger.run(setup['file'], None, None, is_module)
File "C:\Program Files\JetBrains\PyCharm 2017.3.2\helpers\pydev\pydevd.py", line 1068, in run
pydev_imports.execfile(file, globals, locals) # execute the script
File "C:\Program Files\JetBrains\PyCharm 2017.3.2\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "C:/Users/karres/PycharmProjects/CIAMembers/misc_scripts/db_delete.py", line 16, in <module>
option_groups="membersdev"
File "C:\Program Files\Python36\lib\site-packages\mysql\connector\__init__.py", line 148, in connect
return connect(**new_config)
File "C:\Program Files\Python36\lib\site-packages\mysql\connector\__init__.py", line 182, in connect
return CMySQLConnection(*args, **kwargs)
File "C:\Program Files\Python36\lib\site-packages\mysql\connector\connection_cext.py", line 78, in __init__
self.connect(**kwargs)
File "C:\Program Files\Python36\lib\site-packages\mysql\connector\abstracts.py", line 736, in connect
self._open_connection()
File "C:\Program Files\Python36\lib\site-packages\mysql\connector\connection_cext.py", line 179, in _open_connection
sqlstate=exc.sqlstate)
mysql.connector.errors.DatabaseError: 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (10061)

It should not be trying to connect to localhost via networking because the config file says to use a socket:


[membersdev]
socket=MySQL
protocol=pipe
user=devsiteorg
password=********
database=dev_site_org

I know that the config file *works* from the windows commend line because I can start the mysql client in a command window and specify the default file. the "client" part of the config file is the same as the one above.

Viewing all articles
Browse latest Browse all 384

Trending Articles