Hướng dẫn tạo user root cho quyền remote từ xa trong mysql 5.7
Dưới đây là hướng dẫn chi tiết và đầy đủ để bạn tạo user root (hoặc user mới) có quyền remote từ xa trong MySQL 5.7, kèm theo các lưu ý quan trọng để tránh lỗi và đảm bảo bảo mật.
1. Đăng nhập MySQL
mysql -u root -p
2. Kiểm tra user root hiện tại có cho phép remote không
SELECT Host, User FROM mysql.user WHERE User='root';
Cách 1: Sửa user root hiện tại để cho phép remote
UPDATE mysql.user
SET Host='%'
WHERE User='root' AND Host='localhost';
Rồi flush lại:
FLUSH PRIVILEGES;
Cách 2: Tạo 1 user root mới chuyên cho remote
CREATE USER 'root'@'%' IDENTIFIED BY 'MatKhauManhVao';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
4. Cho phép MySQL lắng nghe trên IP ngoài
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Tìm dòng:
bind-address = 127.0.0.1
Đổi thành:
bind-address = 0.0.0.0
Rồi restart:
sudo service mysql restart
5. Mở port 3306 trên firewall
UFW (Ubuntu)
sudo ufw allow 3306
FirewallD (CentOS / Almalinux)
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
Lưu ý bảo mật rất quan trọng
Không dùng password yếu.
Nếu được, giới hạn IP:
CREATE USER 'root'@'1.2.3.4' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'1.2.3.4' WITH GRANT OPTION;
Dùng user khác thay vì root nếu có thể.
Chúc các bạn thành công.
Bình luận
Gửi

