MySQL सरल प्रतिकृति समस्या: 'शो मास्टर स्थिति' 'खाली सेट' का उत्पादन करती है?


10

मैं इन निर्देशों का ईमानदारी से पालन करते हुए MySQL मास्टर प्रतिकृति (डेबियन 6.0.1 पर) स्थापित कर रहा हूं: http://www.neocodesoftware.com/replication/

मुझे अब तक मिला है:

mysql > show master status;

लेकिन यह दुर्भाग्य से निम्नलिखित उत्पादन कर रहा है, बजाय किसी उपयोगी उत्पादन के:

Empty set (0.00 sec)

त्रुटि लॉग /var/log/mysql.errकेवल एक खाली फ़ाइल है, जिससे मुझे कोई सुराग नहीं मिल रहा है।

कोई विचार?

यह मैंने /etc/mysql/my.cnfएक सर्वर पर डाला है (दूसरे सर्वर के लिए उचित रूप से संशोधित):

server-id = 1
replicate-same-server-id = 0
auto-increment-increment = 2
auto-increment-offset = 1
master-host = 10.0.0.3
master-user = <myusername>
master-password = <mypass>
master-connect-retry = 60
replicate-do-db = fruit
log-bin = /var/log/mysql-replication.log
binlog-do-db = fruit

और मैंने उपयोगकर्ताओं को सेट किया है और ऊपर उपयोगकर्ता नाम / पासवर्ड / आईपैडड्रेस का उपयोग करके सर्वर बी पर डेटाबेस ए पर MySQL से कनेक्ट कर सकते हैं।


मैंने यह भी सरल निर्देशों का पालन करने की कोशिश की है: howtoforge.com/mysql_database_replication (अकेले एक सर्वर पर) और फिर से, जब show master statusमैं देखूं Empty set। विस्मित कर!

सेवा को पुनः प्रारंभ करें और जांचें। पुनरारंभ करने के बाद उत्पन्न कोई भी त्रुटि लॉग, तो वह भी पेस्ट करें।

जवाबों:


7

दिलचस्प है, मेरे पास mysql मेरे पीसी पर चल रहा है जिसमें बाइनरी लॉग सक्षम नहीं हैं। मैंने निम्नलिखित कार्य किया:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 19
Server version: 5.5.12 MySQL Community Server (GPL)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show master status;
Empty set (0.00 sec)

mysql> show binary logs;
ERROR 1381 (HY000): You are not using binary logging

mysql>

जैसा कि दिखाया गया है, चूंकि MySQL SHOW MASTER STATUS के लिए "खाली सेट" दिखाता है; क्योंकि बाइनरी लॉगिंग सक्षम नहीं थी। यह स्पष्ट है कि मेरे पास विन्यास है।

पहली चीज जो आपको करनी चाहिए वह यह सुनिश्चित करें कि त्रुटि लॉग में एक विशिष्ट फ़ोल्डर है

[mysqld]
log-error=/var/log/mysql/mysql.err
log-bin = /var/log/mysql/mysql-replication.log

फिर निम्नलिखित को चलाएँ:

service mysql stop
mkdir /var/log/mysql
chown -R mysql:mysql /var/log/mysql
service mysql start

फिर mysql क्लाइंट में इन SQL कमांड को चलाएं

SHOW MASTER STATUS;
SHOW BINARY LOGS;

यदि आपको वही आउटपुट मिलता है जो मैंने पहले किया था, तो MySQL निर्दिष्ट फ़ोल्डर में बाइनरी लॉग नहीं लिख सकता है। आपकी दुविधा यह हो जाती है कि MySQL / var / log को क्यों नहीं लिख सकता है।

यह एक पूर्ण उत्तर नहीं है लेकिन मुझे आशा है कि इससे मदद मिलेगी।


सेटिंग / var / लॉग को पुनरावर्ती स्वामित्व के लिए और mysql के एक समूह के साथ एक लिनक्स सिस्टम को काफी बुरी तरह से तोड़ने वाला है। मैं लोगों को दृढ़ता से सलाह देता हूं कि ऐसा न करें। इसके बजाय, विशेष रूप से उस लॉग फ़ाइल पर चलाएं जिसे mysql लिखने की कोशिश कर रहा है, और यदि यह वहां नहीं है तो इसे पहले स्पर्श करें।
जॉन हंट

तुम्हें कुछ पता है, @ जॉनहोंट? तुम सही हो। मैं फ़ोल्डर बदल दूंगा।
रोलैंडमाइसीडीडीबीए

1

यदि thhe Mysql संस्करण> 5.0 है, तो आपकी प्रतिकृति सेटिंग मास्टर-होस्ट, मास्टर-उपयोगकर्ता, मास्टर-पासवर्ड और आपके my.cnf में कुछ अन्य लोगों को नजरअंदाज कर दी जाएगी। प्रारंभिक प्रतिकृति सेटअप के लिए CHANGE MASTER TO का उपयोग करें।

Http://dev.mysql.com/doc/refman/5.1/en/replication-howto-slavein.com.html तुलना करें


0

आपके लिए सेटिंग log-binगलत है, इसलिए MySQL बाइनरी लॉग नहीं लिख सकता है। यह एक फ़ाइल नाम नहीं है, यह एक आंशिक फ़ाइल नाम पैटर्न है, जिसके लिए MySQL एक निर्देशिका को आगे बढ़ाएगा और अनुक्रम संख्या और विस्तार को जोड़ देगा। सामान्य सेटिंग कुछ इस तरह है

log-bin=log-bin

मैनुअल की जाँच करें।


--log-bin=file_name( dev.mysql.com/doc/refman/5.7/en/… )। क्या मैनुअल कहता है कि यह एक फ़ाइल नाम नहीं है?
Stephan Vierkant
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.