Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL-क्लस्टर प्रारंभ करने में विफल रहता है

यह एक बग है।

मैं सादा गूंज चलाता हूं और --user=docker image द्वारा कमांडलाइन में जोड़ा जाता है।

$ docker run  -d --net=cluster --name=management1 --ip=192.168.0.2 mysql/mysql-cluster echo
55b11ea72989fad50b29fe199ad54ebe2a919079770d0188512a465699e8a256
$ docker logs management1
[Entrypoint] MySQL Docker Image 8.0.24-1.2.2-cluster
--user=

संभवतः कुछ समाधान जो MySQL सर्वर को प्रारंभ करने का कार्य करता है, लेकिन Ndb प्रोग्राम के लिए उपयुक्त नहीं है।

संपादित करें#1:

जब तक नई डॉकर छवियां ठीक नहीं हो जाती हैं और आप नीचे दिए गए समाधान को आजमा सकते हैं।

--entrypoint=/usr/bin/env के साथ ndb प्रोसेस शुरू करते समय यह दोषपूर्ण एंट्रीपॉइंट स्क्रिप्ट को ओवरराइड कर देता है (नोट, इमेज mysql/mysql-cluster . से पहले होना चाहिए )।

और https://github.com/mysql/mysql-docker/blob/main/mysql-cluster/8.0/docker-entrypoint.sh

प्रबंधन सर्वर के लिए एंट्रीपॉइंट को ओवरराइड करें और -f /etc/mysql-cluster.cnf --nodaemon जोड़ें :

$ docker run -d --net=cluster --name=management1 --ip=192.168.0.2 --entrypoint=/usr/bin/env mysql/mysql-cluster ndb_mgmd -f /etc/mysql-cluster.cnf --nodaemon

दो डेटा नोड्स (मैं ndbmtd चुनता हूं ndbd . के बजाय ) एंट्रीपॉइंट को ओवरराइड करें और --nodaemon . जोड़ें :

$ docker run -d --net=cluster --name=ndb1 --ip=192.168.0.3 --entrypoint=/usr/bin/env mysql/mysql-cluster ndbmtd --nodaemon

$ docker run -d --net=cluster --name=ndb2 --ip=192.168.0.4 --entrypoint=/usr/bin/env mysql/mysql-cluster ndbmtd --nodaemon

mysqld को प्रारंभ करते समय आपको प्रवेश बिंदु को ओवरराइड नहीं करना चाहिए, मैनुअल से चिपके रहना चाहिए।

संपादित करें#2:

Mysql-cluster docker की छवि अब ठीक हो गई है, नई छवि खींचें और कंटेनरों को फिर से बनाएँ।

$ docker pull mysql/mysql-cluster
Using default tag: latest
latest: Pulling from mysql/mysql-cluster
Digest: sha256:a8ae8a4358f0c2f07aa39df046eb81e8f88cb2bebcaaf436c67663b300a1e1fe
Status: Image is up to date for mysql/mysql-cluster:latest
docker.io/mysql/mysql-cluster:latest

$ docker run -d --net=cluster --name=management1 --ip=192.168.0.2 mysql/mysql-cluster ndb_mgmd
715ad773b51b3d8fefcf6230460b6149a0a0226ee604752352b9e88d8dfa5bb8

$ docker logs management1
[Entrypoint] MySQL Docker Image 8.0.25-1.2.3-cluster
[Entrypoint] Starting ndb_mgmd
MySQL Cluster Management Server mysql-8.0.25 ndb-8.0.25
2021-05-12 07:59:21 [MgmtSrvr] INFO     -- The default config directory '/usr/mysql-cluster' does not exist. Trying to create it...
2021-05-12 07:59:21 [MgmtSrvr] INFO     -- Sucessfully created config directory
2021-05-12 07:59:21 [MgmtSrvr] WARNING  -- at line 19: [DB] IndexMemory is deprecated, will use Number bytes on each ndbd(DB) node allocated for storing indexes instead
2021-05-12 07:59:21 [MgmtSrvr] INFO     -- Got initial configuration from '/etc/mysql-cluster.cnf', will try to set it when all
ndb_mgmd(s) started
2021-05-12 07:59:21 [MgmtSrvr] INFO     -- Node 1: Node 1 Connected
2021-05-12 07:59:21 [MgmtSrvr] INFO     -- Id: 1, Command port: *:1186
==INITIAL==
2021-05-12 07:59:21 [MgmtSrvr] INFO     -- MySQL Cluster Management Server mysql-8.0.25 ndb-8.0.25 started
2021-05-12 07:59:22 [MgmtSrvr] INFO     -- Node 1 connected
2021-05-12 07:59:22 [MgmtSrvr] INFO     -- Starting initial configuration change
2021-05-12 07:59:22 [MgmtSrvr] INFO     -- Configuration 1 commited
2021-05-12 07:59:22 [MgmtSrvr] INFO     -- Config change completed! New generation: 1
==CONFIRMED==


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक्लिप्सलिंक के साथ खोए हुए कनेक्शन को फिर से कैसे कनेक्ट करें?

  2. MySQL:UNIQUE, लेकिन DEFAULT NULL - तालिका बनाकर अनुमत है। 1 से अधिक NULL डालने की अनुमति है। क्यों?

  3. INT कॉलम में NULL मान डालें

  4. MySQL त्रुटि कोड 1452 विदेशी कुंजी बाधा

  5. MySQL में DATETIME फ़ील्ड प्राप्त करने के लिए DATE और TIME फ़ील्ड जोड़ें