Я пытаюсь подключиться к удаленной базе данных MySQL в Bash. На сервере, на котором размещена база данных, я могу набрать:
mysql -u _username_ -p
подключиться.
Я хотел бы иметь возможность печатать:
mysql -h _host_ -u _username_ -p
подключиться с другого сервера. У меня не установлен MySQL на клиенте, поэтому команда не найдена. Есть ли что-то, что я могу установить (предпочтительнее apt-get), кроме всего MySQL-сервера, чтобы я мог использовать команды mysql в bash?
Ответы:
Чтобы установить клиент MySQL командной строки, вы должны сделать:
и тогда вы можете сделать
Однако вам может потребоваться изменить настройки сервера 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-адреса вашего клиента, вам нужно сделать что-то вроде:Прочитайте немного больше об спецификации адреса, которую использует MySQL .
Наконец, не забудьте убедиться, что брандмауэр сервера разрешит доступ к порту MySQL - по умолчанию 3306.
источник