Nếu quý khách đang có nhu cầu remote access mysql 8 từ xa, quý khách có thể làm theo hướng dẫn sau
Tóm Tắt Bài Viết
Thay đổi cấu hình MySQL
Mặc định MySQL sẽ disable tính năng remote từ xa, bạn cần enable lên bằng cách mở file cấu hình MySQL và điều chỉnh như sau:
vi /etc/my.cnf
Đổi dòng sau
bind-address = 127.0.0.1
skip-networking
Thành
bind-address = 0.0.0.0
# skip-networking
Khởi động lại MySQL
service mysql restart
Phân quyền remote access MySQL
Về mặc định thì MySQL chỉ được phân quyền access từ local mà thôi, vì vậy quý khách cần update thêm một vài bước để có thể kết nối từ bên ngoài:
Đăng nhập MySQL
mysql -u root -p
Bắt đầu với MySQL 8, bạn không còn có thể (implicitly) tạo người dùng bằng lệnh GRANT. Thay vào đó, hãy sử dụng CREATE USER, theo sau là câu lệnh GRANT:
Chạy lệnh bên dưới để cho phép user root truy cập từ tất cả các máy
CREATE USER 'root'@'%' IDENTIFIED BY 'PASSWORD';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Trong trường hợp quý khách chỉ muốn cho phép truy cập từ IP thì có thể thay % thành IP, có thể chạy nhiều lần để cho phép truy cập từ nhiều IP ví dụ dưới allow IP 1.2.3.4
GRANT ALL PRIVILEGES ON *.* TO 'root'@'1.2.3.4' WITH GRANT OPTION;
Trong vài trường hợp truy cập từ client thấp có thể gặp lỗi:
Client does not support authentication protocol requested by server; consider upgrading MySQL client
để khắc phục chạy lệnh sau
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
FLUSH PRIVILEGES;
Cảm ơn quý khách