0

Ошибка при подключении к удалённой БД mysql. Пытаюсь соединиться в Ubuntu через консольную утилиту "mysql". В перспективе нужно соединиться через bash скрипт.

команда:

mysql -h %host% -u %user% -p %password% %dbname%

вывод:

ERROR 1045 (28000): Access denied for user '%user%'@'%ip%' (using password: YES)

Скрипт вставки данных:

content=$ztag1
xhost="%server%"
xuser="%user%"
xpass="%pass%"
xdb="%dbname%"
mysql --host=$xhost --user=$xuser --password=$xpass $xdb << EOF
insert into table (cms_content) values('30','1','1','2014-02-10 17:49:00','2014-02-10','0','title','description','$content','1','1','0','meta_desc','meta_keys','0','0','0','0','1','6','1','','0','pagetitle','','com_content_read.tpl');
EOF

Ответ тот же

1 ответ 1

3

Это значит, что в конфигурации той самой базы не разрешено подключаться к этой базе этому пользователю с данного IP (скорее всего, доступ для этого пользователя открыт только для подключения с localhost - самая распространенная причина by default).

Непосредственно на удаленной базе (с локального хоста или же удаленно тем пользователем, кто имеет возможность 'раздавать' привилегии другим пользователям), как вариант, надо прибегнуть к:

GRANT ALL ON ваша-база.таблица TO 'здесь-пользователь'@'здесь-ваш-IP' IDENTIFIED BY 'здесь-пароль' WITH GRANT OPTION;
  • Используйте ALL только в том случае, если даете все привилегии, если нет - то выборочно, через запятую: например SELECT,INSERT,UPDATE и т.д.
  • Если на месте 'здесь-ваш-IP' подставить '%', то подключение станет возможным с любого IP, что не рекомендуется.
  • Используйте 'WITH GRANT OPTION', если хотите дать возможность, в свою очередь, предоставить эту привилегию к той же таблице, с или без GRANT OPTION, любому другому пользователю.
2
  • действительно оказалось, что пользователю можно было подключаться исключительно с адреса localhost.
    – shaman888
    21 мар 2014 в 11:45
  • Да, как правило, это установки по умолчанию.
    – void
    26 мар 2014 в 8:24

Ваш ответ

By clicking “Отправить ответ”, you agree to our terms of service and acknowledge you have read our privacy policy.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками или задайте свой вопрос.