Sunday, March 24, 2024

Authentication plugin 'caching_sha2_password' cannot be loaded

  • ประเด็นมีอยู่ว่า mysql client บน Window 10 จะ remote connect MySQL บน Ubuntu 22.04 ซึ่งน่าจะติดตั้ง MySQL 8.0 ไว้นะคิดว่า

mysql -h remote_host -u user -p

  • แล้วได้ error ดังหัวเรื่อง

Authentication plugin 'caching_sha2_password' cannot be loaded

  • แต่ลองทดสอบ remote  connect ด้วย navicat client กลับเชื่อมต่อได้ซะงั้น
  • ทดสอบบน window เครื่องอื่น ก็ได้ error แบบเดียวกัน
  • สรุปคือ MySQL ตอนสร้าง user และ password ค่าเริ่มต้นการเข้ารหัสจะเป็น sha2 แน่เลย
  • ซึ่งทำให้ mysql client ที่ใช้ version เก่าอยู่ไม่มีตัว plugin sha2 authen แน่ๆ เลย
  • แก้ปัญหาโดย เปลี่ยนการ authen ของ user นั้นเป็นแบบ standard

Solved

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newrootpassword';

Ref

  • https://stackoverflow.com/questions/49194719/authentication-plugin-caching-sha2-password-cannot-be-loaded

Install Java SKD 11 on MacOS ARM

  • ประเด็นคือเขียน flutter โดยใช้ Android Studio  จะติดตั้งบน Android Mobile debug mode
  • แต่ฟ้องล้มเหลวประมาณว่า ต้องการ java 11 ซะงั้น 

Step

$ brew install java11

  • path ที่ติดตั้งน่าจะอยู่ประมาณ /opt/openjdk11 ประมาณนี้
  • ตั้งค่าให้เลือกใช้ได้แบบ global ประมาณนี้

$ sudo ln -sfn /opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk

  • ตรวจสอบเวอร์ชั่น java

$ java --version

Ref

  • https://medium.com/@kirebyte/using-homebrew-to-install-java-jdk11-on-macos-2021-4a90aa276f1c

CLI HTTP and API testing client for the API era.

  • ประเด็น ใช้ curl บน ubuntu 22.04 แล้วคิดว่ามันเอ๋อ (จริง เป็นที่โค้ดตัวเองเน้นๆ ที่มั่วเอง)
  • เลยลองหา cli http client มาใช้ทดสอบดูสิ ว่าได้ผลลัพธ์แบบ curl หรือป่าว
  • สรุปคือได้ผลเหมือนกันกับ curl แต่ก็ดีมี tool ตัวอื่น ไว้ใช้อีกตัว ง่ายๆ เหมือน curl

Install on ubuntu 22.04

$ snap install httpie

Usage ex

$ https httpie.io/hello

$ http PUT pie.dev/put X-API-Token:123 name=John

$ http -f POST pie.dev/post hello=World

Ref

  • https://httpie.io/cli

Popular Posts