Hello
I've migrated my super node and dns seed to a high performance VPS. The last thing to do is moving bitcoin-abe.
Because my host gave me an offloaded mysql database, I couldn't import the SQL files genereted by mysqldump due to not having mysql "super privileges".
The only option left is rebuilding the database. This seems to fail unfortunately:
python -m Abe.abe --config minerals-abe/abe-min.conf --commit-bytes 100000 --no-serve
Reconnecting after rollback error: (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")
Reconnecting to database.
Reconnecting after rollback error: (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")
Reconnecting to database.
Reconnecting after rollback error: (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")
Reconnecting to database.
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/usr/local/lib/python2.7/dist-packages/Abe/abe.py", line 2101, in
sys.exit(main(sys.argv[1:]))
File "/usr/local/lib/python2.7/dist-packages/Abe/abe.py", line 2095, in main
store = make_store(args)
File "/usr/local/lib/python2.7/dist-packages/Abe/abe.py", line 159, in make_store
store = DataStore.new(args)
File "/usr/local/lib/python2.7/dist-packages/Abe/DataStore.py", line 3277, in new
return DataStore(args)
File "/usr/local/lib/python2.7/dist-packages/Abe/DataStore.py", line 187, in __init__
store.initialize()
File "/usr/local/lib/python2.7/dist-packages/Abe/DataStore.py", line 629, in initialize
store.configure()
File "/usr/local/lib/python2.7/dist-packages/Abe/DataStore.py", line 927, in configure
config = store._sql.configure()
File "/usr/local/lib/python2.7/dist-packages/Abe/SqlAbstraction.py", line 614, in configure
sql.configure_ddl_implicit_commit()
File "/usr/local/lib/python2.7/dist-packages/Abe/SqlAbstraction.py", line 699, in configure_ddl_implicit_commit
if sql._test_ddl():
File "/usr/local/lib/python2.7/dist-packages/Abe/SqlAbstraction.py", line 706, in _test_ddl
sql.drop_table_if_exists("%stest_1" % sql.prefix)
File "/usr/local/lib/python2.7/dist-packages/Abe/SqlAbstraction.py", line 677, in drop_table_if_exists
sql._drop_if_exists("TABLE", obj)
File "/usr/local/lib/python2.7/dist-packages/Abe/SqlAbstraction.py", line 674, in _drop_if_exists
sql.rollback()
File "/usr/local/lib/python2.7/dist-packages/Abe/SqlAbstraction.py", line 603, in rollback
sql.reconnect()
File "/usr/local/lib/python2.7/dist-packages/Abe/SqlAbstraction.py", line 292, in reconnect
return sql.conn()
File "/usr/local/lib/python2.7/dist-packages/Abe/SqlAbstraction.py", line 275, in conn
sql._conn = sql.connect()
File "/usr/local/lib/python2.7/dist-packages/Abe/SqlAbstraction.py", line 233, in connect
conn = sql.module.connect()
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)
_mysql_exceptions.OperationalError: (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")
The connect-args are:
connect-args {"user":"XXX","db":"XXX","passwd":"XXX","host":"19X.2X1.X5X.X4X","port":3306}
Although I can connect with the mysql command to my database, bitcoin-abe seems to be obstinately trying to connect using a unix socket. How is that even possible? If you don't give a remote server's IP, leave it empty or just enter 127.0.0.1 or localhost, it connects to the local MySQL DB by default, using the socket, but as soon as you specify and IP address, it should connect over TCP. Unless I misread the error log above, it still want to connect to a local MySQL DB? How do you use bitcoin-abe with a remote database?