Hướng dẫn mamp connect to mysql - mamp kết nối với mysql

Hướng dẫn mamp connect to mysql - mamp kết nối với mysql

Chào các bạn,

Tuần trước, Việt Coding triển khai một server chạy dịch vụ web phục vụ cho khoảng 100 người dùng trong nội bộ. Ban đầu dự định cài đặt CentOS làm server nhưng rồi Việt Coding quyết định sử dụng một máy có sẵn chạy Mac OS (dù sao thì Mac OS vẫn đẹp hơn so với CentOS nhỉ)

Do máy Mac OS này trước đó đã cài sẵn dịch vụ web Apache và MySQL trong bộ MAMP nên cài đặt ứng dụng web vào rất nhanh. Mọi thứ đều ổn, ứng dụng web (nền WordPress, theme sử dụng Genesis và child theme Extended Magazine) chạy nhanh và ổn định.

Cách đây vài ngày, khi Việt Coding sử dụng một chương trình MySQL Client để kết nối vào server thì gặp một sự cố nhỏ là không thể kết nối với thông báo lỗi:

2003 – Can’t connect to MySQL server on ‘192.168.1.10’ (10061)

Nghĩ là do cấu hình chưa đúng nên Việt Coding kiểm tra lại:

– Vào MAMP, tab Server \ MySQL và uncheck vào Allow local access only – Cấu hình firewall cho phép dịch vụ mysqld được kết nối ra ngoài.Server \ MySQL và uncheck vào Allow local access only
– Cấu hình firewall cho phép dịch vụ mysqld được kết nối ra ngoài.

Thử kết nối lại xem sao. Kết quả vẫn gặp thông báo lỗi như cũ.

Việt Coding bèn thử tắt luôn firewall nhưng kết quả vẫn không thể nào kết nối được.

Đành dành thời gian với anh Google xem có khả quan hơn không. Thử một vài từ khoá xem nào. Một loạt kết quả được trả ra. Đọc lướt qua một vài trang và chọn một trang có vẻ “hay ho” 😀

Theo trang đó, Việt Coding lần mò tìm file cấu hình my.cnf trong /Applications/MAMP/tmp/mysql/my.cnf trong /Applications/MAMP/tmp/mysql/

Trong my.cnf, tìm đến dòng

bind-address = 127.0.0.1

sửa thành

bind-address = 0.0.0.0

Save và start lại dịch vụ MySQL.

Ái chà chà, sao lỗi ấy vẫn tiếp tục ấy nhỉ. Có lẽ cách này không hiệu quả chăng ? Việt Coding mở lại my.cnf để kiểm tra và phát hiện ra một sự lạ: Dòng bind-address rõ ràng đã sửa thành 0.0.0.0 lại chuyển thành 127.0.0.1 như cũ. Như vậy mỗi lần start lại các dịch vụ thì thằng MAMP sẽ tự động trả lại cấu hình cũ mặc định. Để đảm bảo nhận định đó đúng Việt Coding thử lại vài lần nữa và cuối cùng chắc chắn rằng MAMP đã chỉnh sửa lại các tệp cấu hình như cũ.

Như vậy để chống lại việc MAMP tự khôi phục cấu hình mặc định Việt Coding thử một cách là gán lại quyền hạn trên tệp my.cnf là Read Only cho mọi nhóm và người dùng. Với cách này MAMP vẫn có thể chỉnh sửa lại. Cuối cùng, Việt Coding mới thử Locked luôn my.cnf thì MAMP lại báo lỗi:

Hướng dẫn mamp connect to mysql - mamp kết nối với mysql

MAMP-my.cnf locked

Lại lần mò lên Google và tìm được một hướng dẫn khác. Đọc xong Việt Coding mới đoán ra, MAMP chống lại mọi sự thay đổi từ những phần mềm bên ngoài trừ những thay đổi từ nó. Hiểu ra vấn đề, Việt Coding quay lại MAMP, vào menu File \ Edit Template và chọn MySQL my.cnfFile \ Edit Template và chọn MySQL my.cnf

Hướng dẫn mamp connect to mysql - mamp kết nối với mysql

MAMP-Edit-Template-MySQL-conf

Lúc này mọi thay đổi thông qua MAMP sẽ được ghi lại mà không bị reset

Hướng dẫn mamp connect to mysql - mamp kết nối với mysql

MAMP-Edit-my.cnf

Sau rốt, khi đã chỉnh sửa được my.cnf, Việt Coding đã có thể connect vào được MySQL từ xa rồi. Tuy vậy, Việt Coding cũng nhận thấy thằng MAMP thật là khó tính đúng không nào ?

Đăng ký nhận bài mới qua email


Việt Coding

Là một người đam mê lập trình, tôi vọc vạch đủ thứ liên quan đến lập trình cho thoả chí tò mò. Hiện làm chủ yếu ở mảng phát triển ứng dụng di động cho iOS và Android với React Native. Thỉnh thoảng vọc vạch mấy thứ liên quan đến Internet of Things như Smart Home. Đang nghịch mấy con Raspberry Pi và thấy nó cũng thú vị :)React Native. Thỉnh thoảng vọc vạch mấy thứ liên quan đến Internet of Things như Smart Home. Đang nghịch mấy con Raspberry Pi và thấy nó cũng thú vị :)