Рейтинг:1

MySQL ОШИБКА 1045 Доступ запрещен для «nova» @ «контроллер»

флаг za

Описание

Я установил Openstack Wallaby, используя Руководство по установке OpenStack, все команды и настройки на моем Гитхаб. Эта лаборатория работает на VirtualBox, и у меня есть другая лаборатория с той же конфигурацией и версией Openstack на ESXi без каких-либо проблем.

На данном этапе один контроллер с два вычисления узел.

В приведенном ниже разделе улучшите права доступа к базе данных, настроенные правильно.

Базы создаются правильно:

user@controller001:~$ sudo mysql
MariaDB [(нет)]> ПОКАЗАТЬ БАЗЫ ДАННЫХ;
+--------------------+
| База данных |
+--------------------+
| взгляд |
| информационная_схема |
| краеугольный камень |
| MySQL |
| нова |
| нова_апи |
| nova_cell0 |
| представление_схема |
| размещение |
+--------------------+

Предоставьте все разрешения для этих баз данных:

MariaDB [(нет)]> ПОКАЗАТЬ ГРАНТЫ ДЛЯ nova;
+--------------------------------------------- --------------------------------------------- --+
| Гранты для nova@% |
+--------------------------------------------- --------------------------------------------- --+
| ПРЕДОСТАВЬТЕ ИСПОЛЬЗОВАНИЕ НА *.* КОМУ `nova`@`%`, ОПРЕДЕЛЕННОМУ ПАРОЛЕМ '*3A4A03AC22526F6B591010973A741D59A71D728E' |
| ПРЕДОСТАВИТЬ ВСЕ ПРИВИЛЕГИИ НА `nova`.* КОМУ `nova`@`%` |
| ПРЕДОСТАВИТЬ ВСЕ ПРИВИЛЕГИИ НА `nova_cell0`.* КОМУ `nova`@`%` |
| ПРЕДОСТАВИТЬ ВСЕ ПРИВИЛЕГИИ НА `nova_api`.* КОМУ `nova`@`%` |
+--------------------------------------------- --------------------------------------------- --+

Иметь удаленный доступ к базам данных с вычислительного узла:

user@compute001:~$ mysql -unova -popenstack -h controller001

MariaDB [(нет)]> показать базы данных;
+--------------------+
| База данных |
+--------------------+
| информационная_схема |
| нова |
| нова_апи |
| nova_cell0 |
+--------------------+

Журнал Mysql после перезапуска служб nova:

user@controller001:~$ sudo systemctl перезапустить nova-*

user@controller001:~$ sudo tail -f /var/log/mysql/error.log
2021-10-02 12:52:12 112 [Предупреждение] Прервано соединение 112 с базой данных: «nova», пользователь: «nova», хост: «controller001» (ошибка при чтении пакетов связи)
2021-10-02 12:52:12 118 [Предупреждение] Прервано соединение 118 с базой данных: 'nova_api' пользователь: 'nova' хост: 'controller001' (ошибка при чтении коммуникационных пакетов)
2021-10-02 12:52:12 116 [Предупреждение] Прервано соединение 116 с базой данных: «nova», пользователь: «nova», хост: «controller001» (ошибка при чтении пакетов связи)
2021-10-02 12:52:12 119 [Предупреждение] Прервано соединение 119 с базой данных: 'nova_api' пользователь: 'nova' хост: 'controller001' (ошибка при чтении коммуникационных пакетов)
2021-10-02 12:52:12 115 [Предупреждение] Прервано соединение 115 с базой данных: «nova», пользователь: «nova», хост: «controller001» (ошибка при чтении пакетов связи)
2021-10-02 12:52:12 113 [Предупреждение] Прервано соединение 113 с базой данных: «nova», пользователь: «nova», хост: «controller001» (ошибка при чтении пакетов связи)
2021-10-02 12:52:12 114 [Предупреждение] Прервано соединение 114 с базой данных: «nova» пользователь: «nova» хост: «controller001» (ошибка чтения пакетов связи)
2021-10-02 12:52:12 117 [Предупреждение] Прервано соединение 117 с базой данных: «nova», пользователь: «nova», хост: «controller001» (ошибка при чтении пакетов связи)
2021-10-02 12:52:12 109 [Предупреждение] Прервано соединение 109 с базой данных: «nova», пользователь: «nova», хост: «controller001» (ошибка при чтении пакетов связи)
2021-10-02 12:52:12 110 [Предупреждение] Прервано соединение 110 с базой данных: «nova», пользователь: «nova», хост: «controller001» (ошибка при чтении пакетов связи)
2021-10-02 12:52:12 111 [Предупреждение] Прервано соединение 111 с базой данных: «nova», пользователь: «nova», хост: «controller001» (ошибка при чтении пакетов связи)
2021-10-02 12:52:12 108 [Предупреждение] Прервано соединение 108 с базой данных: 'nova_cell0' пользователь: 'nova' хост: 'controller001' (ошибка при чтении коммуникационных пакетов)
2021-10-02 12:52:12 103 [Предупреждение] Прервано соединение 103 с БД: 'nova_api' пользователь: 'nova' хост: 'controller001' (ошибка при чтении коммуникационных пакетов)
2021-10-02 12:52:12 102 [Предупреждение] Прервано соединение 102 с базой данных: 'nova_api' пользователь: 'nova' хост: 'controller001' (ошибка при чтении коммуникационных пакетов)
2021-10-02 12:52:12 105 [Предупреждение] Прервано соединение 105 с базой данных: 'nova_cell0' пользователь: 'nova' хост: 'controller001' (ошибка при чтении коммуникационных пакетов)
2021-10-02 12:52:16 141 [Предупреждение] Отказано в доступе для пользователя «nova» @ «controller001» (используя пароль: ДА)
2021-10-02 12:52:16 142 [Предупреждение] Доступ запрещен для пользователя «nova» @ «controller001» (используя пароль: ДА)
2021-10-02 12:52:17 147 [Предупреждение] Доступ запрещен для пользователя «nova» @ «controller001» (используя пароль: ДА)

Получил ошибку при чтении пакетов связи

Здесь несколько предложений по устранению этой ошибки:

SET GLOBAL max_allowed_packet = 1024 * 1024 * 256; 
установить @@global.max_connections = 400;
УСТАНОВИТЬ ГЛОБАЛЬНЫЙ Interactive_timeout = 6000;
SET GLOBAL innodb_buffer_pool_size = 1024 * 1024 * 2;

При любой попытке обнаружить новый хост возникает следующая ошибка:

user@controller001:~$ sudo su -s /bin/sh -c "nova-manage cell_v2 discovery_hosts --verbose" nova
....
sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (1045, «Доступ запрещен для пользователя nova» @ «controller001» (используется пароль: YES)»)
(Справочная информация об этой ошибке: http://sqlalche.me/e/13/e3q8)

И, но я не уверен, что это ошибка или нет

user@controller001:~$ список гипервизоров ОС
Непредвиденная ошибка API.Сообщите об этом по адресу http://bugs.launchpad.net/nova/ и, ​​если возможно, прикрепите журнал Nova API.
<class 'sqlalchemy.exc.OperationalError'> (HTTP 500) (идентификатор запроса: req-d6edcfa3-ccf2-4eb8-80f8-041cb55e772d)

конфигурация имени:

пользователь@контроллер001:~$ . админ-openrc 
user@controller001:~$ список конечных точек ОС
+----------------------------------+------------+-- ------------+--------------+---------+-----------+ ------------------+
| ID | Регион | Имя службы | Тип услуги | Включено | Интерфейс | URL-адрес |
+----------------------------------+------------+-- ------------+--------------+---------+-----------+ ------------------+
| 1e2f0fc829f84a53a337bbb70e7679af | РегионОдин | нова | вычислить | Правда | внутренний | http://контроллер001:8774/v2.1 |
| 38e967a4c87f4464ba6ac965c889f6a4 | РегионОдин | размещение | размещение | Правда | администратор | http://контроллер001:8778 |
| 398d51ab439f4afc8fb7c71adc1bf3a9 | РегионОдин | краеугольный камень | личность | Правда | внутренний | http://контроллер001:5000/v3/ |
| 4aaf9ac0ccec41978e541a0de0e55ed4 | РегионОдин | нова | вычислить | Правда | общественный | http://контроллер001:8774/v2.1 |
| 52ba2047ed864b9aa6ad352ba2fe59dc | РегионОдин | нова | вычислить | Правда | администратор | http://контроллер001:8774/v2.1 |
| 659ed7ae84074b30a6a4941648b994c3 | РегионОдин | размещение | размещение | Правда | внутренний | http://контроллер001:8778 |
| 9cd126c1f07e4b13946edcdc80f9f215 | РегионОдин | размещение | размещение | Правда | общественный | http://контроллер001:8778 |
| aec5b18b834b4a9cad8a4efb83b1b1d7 | РегионОдин | взгляд | изображение | Правда | внутренний | http://контроллер001:9292 |
| b1a13f51438c40b8b74ec25b89efebab | РегионОдин | взгляд | изображение | Правда | общественный | http://контроллер001:9292 |
| c35c703090f3478aa7d960293fde1bf0 | РегионОдин | краеугольный камень | личность | Правда | администратор | http://контроллер001:5000/v3/ |
| ca231e48c3ad406c8ec757c765b651a6 | РегионОдин | взгляд | изображение | Правда | администратор | http://контроллер001:9292 |
| ff927678f6634475bd80bdba7effc3fc | РегионОдин | краеугольный камень | личность | Правда | общественный | http://контроллер001:5000/v3/ |
+----------------------------------+------------+-- ------------+--------------+---------+-----------+ ------------------+
user@controller001:~$ sudo su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova
+-------+---------------------------------------------+-- ---------------------------------------------+------ ---------------------------------------------+--- -------+
| Имя | UUID | URL-адрес транспорта | Подключение к базе данных | Отключено |
+-------+---------------------------------------------+-- ---------------------------------------------+------ ---------------------------------------------+--- -------+
| ячейка0 | 00000000-0000-0000-0000-000000000000 | нет:/ | mysql+pymysql://nova:****@controller001/nova_cell0 | Ложь |
| ячейка1 | e62ffdc8-5f28-43ef-9bcb-404812faaeae | кролик://openstack:****@controller001:5672/ | mysql+pymysql://nova:****@controller001/nova | Ложь |
+-------+---------------------------------------------+-- ---------------------------------------------+------ ---------------------------------------------+--- -------+
user@controller001:~$ cat /etc/hosts
127.0.0.1 локальный хост
127.0.1.1 контроллер001

# Следующие строки желательны для хостов с поддержкой IPv6
::1 ip6-localhost ip6-loopback
fe00::0 ip6-локальная сеть
ff00::0 префикс ip6-mcast
ff02::1 ip6-все узлы
ff02::2 ip6-все маршрутизаторы

172.16.50.41 контроллер001
172.16.50.42 вычислить011
флаг us
Удалил мой ответ, проблема, кажется, в другом. Если конфиги отличаются от вашего репозитория github, добавьте текущие настройки конфига в свой пост. Что такое bind_address для mariadb?
Hojii avatar
флаг za
@eblock это мой новый адрес, вы можете найти точную конфигурацию: https://github.com/hojat-gazestani/Wallaby
Hojii avatar
флаг za
@eblock bind_address для mariadb — это интерфейс управления controller001, как вы можете видеть в файле: /etc/mysql/mariadb.conf.d/99-openstack.cnf: bind-address = 172.16.50.41
Рейтинг:0
флаг za

Это не было связано с разрешениями MariaDB или URL баз данных.

Проблема решена с помощью этого описание ошибки и есть Другая решение, которое не работает для меня. Создание ячеек точно так же, как установка nova работал на меня и добавлял транспортный URL и подключение к базе данных к новая чесотка команда была моей ошибкой, хотя в прошлом она работала на меня.

"Если вы не укажете --database_connection, тогда nova-manage будет использовать значение [database]/connection из вашего конфигурационного файла и изменить имя базы данных должно иметь суффикс _cell0».

И:

"Если ваши базы данных находятся на разных хостах, вы должны указать --database_connection или убедитесь, что используемый nova.conf имеет значение [database]/connection, указывающее на то же пользователь/пароль/хост, которые будут работать для базы данных cell0. Если ячейка0 сопоставление было создано некорректно, его можно удалить с помощью команду nova-manage cell_v2 delete_cell, а затем снова запустите map_cell0 с правильным значением соединения с базой данных».

Так что я думаю, что, вероятно, произошло то, что когда вы запустили map_cell0, он создал запись nova_api.cell_mappings с неправильной базой данных URL-адрес подключения, потому что теперь синхронизация базы данных, которая зависит от Запись таблицы cell_mappings для подключения к базе данных cell0: сбой, потому что он ищет nova_api_cell0, но у вас есть nova_cell0.

Это точный код, который создает соединение Cell0 по умолчанию. URL-адрес, если вы не указали --database-connection при запуске карта_ячейка0:

Итак, я думаю, вы, вероятно, просто хотите (1) удалить отображение ячейки0 (2) снова запустите map_cell0 и убедитесь, что он создает запись cell0 с правильный URL-адрес подключения к базе данных, а затем (3) запустите nova-manage db sync еще раз.

sudo su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
sudo su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --transport-url rabbit://openstack:****@controller001:5672/ --database_connection mysql+pymysql:// nova: ****@controller001/nova --verbose" нова 


user@controller001:~$ sudo su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova
+-------+---------------------------------------------+-- ---------------------------------------------+-------- ---------------------------------------------+------- ---+
| Имя | UUID | URL-адрес транспорта | Подключение к базе данных | Отключено |
+-------+---------------------------------------------+-- ---------------------------------------------+-------- ---------------------------------------------+------- ---+
| ячейка0 | 00000000-0000-0000-0000-000000000000 | нет:/ | mysql+pymysql://nova:****@controller001/nova_cell0 | Ложь |
| ячейка1 | 553970ef-335a-4cf1-90fb-8268c49d5fad | кролик://openstack:****@controller001:5672/ | mysql+pymysql://nova:****@controller001/nova | Ложь |
+-------+---------------------------------------------+-- ---------------------------------------------+-------- ---------------------------------------------+------- ---+

user@controller001:~$ sudo su -s /bin/sh -c "nova-manage cell_v2 delete_cell --cell_uuid 00000000-0000-0000-0000-000000000000" nova
user@controller001:~$ sudo su -s /bin/sh -c "nova-manage cell_v2 delete_cell --cell_uuid 553970ef-335a-4cf1-90fb-8268c49d5fad" nova



user@controller001:~$ sudo su -s /bin/sh -c "nova-manage api_db sync" nova
user@controller001:~$ sudo su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
user@controller001:~$ sudo su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
--transport-url не указан в командной строке, используется значение [DEFAULT]/transport_url из файла конфигурации
--database_connection не указывается в командной строке, используется значение [database]/connection из файла конфигурации
d448f914-53fa-410c-8f89-407e33c96c3f
user@controller001:~$ sudo su -s /bin/sh -c "nova-manage db sync" nova
user@controller001:~$ sudo su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova
+-------+---------------------------------------------+-- ---------------------------------------------+-------- ---------------------------------------------+------- ---+
| Имя | UUID | URL-адрес транспорта | Подключение к базе данных | Отключено |
+-------+---------------------------------------------+-- ---------------------------------------------+-------- ---------------------------------------------+------- ---+
| ячейка0 | 00000000-0000-0000-0000-000000000000 | нет:/ | mysql+pymysql://nova:****@controller001/nova_cell0 | Ложь |
| ячейка1 | d448f914-53fa-410c-8f89-407e33c96c3f | кролик://openstack:****@controller001:5672/ | mysql+pymysql://nova:****@controller001/nova | Ложь |
+-------+---------------------------------------------+-- ---------------------------------------------+-------- ---------------------------------------------+------- ---+

user@controller001:~$ список вычислительных сервисов openstack --service nova-compute
+----+--------------+------------+------+---------+ -------+--------------+
| ID | Бинарный | Хост | Зона | Статус | государство | Обновлено в |
+----+--------------+------------+------+---------+ -------+--------------+
| 5 | нова-компьютер | вычислить21 | нова | включен | вверх | 2021-10-09T13:59:32.000000 |
+----+--------------+------------+------+---------+ -------+--------------+

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.