Kết nối với MySQL trong Bash (không cài đặt MySQL)


11

Tôi đang cố gắng kết nối với cơ sở dữ liệu MySQL từ xa ở Bash. Trên máy chủ lưu trữ cơ sở dữ liệu tôi có thể gõ:

mysql -u _username_ -p

kết nối.

Tôi muốn có thể gõ:

mysql -h _host_ -u _username_ -p

để kết nối từ một máy chủ khác. Tôi không cài đặt MySQL trên máy khách để không tìm thấy lệnh. Có thứ gì tôi có thể cài đặt (apt-get ưa thích) bên cạnh toàn bộ máy chủ MySQL để tôi có thể sử dụng các lệnh mysql trong bash không?


1
apt-get install mysql-client Tôi nghĩ rằng nó chỉ dành cho máy khách GUI.
dùng722307

Bạn có thể trả lời câu hỏi của riêng bạn, và sau một thời gian bạn cũng có thể chấp nhận nó.
enzotib

Câu trả lời:


21

Để cài đặt dòng lệnh MySQL client, bạn nên làm:

sudo apt-get install mysql-client

và sau đó bạn có thể làm

mysql -h HOST -P PORT_NUMBER -u USERNAME -p

Tuy nhiên, bạn có thể cần phải thay đổi thiết lập máy chủ MySQL. Theo mặc định trên Ubuntu, máy chủ MySQL sẽ chỉ chấp nhận các kết nối từ máy chủ cục bộ. Cài đặt được gọi bind-addressvà được đặt trong /etc/mysql/my.cnf. Theo mặc định, đó là 127.0.0.1- bạn nên thay đổi nó thành địa chỉ IP của máy chủ. Nếu máy chủ có nhiều địa chỉ IP, bạn có thể chọn chỉ một địa chỉ IP (nói cho mạng bên trong) hoặc để MySQL lắng nghe tất cả các địa chỉ IP bằng cách tạo giá trị0.0.0.0

Bạn cũng sẽ cần đảm bảo rằng người dùng MySQL có thể truy cập cơ sở dữ liệu. Theo hướng dẫn trên internet, bạn có thể đã tạo người dùng 'myname'@'localhost'- người dùng đó sẽ không thể kết nối từ xa. Để tạo một người dùng mới có thể kết nối từ địa chỉ IP của khách hàng của bạn, bạn cần thực hiện một số việc như:

GRANT ALL PRIVILEGES ON database_name TO 'username'@'192.168.0.51' IDENTIFIED BY 'password';

Đọc thêm một chút về đặc tả địa chỉ mà MySQL sử dụng .

Cuối cùng đừng quên đảm bảo rằng tường lửa máy chủ sẽ cho phép truy cập vào cổng MySQL - mặc định là 3306.

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.