nupic-legacy icon indicating copy to clipboard operation
nupic-legacy copied to clipboard

ERROR running swarming tests using mysql user override without setting environment variable NTA_CONF_PATH

Open vitaly-krugl opened this issue 8 years ago • 1 comments

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 via python setup.py install --user, the test started succeeding, even after pip uninstall nupic and python 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 of python setup.py develop --user) allowed the test to succeed without setting up NTA_CONF_PATH.
  • Running the hotgym.py example succeeded without setting up NTA_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.

vitaly-krugl avatar Jun 24 '16 18:06 vitaly-krugl

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;

fartashh avatar Oct 12 '18 14:10 fartashh