Dear All,
After trying
bench set-mariadb-host [remote MariaDB server]
and getting nothing but endless, silent hangs, I am getting somewhere. Could it be that bench insists on a MySQL socket? After redirecting MySQL requests via pf from the database server to the server, where ERPNext is to be installed, and running:
bench new-site --db-name frappe_my.site my.site
I get:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/local/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/usr/local/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 79, in <module>
main()
File "/usr/local/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 16, in main
click.Group(commands=commands)(prog_name='bench')
File "/usr/local/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/usr/local/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/usr/local/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/usr/local/frappe/frappe-bench/apps/frappe/frappe/commands/site.py", line 26, in new_site
verbose=verbose, install_apps=install_app, source_sql=source_sql, force=force)
File "/usr/local/frappe/frappe-bench/apps/frappe/frappe/commands/site.py", line 56, in _new_site
admin_password=admin_password, verbose=verbose, source_sql=source_sql,force=force, reinstall=reinstall)
File "/usr/local/frappe/frappe-bench/apps/frappe/frappe/installer.py", line 34, in install_db
create_database_and_user(force, verbose)
File "/usr/local/frappe/frappe-bench/apps/frappe/frappe/installer.py", line 52, in create_database_and_user
if force or (db_name not in dbman.get_database_list()):
File "/usr/local/frappe/frappe-bench/apps/frappe/frappe/model/db_schema.py", line 542, in get_database_list
return [d[0] for d in self.db.sql("SHOW DATABASES")]
File "/usr/local/frappe/frappe-bench/apps/frappe/frappe/database.py", line 106, in sql
self.connect()
File "/usr/local/frappe/frappe-bench/apps/frappe/frappe/database.py", line 52, in connect
use_unicode=True, charset='utf8')
File "/usr/local/frappe/frappe-bench/env/lib/python2.7/site-packages/MySQLdb/__init__.py", line 81, in Connect
return Connection(*args, **kwargs)
File "/usr/local/frappe/frappe-bench/env/lib/python2.7/site-packages/MySQLdb/connections.py", line 193, in __init__
super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (2002, "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)")
This clearly indicates a case of cold turkey for sockets… Despite the MariaDB port being forwarded to 127.0.0.1, not localhost!
Any thoughts?
Chris