Tạo user MySQL với mật khẩu chứa ký tự đặc biệt
Để đặt mật khẩu chứa ký tự đặc biệt khi tạo user mới, sử dụng cú pháp chuẩn CREATE USER với mật khẩu đặt trong dấu nháy đơn.
Cú pháp
CREATE USER 'ten_user'@'ten_host' IDENTIFIED BY 'mat_khau_ky_tu_dac_biet';
Ví dụ minh họa
Tạo user Mike với mật khẩu Mike_123456 (chứa dấu gạch dưới và số):
mysql> CREATE USER 'Mike'@'localhost' IDENTIFIED BY 'Mike_123456'; Query OK, 0 rows affected (0.35 sec)
Kiểm tra user đã tạo trong bảng mysql.user:
mysql> SELECT user, host FROM mysql.user;
Kết quả (user Mike đã xuất hiện):
+------------------+-----------+ | 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 | | User1 | localhost | | am | localhost | | hbstudent | localhost | | mysql.infoschema | localhost | | mysql.session | localhost | +------------------+-----------+ 21 rows in set (0.00 sec)
Lưu ý về ký tự đặc biệt trong mật khẩu
- Nếu mật khẩu chứa dấu nháy đơn ('), hãy escape bằng cách viết hai dấu:
''hoặc dùng dấu nháy kép bao quanh:"mat'khau" - Ví dụ:
IDENTIFIED BY "It's_Secret"hoặcIDENTIFIED BY 'It''s_Secret' - Ký tự
%,_,@,#,$,!... đều được hỗ trợ bình thường - Từ MySQL 8.0, plugin xác thực mặc định là
caching_sha2_passwordhỗ trợ tốt các ký tự Unicode
Thay đổi mật khẩu user hiện có
ALTER USER 'Mike'@'localhost' IDENTIFIED BY 'New_Pass@123';