📚
NEXT.JS+MySQLのチュートリアルはMySQL8.0に接続できない話
背景
NEXT.JSを使ってMySQLに接続しようと見つけた下記のチュートリアルに少しハマったので備忘録
内容
チュートリアル通りに実施していったが、npm run migrate
で下記のエラーが発生してしまう。
could not run migration, double check your credentials.
scripts/migrate-db.js
内の48行目で発生しているようなので、下記のように一部修正。
console.error('could not run migration, double check your credentials.',e)
下記のエラーを確認した。
could not run migration, double check your credentials. Error: Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
at query (/Users/hashito/git/docker/next.js/my-app/scripts/migrate-db.js:26:11)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at async migrate (/Users/hashito/git/docker/next.js/my-app/scripts/migrate-db.js:33:5)
このエラー構文で調べたところ、MySQL8.0では認証方法がmysql_native_password
からcaching_sha2_password
に変わったため、認証が出来なかった様子。
Mariadbに変えて上手く行った。
多分、mysql_native_password
に認証方法を変えても上手くいくと思います。
Discussion