nupic-legacy
nupic-legacy copied to clipboard
ERROR running swarming tests using mysql user override without setting environment variable NTA_CONF_PATH
I was using Ubuntu Server 16.04 and mysql 5.7.12 in a VirtualBox VM with both nupic (at a0b35e85a6bc89bc265877e3b02d329e768240f7) and nupic.bindings (nupic.core at a5d7d8fd8a417e5998598496843d68b9faa34c00) built from sources.
I installed nupic from sources via python setup.py develop --user
as the very first-ever nupic installation.
After creating new mysql user "vitaly", I updated the property nupic.cluster.database.user
in nupic-default.xml
as follows:
$ vim $NUPIC/src/nupic/support/nupic-default.xml
<property>
<name>nupic.cluster.database.user</name>
<value>vitaly</value>
<description>Username for the MySQL database server </description>
</property>
Then, I ran ./scripts/run_nupic_tests.py -w -x
and after about 5 minutes of inactivity, it failed with OperationalError: (2003, "Can't connect to MySQL server on 'localhost' ((1251, u'Client does not support authentication protocol requested by server; consider upgrading MySQL client'))")
Additional information:
- This was reproducible for me on a virgin system with nupic installed via
python setup.py develop --user
. After I installed nupic viapython setup.py install --user
, the test started succeeding, even afterpip uninstall nupic
andpython setup.py develop --user
. - Setting the environment variable
NTA_CONF_PATH
as follows:$ export NTA_CONF_PATH="$NUPIC/src/nupic/support"
allowed the swarming tests to succeed. - Installing nupic via
python setup.py install --user
(instead ofpython setup.py develop --user
) allowed the test to succeed without setting upNTA_CONF_PATH
. - Running the
hotgym.py
example succeeded without setting upNTA_CONF_PATH
. - This issue was initially brought up in https://discourse.numenta.org/t/when-swarming-got-error-1698-28000-access-denied-for-user-root-localhost-mysql/893.
@rhyolight suggested that the failure to run the swarming tests without setting up NTA_CONF_PATH
should be considered a bug.
you need to execute following queries
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourRootPassword'; -- or CREATE USER 'foo'@'%' IDENTIFIED WITH mysql_native_password BY 'bar'; -- then FLUSH PRIVILEGES;