Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ตั้งรหัสผ่านที่มีอักขระพิเศษสำหรับ User ใหม่ใน MySQL

การสร้าง 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';