Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

ER_HOST_NOT_PRIVILEGED - bộ chứa docker không kết nối được với mariadb

Lỗi bạn nhận được là do MariaDB cho rằng bạn không được phép kết nối với máy chủ. Điều này có nghĩa là bạn chưa tạo người dùng cơ sở dữ liệu cho ứng dụng Node.js hoặc các khoản tài trợ cho người dùng đó không chính xác.

Một cách dễ hiểu để giải quyết vấn đề này là tạo một người dùng riêng cho ứng dụng Node.js. Bạn có thể tự động hóa việc này bằng cách viết SQL sau vào một tệp và gắn ổ đĩa vào /docker-entrypoint-initdb.d .

CREATE USER 'my-app-user'@'%' IDENTIFIED BY 'my-app-password';
GRANT ALL ON *.* TO 'my-app-user'@'%';

Thay đổi tên người dùng và mật khẩu cho phù hợp và giảm các đặc quyền đã cho từ ALL đặc ân. Bạn cũng có thể thay đổi tên máy chủ ký tự đại diện % đến một địa chỉ IP hoặc tên máy chủ cụ thể.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chuỗi trống chèn một số 0, không phải một chuỗi rỗng

  2. Điền cơ sở dữ liệu Django

  3. Sử dụng Liên minh hoặc Tham gia - Điều gì nhanh hơn

  4. Ruby on Rails - không thể tải tệp như vậy - mysql2 / 2.2 / mysql2 (LoadError)

  5. Làm thế nào để tạo một TRIGGER trong SEQUELIZE (nodeJS)?