Connect tới MySQL DB trên Windows từ Ubuntu

Chào các bạn!
Các bạn cho mình hỏi chút.
Hiện tại mình có 1 máy window, có 1 project spring boot, DB là mysql (root/abcxyz)
Mình có 1 máy ảo ubuntu nữa (cài trên máy window) , project trên máy window thì connect db ngon lành, giờ mình muốn dùng chung cái db này cho máy ảo ubuntu thì phải làm thế nào vậy? Run project nó báo: Access denied for user ‘root’@‘localhost’
Đoạn connect db trên ubuntu:

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/database_name?useSSL=false
spring.datasource.username=root
spring.datasource.password=abcxyz

trong đó 127.0.0.1 là cái giá trị bind-address mình sửa trong file config của mysql (trên window) - mình tìm hiểu trên mạng thì thấy bảo set giá trị cho bind-address thì máy khác mới connect tới được, mình cũng đã thử để là localhost nhưng không được

mở console mysql chạy lệnh này nhé

GRANT ALL ON *.* TO root@'%' IDENTIFIED BY 'abcxyz';

Vậy là đã mở quyền cho toàn bộ IP

3 Likes
  1. thay ip thành ip máy ảo
  2. allow port 3306 trên máy ảo (thường thì mặc định ubuntu nó không block gì cả, nên bước này có lẽ không cần làm gì cả)
  3. user phải là ‘root’@’%’, hoặc tạo user mới với host là ‘%’ hoặc đích danh ip nào đó, root@localhost chỉ tự remote trên chính máy đó thôi
2 Likes

Cảm ơn các bạn mình đã connect được rồi. Thằng MySQL này mặc định nó sẽ không cho phép remote connections, trên window mình mở file mi.ini ra và comment thằng bin-address lại,
Trên linux mình cũng comment thằng này (trong file mysqld.cnf )
Sau đó thay đổi lại url datasource thành IP của máy windows (chứa DB) là xong. :grinning::grinning:

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?