मारियाडीबी मैक्सस्केल और बैकएंड क्लस्टर के लिए डेटाबेस उपयोगकर्ता खातों को कॉन्फ़िगर करने के लिए आमतौर पर एक डुप्लिकेट प्रयास की आवश्यकता होती है। ऐसा इसलिए है क्योंकि वास्तविक क्लाइंट होस्ट और मैक्सस्केल होस्ट दोनों के लिए एक खाता प्रविष्टि मौजूद होनी चाहिए। MaxScale आने वाले उपयोगकर्ताओं को वास्तविक क्लाइंट होस्ट के साथ उपयोगकर्ता प्रविष्टि के विरुद्ध प्रमाणित करता है। जब MaxScale रूटिंग सत्र बनाता है, तो यह क्लाइंट को बैकएंड पर प्रमाणित करने के लिए क्लाइंट के यूज़रनेम और पासवर्ड स्क्रैम्बल का उपयोग करता है। बैकएंड मैक्सस्केल चलाने वाली मशीन से आने वाले कनेक्शन को देखता है। जब तक होस्ट नाम वाइल्डकार्ड (कम सुरक्षा) का उपयोग नहीं करता, दोनों होस्ट के लिए प्रविष्टियां आवश्यक हैं। यदि उपयोगकर्ता खातों को अक्सर संशोधित किया जाता है, तो यह दोहराव बोझिल हो सकता है और त्रुटियों का कारण बन सकता है।
मारियाडीबी सर्वर 10.3 प्रॉक्सी प्रोटोकॉल के लिए समर्थन जोड़ता है जो एक कनेक्शन को अपने मेजबान को स्वयं नामित करने की अनुमति देता है। प्रोटोकॉल बताता है कि जब एक कनेक्शन स्थापित किया गया है, तो क्लाइंट को पहले (MySQL हैंडशेक का जवाब देने से पहले) एक प्रॉक्सी प्रोटोकॉल हेडर भेजना चाहिए। इस हेडर में वह होस्टनाम होता है जिसे सर्वर को वास्तविक होस्टनाम का उपयोग करने के बजाय से उत्पन्न होने वाले कनेक्शन की कल्पना करनी चाहिए। सुरक्षा कारणों से, प्रॉक्सी हेडर की अनुमति केवल सर्वर वेरिएबल "proxy_protocol_networks" में सूचीबद्ध पतों से है। इस प्रकार यह सुविधा चुनिंदा आईपी पतों को डेटाबेस बैकएंड पर वास्तविक उपयोगकर्ता खातों के बिना प्रॉक्सी के रूप में कार्य करने की अनुमति देती है। एक उदाहरण के रूप में, हेडर "PROXY TCP4 192.168.0.1 192.168.0.2 56324 443" सर्वर को क्लाइंट को प्रमाणित करने का निर्देश देता है जैसे कि क्लाइंट 192.168.0.1 से कनेक्ट हो रहा था।
MaxScale 2.2 और MariaDB Server 10.3 का उपयोग करते समय इस सुविधा का उपयोग उपयोगकर्ता खाता प्रबंधन को सरल बनाने के लिए किया जा सकता है। MaxScale में सुविधा को सक्षम करने के लिए, अपनी MaxScale कॉन्फ़िगरेशन फ़ाइल में सर्वर परिभाषा में "proxy_protocol=on" लाइन जोड़ें (आमतौर पर इसे सभी सर्वर अनुभागों में जोड़ा जाना चाहिए)।
मैक्सस्केल सर्वर परिभाषा का एक उदाहरण:
[MyServer1]
type=server
address=123.456.789.0
port=3306
protocol=MariaDBBackend
proxy_protocol=yes
जब MaxScale सर्वर पर क्लाइंट सत्र बनाने का प्रयास करता है, तो MaxScale पहले क्लाइंट के मूल होस्टनाम के साथ एक प्रॉक्सी हेडर भेजता है। यदि मैक्सस्केल आईपी सर्वर के "proxy_protocol_networks" के भीतर पाया जाता है, तो हेडर पढ़ा जाता है और वास्तविक क्लाइंट पते का उपयोग करके कनेक्शन को प्रमाणित किया जाता है। सर्वर सेटिंग के लिए, अधिक जानकारी के लिए सर्वर दस्तावेज़ीकरण देखें।
MaxScale IP को "111.222.333.4" मानकर, सर्वर कॉन्फ़िगरेशन के [mysqld]-सेक्शन में निम्नलिखित जोड़ें:
proxy_protocol_networks = 111.222.333.4
इन सेटिंग्स के साथ, आने वाले क्लाइंट "normal_user" को mysql.user-table में होस्ट "111.222.333.4" के लिए एक प्रविष्टि की आवश्यकता नहीं है। वास्तविक क्लाइंट होस्ट के लिए केवल एक प्रविष्टि की आवश्यकता है।
मारियाडीबी मैक्सस्केल 2.2 और मारियाडीबी सर्वर 10.3 को मारियाडीबी TX 3.0 के हिस्से के रूप में प्राप्त करें, जो अभी डाउनलोड के लिए उपलब्ध है।