การสร้าง User พร้อมรหัสผ่านที่มีอักขระพิเศษ
MySQL รองรับอักขระพิเศษในรหัสผ่านได้โดยตรง เพียงระบุรหัสผ่านในเครื่องหมายคำพูดเดี่ยว (') หลังคีย์เวิร์ด IDENTIFIED BY
Syntax
CREATE USER 'username'@'hostname' IDENTIFIED BY 'yourSpecialPassword';
ตัวอย่างการสร้าง User ชื่อ Mike พร้อมรหัสผ่านมีอักขระพิเศษ
mysql> CREATE USER 'Mike'@'localhost' IDENTIFIED BY 'Mike_123456'; Query OK, 0 rows affected (0.35 sec)
ตรวจสอบ User ที่สร้างขึ้นในตาราง mysql.user:
mysql> SELECT user, host FROM mysql.user;
+------------------+-----------+ | user | host | +------------------+-----------+ | Bob | % | | Charlie | % | | Robert | % | | User2 | % | | mysql.infoschema | % | | mysql.session | % | | mysql.sys | % | | root | % | | @UserName@ | localhost | | Adam Smith | localhost | | Chris | localhost | | David | localhost | | James | localhost | | John | localhost | | John Doe | localhost | | Mike | localhost | <-- User ใหม่ | User1 | localhost | | am | localhost | | hbstudent | localhost | | mysql.infoschema | localhost | | mysql.session | localhost | +------------------+-----------+ 21 rows in set (0.00 sec)
เคล็ดลับการตั้งรหัสผ่านที่มีอักขระพิเศษ
- อักขระพิเศษส่วนใหญ่ใช้ได้โดยตรง:
! @ # $ % ^ & * ( ) _ + - =ฯลฯ - หากรหัสผ่านมี
'(Single Quote) ให้ Escape ด้วย Backslash:'Pass\'word'หรือใช้ Double Quote ครอบ:"Pass'word" - หลีกเลี่ยงอักขระที่อาจก่อให้เกิดปัญหาใน Shell/Command Line เช่น
$,`,\ - MySQL 8.0+ ใช้
caching_sha2_passwordเป็นค่าเริ่มต้น รองรับอักขระครบถ้วน
คำสั่งที่เกี่ยวข้อง
- เปลี่ยนรหัสผ่าน:
ALTER USER 'user'@'host' IDENTIFIED BY 'newPass'; - ลบ User:
DROP USER 'user'@'host'; - ดูสิทธิ์:
SHOW GRANTS FOR 'user'@'host';