Người dùng MySQL đã thay đổi địa chỉ IP của họ. Cách tốt nhất để đối phó với điều này là gì?


22

Tôi có một số người dùng đang kết nối với MySQL qua VPN, vì vậy chúng tôi có các khoản tài trợ dọc theo grant select on foo.* to user@ipaddress1và v.v.

Tuần này, IP được sử dụng trên VPN đã thay đổi thành address2 , do đó, user@ipaddress1các khoản tài trợ không còn hoạt động nữa.

Cách tốt nhất để xử lý việc cập nhật người dùng và cấp thông tin trong MySQL để phản ánh sự thay đổi này là gì?

Lưu ý rằng các khoản tài trợ là một mớ hỗn độn nghiêm trọng, bởi vì một số người dùng bị loại khỏi các cột cụ thể trong các bảng cụ thể, vì vậy chúng tôi đã phải thực hiện các khoản trợ cấp xung quanh các đối tượng bị loại trừ.

Câu trả lời:



3

Chỉ cần cập nhật trường máy chủ trong bảng người dùng của bạn:

update mysql.users set Host = newIP where Host = oldIP;
flush privileges;

Đã thử rằng: nó không hoạt động nếu có tài trợ.
cjc

OH ... cuộc gọi tốt. Lỗi của tôi.
jdw

Điều này sẽ hoạt động tốt, bạn chỉ cần thực hiện flush privilegescâu lệnh sau khi bạn thao tác thủ công bất kỳ bảng đặc quyền nào.
Zoredache

2

Nếu bạn có một mạng con dành riêng cho người dùng VPN, cú pháp sau sẽ hoạt động tốt.

GRANT ALL ... user_name@'192.168.1.%'

Điều đó không giúp ích gì với người dùng hiện tại ở một IP cụ thể. Chúng tôi vẫn sẽ phải làm lại tất cả các khoản tài trợ, ngay cả khi chúng tôi đang sử dụng một phạm vi trong lần tiếp theo.
cjc

Bạn có thể cập nhật người dùng hiện tại với cùng một cú pháp.
Tim Brigham
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.