I'm using Sequelize version 4.3.0 on nodejs(v6.11.0) application having Mariadb (mysql Ver 15.1 Distrib 10.0.29-MariaDB, for debian-linux-gnu (i686) using readline 5.2
) on Ubuntu 16.04.
when application starts and calls function:
Sequelize.sync();
Then sequelize connection manager throws following error:
Unhandled rejection SequelizeConnectionError: Client does not support authentication protocol requested by server; consider upgrading MariaDB client
at Utils.Promise.tap.then.catch.err (/home/dariksoft/cars/node_modules/sequelize/lib/dialects/mysql/connection-manager.js:146:17)
at tryCatcher (/home/dariksoft/cars/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/home/dariksoft/cars/node_modules/bluebird/js/release/promise.js:512:31)
at Promise._settlePromise (/home/dariksoft/cars/node_modules/bluebird/js/release/promise.js:569:18)
at Promise._settlePromise0 (/home/dariksoft/cars/node_modules/bluebird/js/release/promise.js:614:10)
at Promise._settlePromises (/home/dariksoft/cars/node_modules/bluebird/js/release/promise.js:689:18)
at Async._drainQueue (/home/dariksoft/cars/node_modules/bluebird/js/release/async.js:133:16)
at Async._drainQueues (/home/dariksoft/cars/node_modules/bluebird/js/release/async.js:143:10)
at Immediate.Async.drainQueues (/home/dariksoft/cars/node_modules/bluebird/js/release/async.js:17:14)
at runCallback (timers.js:672:20)
at tryOnImmediate (timers.js:645:5)
at processImmediate [as _immediateCallback] (timers.js:617:5)
I updated mariadb-server and mariadb-client but the problem already exists!
Anyone can help me to solve this problem ?
How do you resolve it client does not support authentication protocol requested by server consider upgrading MySQL client? Select the 'privileges' option on the main PhpMyAdmin page. Edit the user you're using to connect to the Drupal database. Enter and re-type the password for that user.
To deal with this problem, the preferred solution is to upgrade all client programs to use a 4.1. 1 or higher client library. If that is not possible, use one of the following approaches: To connect to the server with a pre-4.1 client program, use an account that still has a pre-4.1-style password.
Step 2: Navigate to Software > MySQL Upgrade or type “MySQL” into the search bar. You may also find it under SQL Services > MySQL/MariaDB Upgrade. Step 3: Select the version of MySQL you want to upgrade to and click Next. Now follow the upgrade steps, and it'll take care of everything for you.
In case you are using higher versions of mysql, you don't need to use password function. Instead you can write it as below
use mysql;
update user set authentication_string='new_root_password', plugin='mysql_native_password' where user='root';
flush privileges;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With