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

7

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

mysql -u _username_ -p

для подключения.

Я хотел был бы иметь возможность напечатать:

mysql -h _host_ -u _username_ -p

для подключения с другого сервера. У меня нет MySQL, установленного на клиенте, поэтому команда не найдена. Есть ли что-то, что я могу установить (apt-get preferred), помимо всего MySQL-сервера, поэтому я могу использовать команды mysql в bash?

    
задан user722307 15.01.2012 в 07:21
источник

1 ответ

13

Чтобы установить клиент 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.

    
ответ дан Hamish Downer 15.01.2012 в 12:22
источник

Ознакомьтесь с другими вопросами по меткам