《Disney +》 迪士尼、Marvel、彼思、星球大戰…  「RTA in Japan Summer 2021」於8月11日開幕!挑戰最快通關!   發售即將屆滿1年!「集合啦!動物森友會」春季免費更新來了!   為您介紹《Tandem: A Tale of Shadows》,10月21日登陸PS4   《Virtua Fighter 5 Ultimate Showdown》:如何精通你的戰鬥風格   選手出色表現摘下 FIA 認證 Gran Turismo 2021 Championship冠軍   《原神》1.6版本更新:在盛夏來場激情大冒險!   Niantic × 任天堂 再次合作!「皮克敏Pikmin」的新APP發表!開始接受事前登錄!   獎金總額1,000萬日幣!由專業6團體進行電競比賽「決勝時刻 專業對抗戰」正式開打! 

MySQL 8.0 新增資料庫帳號(User)

商業

MySQL 8.0 要新增 DB User 的方法跟以前不太一樣,以前只要 grant 就會自動建立,現在需要另外 CREATE。

現在會需要下述步驟:

  1. 建立使用者
  2. 給使用者授權權限

MySQL 8.0 新增資料庫帳號(User)

建立使用者

  • CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'; # 採用 default
  • CREATE USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
  • 註:現在建議先使用 WITH mysql_native_password

授權使用者權限

  • GRANT SELECT,INSERT,UPDATE,DELETE,CREATE ON db_name.* TO 'username'@'localhost';
  • GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';
  • GRANT ALL PRIVILEGES ON db_name.* TO 'username'@'127.0.0.%';

問題排解

若上面建立使用者沒有使用 WITH mysql_native_password,PHP 7.3 PDO 連線遇到下述錯誤:

  • connection failed: SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client
  • PHP 測試:$dbh = new PDO('mysql:host=localhost;dbname=db_name', 'username', 'password');

解法

  • ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Tsung

隨機商業新聞