Score:1

การเข้าถึง MySQL ERROR 1045 ถูกปฏิเสธสำหรับ 'nova'@'controller'

ธง za

คำอธิบาย

ฉันติดตั้ง Openstack Wallaby โดยใช้ คู่มือการติดตั้ง OpenStackคำสั่งและการกำหนดค่าทั้งหมดอยู่ในของฉัน Github. LAB นี้กำลังทำงานบน VirtualBox และฉันมี LAB อื่นที่มีการกำหนดค่าเดียวกันและเวอร์ชันของ Openstack บน ESXi โดยไม่มีปัญหาใดๆ

ณ จุดนี้ หนึ่งตัวควบคุม กับ สองการคำนวณ โหนด

ในส่วนด้านล่างปรับปรุงการอนุญาตฐานข้อมูลที่กำหนดค่าอย่างถูกต้อง

สร้างฐานข้อมูลอย่างถูกต้อง:

ผู้ใช้@controller001:~$ sudo mysql
MariaDB [(ไม่มี)]> แสดงฐานข้อมูล;
+----------------------+
| ฐานข้อมูล |
+----------------------+
| ดู |
| information_schema |
| คีย์สโตน |
| มายเอสคิวแอล |
| โนวา |
| nova_api |
| nova_cell0 |
| performance_schema |
| ตำแหน่ง |
+----------------------+

ให้สิทธิ์ทั้งหมดสำหรับฐานข้อมูลเหล่านั้น:

MariaDB [(ไม่มี)]> แสดงเงินช่วยเหลือสำหรับโนวา;
+--------------------------------------------- --------------------------------------------- --+
| เงินช่วยเหลือสำหรับ nova@% |
+--------------------------------------------- --------------------------------------------- --+
| อนุญาตให้ใช้ *.* เพื่อ `nova`@`%` ระบุด้วยรหัสผ่าน '*3A4A03AC22526F6B591010973A741D59A71D728E' |
| ให้สิทธิ์ทั้งหมดแก่ `nova`.* ถึง `nova`@`%` |
| ให้สิทธิพิเศษทั้งหมดบน `nova_cell0`.* ถึง `nova`@`%` |
| ให้สิทธิพิเศษทั้งหมดบน `nova_api`.* ถึง `nova`@`%` |
+--------------------------------------------- --------------------------------------------- --+

มีการเข้าถึงฐานข้อมูลจากระยะไกลจากโหนดคอมพิวท์:

ผู้ใช้@compute001:~$ mysql -unova -popenstack -h controller001

MariaDB [(ไม่มี)]> แสดงฐานข้อมูล;
+----------------------+
| ฐานข้อมูล |
+----------------------+
| information_schema |
| โนวา |
| nova_api |
| 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 ถึง db: 'nova' ผู้ใช้: 'nova' โฮสต์: 'controller001' (มีข้อผิดพลาดในการอ่านแพ็กเก็ตการสื่อสาร)
2021-10-02 12:52:12 118 [คำเตือน] ยกเลิกการเชื่อมต่อ 118 ถึง db: 'nova_api' ผู้ใช้: 'nova' โฮสต์: 'controller001' (มีข้อผิดพลาดในการอ่านแพ็กเก็ตการสื่อสาร)
2021-10-02 12:52:12 116 [คำเตือน] ยกเลิกการเชื่อมต่อ 116 ถึง db: 'nova' ผู้ใช้: 'nova' โฮสต์: 'controller001' (มีข้อผิดพลาดในการอ่านแพ็กเก็ตการสื่อสาร)
2021-10-02 12:52:12 119 [คำเตือน] ยกเลิกการเชื่อมต่อ 119 ถึง db: 'nova_api' ผู้ใช้: 'nova' โฮสต์: 'controller001' (มีข้อผิดพลาดในการอ่านแพ็กเก็ตการสื่อสาร)
2021-10-02 12:52:12 115 [คำเตือน] ยกเลิกการเชื่อมต่อ 115 ถึง db: 'nova' ผู้ใช้: 'nova' โฮสต์: 'controller001' (มีข้อผิดพลาดในการอ่านแพ็กเก็ตการสื่อสาร)
2021-10-02 12:52:12 113 [คำเตือน] ยกเลิกการเชื่อมต่อ 113 ถึง db: 'nova' ผู้ใช้: 'nova' โฮสต์: 'controller001' (มีข้อผิดพลาดในการอ่านแพ็กเก็ตการสื่อสาร)
2021-10-02 12:52:12 114 [คำเตือน] ยกเลิกการเชื่อมต่อ 114 ถึง db: 'nova' ผู้ใช้: 'nova' โฮสต์: 'controller001' (มีข้อผิดพลาดในการอ่านแพ็กเก็ตการสื่อสาร)
2021-10-02 12:52:12 117 [คำเตือน] ยกเลิกการเชื่อมต่อ 117 ถึง db: 'nova' ผู้ใช้: 'nova' โฮสต์: 'controller001' (มีข้อผิดพลาดในการอ่านแพ็กเก็ตการสื่อสาร)
2021-10-02 12:52:12 109 [คำเตือน] ยกเลิกการเชื่อมต่อ 109 ถึง db: 'nova' ผู้ใช้: 'nova' โฮสต์: 'controller001' (มีข้อผิดพลาดในการอ่านแพ็กเก็ตการสื่อสาร)
2021-10-02 12:52:12 110 [คำเตือน] ยกเลิกการเชื่อมต่อ 110 ถึง db: 'nova' ผู้ใช้: 'nova' โฮสต์: 'controller001' (มีข้อผิดพลาดในการอ่านแพ็กเก็ตการสื่อสาร)
2021-10-02 12:52:12 111 [คำเตือน] ยกเลิกการเชื่อมต่อ 111 ถึง db: 'nova' ผู้ใช้: 'nova' โฮสต์: 'controller001' (มีข้อผิดพลาดในการอ่านแพ็กเก็ตการสื่อสาร)
2021-10-02 12:52:12 108 [คำเตือน] ยกเลิกการเชื่อมต่อ 108 ถึง db: 'nova_cell0' ผู้ใช้: 'nova' โฮสต์: 'controller001' (มีข้อผิดพลาดในการอ่านแพ็กเก็ตการสื่อสาร)
2021-10-02 12:52:12 103 [คำเตือน] ยกเลิกการเชื่อมต่อ 103 ถึง db: 'nova_api' ผู้ใช้: 'nova' โฮสต์: 'controller001' (มีข้อผิดพลาดในการอ่านแพ็กเก็ตการสื่อสาร)
2021-10-02 12:52:12 102 [คำเตือน] ยกเลิกการเชื่อมต่อ 102 ถึง db: 'nova_api' ผู้ใช้: 'nova' โฮสต์: 'controller001' (มีข้อผิดพลาดในการอ่านแพ็กเก็ตการสื่อสาร)
2021-10-02 12:52:12 105 [คำเตือน] ยกเลิกการเชื่อมต่อ 105 ถึง db: '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' (ใช้รหัสผ่าน: ใช่)

มีข้อผิดพลาดในการอ่านแพ็กเก็ตการสื่อสาร

ที่นี่ เป็นคำแนะนำบางประการในการแก้ไขข้อผิดพลาดนี้:

ตั้งค่า GLOBAL max_allowed_packet = 1024 * 1024 * 256; 
ตั้ง @@global.max_connections = 400;
ตั้งค่า global interactive_timeout=6000;
ตั้งค่า GLOBAL innodb_buffer_pool_size = 1024 * 1024 * 2;

การพยายามค้นหาโฮสต์ใหม่ทำให้เกิดข้อผิดพลาดด้านล่าง:

user@controller001:~$ sudo su -s /bin/sh -c "nova-manage cell_v2 Discover_hosts --verbose" โนวา
....
sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (1045, "การเข้าถึงถูกปฏิเสธสำหรับผู้ใช้ 'nova'@'controller001' (โดยใช้รหัสผ่าน: ใช่)")
(ความเป็นมาเกี่ยวกับข้อผิดพลาดนี้ที่: http://sqlalche.me/e/13/e3q8)

และ แต่ฉันไม่แน่ใจว่ามันเป็นข้อผิดพลาดหรือไม่

user@controller001:~$ รายการไฮเปอร์ไวเซอร์ของระบบปฏิบัติการ
ข้อผิดพลาด API ที่ไม่คาดคิดโปรดรายงานสิ่งนี้ที่ http://bugs.launchpad.net/nova/ และแนบบันทึก Nova API หากเป็นไปได้
<คลาส 'sqlalchemy.exc.OperationalError'> (HTTP 500) (รหัสคำขอ: req-d6edcfa3-ccf2-4eb8-80f8-041cb55e772d)

การกำหนดค่าชื่อ:

user@controller001:~$ . admin-openrc 
user@controller001:~$ รายการปลายทางของระบบปฏิบัติการ
+----------------------------------------+------------+-- ------------+--------------+---------+-----------+ --------------------------------+
| รหัส | ภูมิภาค | ชื่อบริการ | ประเภทบริการ | เปิดใช้งาน | อินเทอร์เฟซ | URL |
+----------------------------------------+------------+-- ------------+--------------+---------+-----------+ --------------------------------+
| 1e2f0fc829f84a53a337bbb70e7679af | ภาคหนึ่ง | โนวา | คำนวณ | จริง | ภายใน | http://controller001:8774/v2.1 |
| 38e967a4c87f4464ba6ac965c889f6a4 | ภาคหนึ่ง | ตำแหน่ง | ตำแหน่ง | จริง | ผู้ดูแลระบบ | http://controller001:8778 |
| 398d51ab439f4afc8fb7c71adc1bf3a9 | ภาคหนึ่ง | คีย์สโตน | เอกลักษณ์ | จริง | ภายใน | http://controller001:5000/v3/ |
| 4aaf9ac0ccec41978e541a0de0e55ed4 | ภาคหนึ่ง | โนวา | คำนวณ | จริง | สาธารณะ | http://controller001:8774/v2.1 |
| 52ba2047ed864b9aa6ad352ba2fe59dc | ภาคหนึ่ง | โนวา | คำนวณ | จริง | ผู้ดูแลระบบ | http://controller001:8774/v2.1 |
| 659ed7ae84074b30a6a4941648b994c3 | ภาคหนึ่ง | ตำแหน่ง | ตำแหน่ง | จริง | ภายใน | http://controller001:8778 |
| 9cd126c1f07e4b13946edcdc80f9f215 | ภาคหนึ่ง | ตำแหน่ง | ตำแหน่ง | จริง | สาธารณะ | http://controller001:8778 |
| aec5b18b834b4a9cad8a4efb83b1b1d7 | ภาคหนึ่ง | ดู | ภาพ | จริง | ภายใน | http://controller001:9292 |
| b1a13f51438c40b8b74ec25b89efebab | ภาคหนึ่ง | ดู | ภาพ | จริง | สาธารณะ | http://controller001:9292 |
| c35c703090f3478aa7d960293fde1bf0 | ภาคหนึ่ง | คีย์สโตน | เอกลักษณ์ | จริง | ผู้ดูแลระบบ | http://controller001:5000/v3/ |
| ca231e48c3ad406c8ec757c765b651a6 | ภาคหนึ่ง | ดู | ภาพ | จริง | ผู้ดูแลระบบ | http://controller001:9292 |
| ff927678f6634475bd80bdba7effc3fc | ภาคหนึ่ง | คีย์สโตน | เอกลักษณ์ | จริง | สาธารณะ | http://controller001:5000/v3/ |
+----------------------------------------+------------+-- ------------+--------------+---------+-----------+ --------------------------------+
user@controller001:~$ sudo su -s /bin/sh -c "nova-manage cell_v2 list_cells" โนวา
+--------+--------------------------------------+-- ------------------------------------------+------ ---------------------------------------------+--- -------+
| ชื่อ | 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 localhost
127.0.1.1 คอนโทรลเลอร์001

# บรรทัดต่อไปนี้เป็นที่ต้องการสำหรับโฮสต์ที่รองรับ IPv6
::1 ip6-localhost ip6-วนกลับ
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

172.16.50.41 ตัวควบคุม 001
172.16.50.42 คำนวณ 011
us flag
ลบคำตอบของฉัน ปัญหาดูเหมือนจะเป็นคำตอบอื่น หากการกำหนดค่าแตกต่างจาก repo github ของคุณ โปรดเพิ่มการตั้งค่าการกำหนดค่าปัจจุบันในโพสต์ของคุณ bind_address สำหรับ mariadb คืออะไร
Hojii avatar
za flag
@eblock นี่คือที่อยู่ใหม่ของฉัน คุณสามารถค้นหาการกำหนดค่าที่แน่นอน: https://github.com/hojat-gazestani/Wallaby
Hojii avatar
za flag
@eblock bind_address สำหรับ mariadb เป็นอินเทอร์เฟซการจัดการ controller001 ดังที่คุณเห็นในไฟล์: /etc/mysql/mariadb.conf.d/99-openstack.cnf : bind-address = 172.16.50.41
Score:0
ธง za

สิ่งนี้ไม่เกี่ยวข้องกับการอนุญาต MariaDB หรือ URL ของฐานข้อมูล

แก้ปัญหาโดยใช้สิ่งนี้ คำอธิบายข้อบกพร่อง และมี อื่น วิธีแก้ปัญหาที่ไม่ได้ผลสำหรับฉัน สร้างเซลล์เหมือนจริง คู่มือการติดตั้งโนวา ทำงานให้ฉันและเพิ่ม URL การขนส่ง และ การเชื่อมต่อฐานข้อมูล ถึง nova-mange คำสั่งเป็นความผิดของฉันแม้ว่ามันจะได้ผลสำหรับฉันในอดีต

"หากคุณไม่ระบุ --database_connection จะใช้ nova-manage [ฐานข้อมูล]/ค่าการเชื่อมต่อจากไฟล์กำหนดค่าของคุณ และจัดการไฟล์ ชื่อฐานข้อมูลที่มี _cell0 ต่อท้าย"

และ:

"หากฐานข้อมูลของคุณอยู่บนโฮสต์แยกต่างหาก คุณควรระบุ --database_connection หรือตรวจสอบให้แน่ใจว่า nova.conf ที่ใช้อยู่นั้นมีค่า [database]/connection ที่ชี้ไปที่เดียวกัน ผู้ใช้/รหัสผ่าน/โฮสต์ที่จะใช้กับฐานข้อมูล Cell0 ถ้าเซลล์ 0 การสร้างแผนที่ไม่ถูกต้อง สามารถลบได้โดยใช้ nova-manage cell_v2 คำสั่ง delete_cell แล้วรัน map_cell0 อีกครั้ง ด้วยค่าการเชื่อมต่อฐานข้อมูลที่เหมาะสม"

ดังนั้นฉันคิดว่าสิ่งที่น่าจะเกิดขึ้นคือเมื่อคุณเรียกใช้ map_cell0 สร้างบันทึก nova_api.cell_mappings ด้วยฐานข้อมูลที่ไม่ถูกต้อง URL การเชื่อมต่อ เนื่องจากตอนนี้ db sync ซึ่งอาศัยการ บันทึกตาราง cell_mappings เพื่อเชื่อมต่อกับฐานข้อมูล cell0 คือ ล้มเหลวเพราะกำลังมองหา nova_api_cell0 แต่คุณมี nova_cell0.

นี่คือรหัสที่แน่นอนซึ่งกำลังสร้างการเชื่อมต่อเริ่มต้นของเซลล์ 0 URL หากคุณไม่ได้ระบุ --database-connection เมื่อทำงาน map_cell0:

ดังนั้นฉันคิดว่าคุณอาจต้องการ (1) ลบการแมปเซลล์ 0 (2) เรียกใช้ map_cell0 อีกครั้งและตรวจสอบให้แน่ใจว่ามันสร้างรายการเซลล์ 0 ด้วย 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" โนวา
+--------+--------------------------------------+-- -----------------------------------------+-------- ------------------------------------------ ++-------- ---+
| ชื่อ | 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" โนวา
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" โนวา
--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" โนวา
user@controller001:~$ sudo su -s /bin/sh -c "nova-manage cell_v2 list_cells" โนวา
+--------+--------------------------------------+-- -----------------------------------------+-------- ------------------------------------------ ++-------- ---+
| ชื่อ | 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
+----+--------------+-----------+------+---------+ -----+----------------------------+
| รหัส | ไบนารี | โฮสต์ | โซน | สถานะ | รัฐ | อัปเดตเมื่อ |
+----+--------------+-----------+------+---------+ -----+----------------------------+
| 5 | โนวาคอมพิวเตอร์ | คอมพิวเตอร์21 | โนวา | เปิดใช้งาน | ขึ้น | 2021-10-09T13:59:32.000000 |
+----+--------------+-----------+------+---------+ -----+----------------------------+

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา