|
Не могу с помощью pymysql присоединиться к базе
|
|||
---|---|---|---|
#18+
ubuntu 18.04 х64, Python 3.6.5 Установил mysql и с помощью терминала могу открыть сеанс работы с сервером: Код: sql 1.
Без привилегий sudo сеанс не открывается, а с sudo все хорошо работает (таблицы создаются, записи вносятся, выборки делаются). Но когда я запускаю python я использую команду без sudo (и значит у python запущен без таких прав), при этом коннект с БД не устанавливается (пароль не скрываю, потому что это эксперименты): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Если запустить оболочку python c привилегиями суперпользователя, то происходит ошибка импорта. Код: sql 1. 2. 3. 4. 5.
Что делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2018, 17:03 |
|
Не могу с помощью pymysql присоединиться к базе
|
|||
---|---|---|---|
#18+
AlekseySQLБез привилегий sudo сеанс не открывается Почему не открывается, какая ошибка? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2018, 20:31 |
|
Не могу с помощью pymysql присоединиться к базе
|
|||
---|---|---|---|
#18+
vkleПочему не открывается, какая ошибка? Код: sql 1.
Спасибо за участие! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2018, 20:44 |
|
Не могу с помощью pymysql присоединиться к базе
|
|||
---|---|---|---|
#18+
А если на 127.0.0.1 подключаться? sudo тут ничего не даст, авторизация по логину и паролю ведь. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2018, 21:20 |
|
Не могу с помощью pymysql присоединиться к базе
|
|||
---|---|---|---|
#18+
И из консоли и из скрипта одна и та же ошибка - запрет доступа на уровне СУБД. Есть смысл уточнить привилегии доступа пользователя и пароль. Почему влияет sudo - не понятно, не должно быть влияния. И ещё, Вы указываете db='mysql', а это служебная база. Экспериментировать на ней не слишком хорошая идея. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2018, 22:51 |
|
Не могу с помощью pymysql присоединиться к базе
|
|||
---|---|---|---|
#18+
Hettsudo тут ничего не даст, авторизация по логину и паролю ведь. Изначально на 127.0.0.1 подключался- тоже не работает. Hettsudo тут ничего не даст, авторизация по логину и паролю ведь. Ошибка точно такая же, как если бы я попробовал без sudo к mysql из терминала подключиться, поэтому подозрение в эту сторону. Да получается я бы обошел систему защиты системы (не вводил пароль суперпользователя) с помощью python... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2018, 08:53 |
|
Не могу с помощью pymysql присоединиться к базе
|
|||
---|---|---|---|
#18+
А причем тут пароль супервользователя? Вы его вводите после того как выполнили mysql -u root -p ? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2018, 09:10 |
|
Не могу с помощью pymysql присоединиться к базе
|
|||
---|---|---|---|
#18+
HettА причем тут пароль супервользователя? Вы его вводите после того как выполнили mysql -u root -p ? В том- то и смысл, что нет! А если напишу sudo mysql -u root -p, то после команды надо вводить два пароля: для суперпользователя и для mysql ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2018, 09:30 |
|
Не могу с помощью pymysql присоединиться к базе
|
|||
---|---|---|---|
#18+
vkleИ ещё, Вы указываете db='mysql', а это служебная база. Экспериментировать на ней не слишком хорошая идея. Я пробовал и к существующей базе присодиниться (из которой отлично делаются SELECT-выборки в терминале)- та же самая ошибка. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2018, 09:32 |
|
Не могу с помощью pymysql присоединиться к базе
|
|||
---|---|---|---|
#18+
AlekseySQLvkleИ ещё, Вы указываете db='mysql', а это служебная база. Экспериментировать на ней не слишком хорошая идея. Я пробовал и к существующей базе присодиниться (из которой отлично делаются SELECT-выборки в терминале)- та же самая ошибка.Не в этом дело, а в том, что в базе mysql хранятся, например, пользователи и их привилегии и ещё много чего нужного и полезного. Для прямого доступа она не предназначена за очень редким исключением. Ничего криминального в подключении к этой базе нет, однако, случайно попортить данные в ходе экспериментов не так уж сложно. AlekseySQLА если напишу sudo mysql -u root -p, то после команды надо вводить два пароля: для суперпользователя и для mysqlНе рассматривали вариант, что используется не вводимый пароль мускульного рута, а другой? Посмотрите нет ли в домашней директории системного рута специфическийх файлов мускуля, вроде my.cnf (или .mylogin.cnf, но сомневаюсь, что он может быть использован) с сохраненным паролем мускульного рута. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2018, 09:53 |
|
Не могу с помощью pymysql присоединиться к базе
|
|||
---|---|---|---|
#18+
мне сразу в глаза бросилось, но я думаю не мог же ТС так налажать, ан нет, налажал... Код: plaintext 1. 2. 3. 4. 5.
password ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2018, 10:05 |
|
Не могу с помощью pymysql присоединиться к базе
|
|||
---|---|---|---|
#18+
Hett, а в консоли как налажать можно? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2018, 10:14 |
|
Не могу с помощью pymysql присоединиться к базе
|
|||
---|---|---|---|
#18+
Hettмне сразу в глаза бросилось, но я думаю не мог же ТС так налажать, ан нет, налажал... Код: plaintext 1. 2. 3. 4. 5.
password Та же ошибка: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2018, 10:15 |
|
Не могу с помощью pymysql присоединиться к базе
|
|||
---|---|---|---|
#18+
vkleПосмотрите нет ли в домашней директории системного рута специфическийх файлов мускуля, вроде my.cnf (или .mylogin.cnf, но сомневаюсь, что он может быть использован) с сохраненным паролем мускульного рута. Как это сделать? В папки home нет каталога для рута (в том числе среди скрытых). В терминале зашел под root и попал в корневую папку root, где лежат: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2018, 10:20 |
|
Не могу с помощью pymysql присоединиться к базе
|
|||
---|---|---|---|
#18+
vkleHett, а в консоли как налажать можно? не знаю, но подозреваю в консоли в .my.cnf переопределен хост. если сделать `sudo cat ~/.my.cnf` есть ли что там? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2018, 10:21 |
|
Не могу с помощью pymysql присоединиться к базе
|
|||
---|---|---|---|
#18+
AlekseySQLВ папки home нет каталога для рутаОн не в хоуме, он /root, прямо в корневой директории обычно. Но раз уж там нет ничего похожего, тогда... в общем, других идей пока нету. Если только посмотреть эти файлы ещё в пользовательской директории... Тут мало понятного. С другой стороны, если под мускульным рутом правдами и неправдами зайти удается, так создайте нового рядового пользователя и под ним попробуйте подключиться. На всякий случай, временно мускуль можно запустить с опцией --skip-grant-tables и задать новые пароли для рута, если есть сомнения в пароле и нормальный вход недоступен. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2018, 10:43 |
|
Не могу с помощью pymysql присоединиться к базе
|
|||
---|---|---|---|
#18+
Hettесли сделать `sudo cat ~/.my.cnf` есть ли что там? Код: plaintext
Это что за файл? Где его искать? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2018, 10:49 |
|
Не могу с помощью pymysql присоединиться к базе
|
|||
---|---|---|---|
#18+
Создал нового пользователя ivan (под таким же юзером я сижу в системе) и дал ему все полномочия: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
И теперь отлично под ним захожу с помощью консольной утилиты mysql без всяких sudo: Код: sql 1.
Но python продолжает выдавать ошибку: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Пробовал в пароле указать значение None, заменить название поля на passwd - все равно вылазит та же ошибка. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2018, 14:14 |
|
Не могу с помощью pymysql присоединиться к базе
|
|||
---|---|---|---|
#18+
AlekseySQL Код: php 1.
Код: php 1.
Код: php 1.
Вообще, странно... Если создали пользователя *@localhost, то зачем подключаетесь через TCP-сокет? Это разные пользователи в MySQL, не путайте их. А если подключились через TCP-сокет, то откуда в сообщении об ошибке локалхост взялся? Возможно, что мускуль как-то отрезолвил имя хоста по айпишнику. Впрочем, это проверяемо, можно отключить в MySQL резолвинг имен, за это отвечает --skip-name-resolve. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2018, 15:03 |
|
Не могу с помощью pymysql присоединиться к базе
|
|||
---|---|---|---|
#18+
vkleЕсли создали пользователя *@localhost, то зачем подключаетесь через TCP-сокет? Это разные пользователи в MySQL, не путайте их. Подключаюсь с помощью библиотеки "pymysql". Какие она там сокеты использует- не знаю. Мне главное чтобы python начал работать с mysql- сервером. Свой вариант я взял из книги Митчелл "Скраппинг веб- сайтов" (стр. 106) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2018, 15:32 |
|
Не могу с помощью pymysql присоединиться к базе
|
|||
---|---|---|---|
#18+
Вопрос не в питоне, а в мускуле. При указании хоста как "localhost" клиентом используется Unix-сокет для подключения к серверу MySQL. По крайней мере, _должен_ использоваться. Притом, это единственный однозначный вариант. При указании хоста как "127.0.0.1" или любого другого IP-адреса или доменного имени для подключения используется TCP-сокет. В зависимости от текущих настроек сервера MySQL и наличия/доступности/настроек DNS в сети указанный IP-адрес может резолвится или не резолвиться в доменное имя, которое может быть использовано для идентификации пользователя после собаки. В этом есть неоднозначность. Выше я написал, как эту неоднозначность немножко уменьшить. Другой вариант - пользователь 'ivan'@'%' - применимо для подключения пользователя 'ivan' с любого хоста, за исключением localhost. Соответственно, mysql-пользователи 'ivan'@'localhost' и 'ivan'@'127.0.0.1' есть разные пользователи с точки зрения мускуля. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2018, 21:21 |
|
Не могу с помощью pymysql присоединиться к базе
|
|||
---|---|---|---|
#18+
vkleВопрос не в питоне, а в мускуле. При указании хоста как "localhost" клиентом используется Unix-сокет для подключения к серверу MySQL. По крайней мере, _должен_ использоваться. Притом, это единственный однозначный вариант. При указании хоста как "127.0.0.1" или любого другого IP-адреса или доменного имени для подключения используется TCP-сокет. В зависимости от текущих настроек сервера MySQL и наличия/доступности/настроек DNS в сети указанный IP-адрес может резолвится или не резолвиться в доменное имя, которое может быть использовано для идентификации пользователя после собаки. В этом есть неоднозначность. Выше я написал, как эту неоднозначность немножко уменьшить. Другой вариант - пользователь 'ivan'@'%' - применимо для подключения пользователя 'ivan' с любого хоста, за исключением localhost. Соответственно, mysql-пользователи 'ivan'@'localhost' и 'ivan'@'127.0.0.1' есть разные пользователи с точки зрения мускуля. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2018, 18:03 |
|
Не могу с помощью pymysql присоединиться к базе
|
|||
---|---|---|---|
#18+
Появился вопрос: Python работает с MariaDB ? авторЭта база данных основана на исходном коде MySQL и ее разработка началась после перехода оригинала в собственность Oracle. За работу взялись первоначальные разработчики MySQL. MariaDB сохраняет тесную совместимость с MySQL, поддерживаются все ее команды и синтаксис запросов. Кроме того, из дополнительных возможностей можно отметить поддержку таблиц: XtraDB, Aria, PBXT, FederateX, OQGRAPH, SphinxSE и другие. Кроме таблиц была очень сильно улучшена производительность и добавлены новые возможности. Разработка ведется компанией MariaDB Foundation и разработчиками по всему миру, но в развитие проекта инвестируют деньги множество компаний, среди которых Google и Intel. Это лучшая и самая популярная база данных Linux. Источник ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2018, 10:04 |
|
Не могу с помощью pymysql присоединиться к базе
|
|||
---|---|---|---|
#18+
AlekseySQLPython работает с MariaDB ?А есть сомнения? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2018, 11:57 |
|
|
start [/forum/topic.php?fid=23&msg=39696898&tid=1460176]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
77ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 314ms |
total: | 476ms |
0 / 0 |