Підключення до MySQL на Bash (без встановлення MySQL)


11

Я намагаюся підключитися до віддаленої бази даних MySQL в Bash. На сервері, на якому розміщується база даних, я можу набрати:

mysql -u _username_ -p

для підключення.

Я хотів би мати можливість ввести:

mysql -h _host_ -u _username_ -p

підключитися з іншого сервера. У мене не встановлено MySQL на клієнті, тому команда не знайдена. Чи є щось, що я можу встановити (apt-отримати перевагу), окрім всього MySQL-сервера, щоб я міг використовувати команди mysql в bash?


1
apt-get install mysql-client Я думав, що це лише для клієнта GUI.
користувач722307

Ви можете відповісти на власне запитання, а через деякий час ви також можете прийняти його.
enzotib

Відповіді:


21

Щоб встановити командний рядок клієнта MySQL, слід зробити:

sudo apt-get install mysql-client

і тоді ви можете зробити

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

Однак вам може знадобитися змінити налаштування сервера MySQL. За замовчуванням у ubuntu сервер MySQL приймає з'єднання лише з локального сервера. Настройка викликається bind-addressі встановлюється /etc/mysql/my.cnf. За замовчуванням це 127.0.0.1- вам слід змінити його на IP-адресу сервера. Якщо сервер має кілька IP-адрес, ви можете вибрати лише одну IP-адресу (скажімо, для внутрішньої мережі) або змусити MySQL прослуховувати всі IP-адреси, зробивши значення0.0.0.0

Вам також потрібно переконатися, що користувач MySQL може отримати доступ до бази даних. Дотримуючись інструкцій в Інтернеті, можливо, ви створили користувача 'myname'@'localhost'- цей користувач не зможе віддалено підключитися. Щоб створити нового користувача, який може з'єднатися з IP-адресою вашого клієнта, вам потрібно зробити щось на кшталт:

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

Прочитайте трохи більше про специфікацію адреси, яку використовує MySQL .

Нарешті, не забудьте переконатися, що брандмауер сервера дозволить отримати доступ до порту MySQL - за замовчуванням 3306.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.