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

AWS पर एक Oracle डेटाबेस को MySQL में माइग्रेट करना, भाग 1

AWS डेटाबेस माइग्रेशन सर्विस (DMS) डेटाबेस को AWS में माइग्रेट करने की एक सेवा है। लक्ष्य डेटाबेस को AWS पर समर्थित डेटाबेस में से एक होना चाहिए, जैसे रिलेशनल डेटाबेस सर्विस होस्टेड डेटाबेस, डायनेमोडीबी, और रेडशिफ्ट। स्रोत डेटाबेस AWS पर एक डेटाबेस या एक स्थानीय डेटाबेस या किसी अन्य क्लाउड प्लेटफ़ॉर्म पर एक डेटाबेस हो सकता है, जैसे कि Oracle क्लाउड प्लेटफ़ॉर्म। स्रोत डेटाबेस में माइग्रेशन के दौरान शून्य डाउनटाइम होता है।

डेटाबेस माइग्रेट क्यों करें?

एक डेटाबेस को कई कारणों से माइग्रेट करने की आवश्यकता हो सकती है, जैसे कि निम्न:

  • विषम प्रवास एक अलग डेटाबेस इंजन के लिए। उदाहरण के लिए, एक Oracle डेटाबेस एक MySQL डेटाबेस के लिए। किसी अन्य डेटाबेस से सुविधाओं का लाभ उठाने के लिए विषम प्रवासन की आवश्यकता हो सकती है, जैसे डेटाबेस प्रकार जो स्रोत डेटाबेस पर समर्थित नहीं है। एक व्यावसायिक डेटाबेस को एक ओपन सोर्स डेटाबेस में माइग्रेट किया जा सकता है। एक संबंधपरक डेटाबेस एक NoSQL डेटाबेस में माइग्रेट होने से लाभान्वित हो सकता है।
  • सजातीय प्रवास एक ही डेटाबेस इंजन प्रकार के लिए, लेकिन एक अलग प्लेटफॉर्म पर। डेटाबेस का बैकअप बनाने के लिए सजातीय प्रवासन का उपयोग किया जा सकता है। क्लाउड प्लेटफॉर्म पर माइग्रेट होने से स्थानीय डेटाबेस को फायदा हो सकता है।
  • निरंतर डेटा प्रतिकृति परीक्षण और विकास, और डेटाबेस के क्षेत्रीय वितरण के उद्देश्य से विभिन्न लक्ष्य डेटाबेस के लिए।
  • एकाधिक स्रोत डेटाबेस समेकन के लिए एकल डेटाबेस में माइग्रेट किया जा सकता है।

दो लेखों में, हम डेटाबेस माइग्रेशन सेवा के साथ Oracle डेटाबेस को MySQL डेटाबेस में माइग्रेट करने पर चर्चा करेंगे। इस लेख में निम्नलिखित भाग हैं:

  • पर्यावरण की स्थापना
  • एक IAM उपयोगकर्ता बनाना
  • एन्क्रिप्शन कुंजी बनाना
  • RDS पर Oracle और MySQL DB इंस्टेंस बनाना
  • DMS के लिए Oracle और MySQL DBs तैयार करना
  • निष्कर्ष

पर्यावरण की स्थापना

केवल पूर्व-आवश्यकता एक AWS खाता है, जिसे इस लिंक पर बनाया जा सकता है।

एक IAM उपयोगकर्ता बनाना

एक उपयोगकर्ता को DMS तक पहुँचने के लिए IAM अनुमतियाँ और भूमिकाएँ प्राप्त करने की आवश्यकता होती है। DMS से अन्य सेवाओं तक पहुँचने के लिए अतिरिक्त IAM अनुमतियों की आवश्यकता होती है; अन्य AWS सेवाओं जैसे KMS, IAM, EC2, या CloudWatch से कुछ क्रियाओं की आवश्यकता होती है। इस खंड में, हम एक IAM उपयोगकर्ता बनाएंगे और अनुमतियों के आवश्यक सेट के लिए एक नीति संलग्न करेंगे। AWS IAM सेवा का चयन करें और उपयोगकर्ता जोड़ें . पर क्लिक करें , जैसा चित्र 1 में दिखाया गया है।


चित्र 1: उपयोगकर्ता जोड़ें

उपयोगकर्ता जोड़ें . में , एक उपयोगकर्ता नाम specify निर्दिष्ट करें (dvohra) और दोनों का चयन करें पहुंच प्रकार विकल्प, जैसा कि चित्र 2 में दिखाया गया है।


चित्र 2: नए उपयोगकर्ता को कॉन्फ़िगर करना

कस्टम पासवर्ड चुनें कंसोल पासवर्ड के लिए विकल्प, एक कस्टम पासवर्ड निर्दिष्ट करें, और अगला क्लिक करें, जैसा कि चित्र 3 में दिखाया गया है।


चित्र 3: पासवर्ड निर्दिष्ट करना

अनुमतियों . में , मौजूदा नीतियों को सीधे संलग्न करें . चुनें विकल्प पर क्लिक करें और नीति बनाएं . पर क्लिक करें संलग्न करने के लिए नीति बनाने के लिए, जैसा कि चित्र 4 में दिखाया गया है।


चित्र 4: उपयोगकर्ता जोड़ें>नीति बनाएं

नीति बनाएं . में , अपनी खुद की नीति बनाएं . चुनें विकल्प, जैसा कि चित्र 5 में दिखाया गया है।


चित्र 5: अपनी खुद की नीति बनाएं

नीति की समीक्षा करें . में , नीति का नाम (DMS) निर्दिष्ट करें और निम्न नीति को नीति दस्तावेज़ में कॉपी करें ।

{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Effect": "Allow",
         "Action": "dms:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": [
            "kms:ListAliases",
            "kms:DescribeKey"
         ],
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": [
            "iam:GetRole",
            "iam:PassRole",
            "iam:CreateRole",
            "iam:AttachRolePolicy"
         ],
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": [
            "ec2:DescribeVpcs",
            "ec2:DescribeInternetGateways",
            "ec2:DescribeAvailabilityZones",
            "ec2:DescribeSubnets",
            "ec2:DescribeSecurityGroups",
            "ec2:ModifyNetworkInterfaceAttribute",
            "ec2:CreateNetworkInterface",
            "ec2:DeleteNetworkInterface"
         ],
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": [
            "cloudwatch:Get*",
            "cloudwatch:List*"
         ],
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": [
            "logs:DescribeLogGroups",
            "logs:DescribeLogStreams",
            "logs:FilterLogEvents",
            "logs:GetLogEvents"
         ],
         "Resource": "*"
      }
   ]
}

नीति सत्यापित करें क्लिक करें और, यदि संदेश नीति मान्य है उत्पन्न होता है (चित्र 6 देखें), नीति बनाएं पर क्लिक करें , चित्र 6 में भी दिखाया गया है।


चित्र 6: नीति बनाएं

उपयोगकर्ता बनाएं . में विज़ार्ड, नव निर्मित DMS . का चयन करें नीति और अगला क्लिक करें, जैसा चित्र 7 में दिखाया गया है।


चित्र 7: उपयोगकर्ता को संलग्न करने के लिए नीति का चयन करना

समीक्षा में, उपयोगकर्ता बनाएं click क्लिक करें , जैसा कि चित्र 8 में दिखाया गया है।


चित्र 8: समीक्षा>उपयोगकर्ता बनाएं

एक नया उपयोगकर्ता बनाया जाता है, जैसा कि चित्र 9 में दिखाया गया है।


चित्र 9: नया उपयोगकर्ता बनाया गया

एक नया उपयोगकर्ता IAM कंसोल>उपयोगकर्ता . में जुड़ जाता है , जैसा कि चित्र 10 में दिखाया गया है।


चित्र 10: आईएएम उपयोगकर्ता

एक नया उपयोगकर्ता बनाने के बाद, हमें DMS माइग्रेशन बनाने के लिए नए उपयोगकर्ता के रूप में लॉग इन करना होगा। कंसोल लॉगिन लिंक लॉग इन करने के लिए क्योंकि नया उपयोगकर्ता नए उपयोगकर्ता के लिए सुरक्षा क्रेडेंशियल से प्राप्त होता है (चित्र 11 देखें)।


चित्र 11: कंसोल लॉगिन लिंक

DMS के लिए IAM उपयोगकर्ता बनाने के बाद, रूट उपयोगकर्ता के रूप में साइन आउट करें, जैसा कि चित्र 12 में दिखाया गया है।


चित्र 12: रूट उपयोगकर्ता के रूप में साइन आउट करें

ब्राउज़र में लॉगिन URL खोलें, उपयोगकर्ता नाम और पासवर्ड निर्दिष्ट करें, और साइन इन पर क्लिक करें, जैसा कि चित्र 13 में दिखाया गया है।


चित्र 13: नए IAM उपयोगकर्ता के रूप में लॉग इन करना

एन्क्रिप्शन कुंजी बनाना

सुनिश्चित करें कि आप पिछले अनुभाग में बनाए गए IAM उपयोगकर्ता के रूप में लॉग इन हैं। हमें एक एन्क्रिप्शन कुंजी बनाने की आवश्यकता है जिसका उपयोग DMS माइग्रेशन बनाते समय मास्टर कुंजी के रूप में किया जाएगा। एन्क्रिप्शन नए IAM उपयोगकर्ता के रूप में लॉग इन करते समय बनाया जाना चाहिए न कि रूट उपयोगकर्ता के रूप में। एन्क्रिप्शन कुंजियां चुनें IAM कंसोल में और कुंजी बनाएं click क्लिक करें , जैसा कि चित्र 14 में दिखाया गया है।


चित्र 14: कुंजी बनाएं

उपनाम और विवरण बनाएं . में , एक उपनाम . निर्दिष्ट करें (डीएमएस ) और अगला चरण क्लिक करें, जैसा कि चित्र 15 में दिखाया गया है।


चित्र 15: उपनाम निर्दिष्ट करना

टैग जोड़ें में, अगला चरण क्लिक करें क्योंकि टैग की आवश्यकता नहीं है। मुख्य प्रशासकों में, व्यवस्थापक के रूप में जोड़े गए IAM उपयोगकर्ता का चयन करें (चित्र 16 देखें)। कुंजी हटाने का चयन करें क्योंकि कुंजी व्यवस्थापकों को इस कुंजी को हटाने की अनुमति दें, और अगला चरण क्लिक करें।


चित्र 16: प्रमुख प्रशासक

कुंजी उपयोग अनुमतियां परिभाषित करें में, IAM उपयोगकर्ताओं और भूमिकाओं का चयन करें जो एन्क्रिप्शन कुंजी का उपयोग करने में सक्षम हैं; नया IAM उपयोगकर्ता और dms-vpc-भूमिका . चुनें , जैसा कि चित्र 17 में दिखाया गया है। अगला चरण क्लिक करें।


चित्र 17: मुख्य उपयोग अनुमतियों को परिभाषित करना

पूर्वावलोकन कुंजी नीति में, समाप्त क्लिक करें, जैसा कि चित्र 18 में दिखाया गया है।


चित्र 18: पूर्वावलोकन कुंजी नीति

एक नई एन्क्रिप्शन कुंजी बनाई जाती है, जैसा कि चित्र 19 में दिखाया गया है।


चित्र 19: एन्क्रिप्शन कुंजी बनाई गई

RDS पर Oracle और MySQL DB इंस्टेंस बनाना

क्योंकि हम क्रमशः स्रोत और लक्ष्य के रूप में Oracle और MySQL RDS DB इंस्टेंस का उपयोग करेंगे, DMS माइग्रेशन के लिए, दो RDS इंस्टेंस बनाएं, एक Oracle SE डेटाबेस के लिए और दूसरा MySQL के लिए। कॉन्फ़िगर उन्नत सेटिंग्स में आरडीएस इंस्टेंस बनाते समय, एक नया वीपीसी बनाने के लिए नेटवर्क और सुरक्षा का चयन करें, एक नया डीबी सबनेट समूह बनाएं, और एक नया सुरक्षा समूह बनाएं, जैसा कि ओरेकल डीबी के लिए चित्र 20 में दिखाया गया है। यदि AWS खाते में VPC की अधिकतम संख्या की सीमा है, तो RDS इंस्टेंस बनाने से पहले कुछ अप्रयुक्त VPC को हटा दें।


चित्र 20: उन्नत सेटिंग कॉन्फ़िगर करना

Oracle और MySQL के लिए RDS उदाहरण चित्र 21 में दिखाए गए हैं।


चित्र 21: आरडीएस डीबी इंस्टेंस

स्वचालित रूप से बनाए गए सुरक्षा समूहों में आवश्यक इनबाउंड/आउटबाउंड नियम नहीं होते हैं, जिन्हें संशोधित करने की आवश्यकता होती है। RDS कंसोल में सुरक्षा समूहों के लिए लिंक पर क्लिक करें, जैसा कि चित्र 22 में MySQL DB के लिए दिखाया गया है।


चित्र 22: सुरक्षा समूह

सुरक्षा समूह इनबाउंड के लिए संपादित करें पर क्लिक करें, जैसा कि चित्र 23 में दिखाया गया है।


चित्र 23: सुरक्षा समूह>संपादित करें

इनबाउंड नियमों को संपादित करें में, सभी ट्रैफ़िक के रूप में टाइप करें, सभी के रूप में प्रोटोकॉल, 0-65535 के रूप में पोर्ट रेंज, कहीं भी स्रोत के रूप में चुनें और सहेजें पर क्लिक करें, जैसा कि चित्र 24 में दिखाया गया है।


चित्र 24: इनबाउंड नियम संपादित करें

संशोधित इनबाउंड नियम चित्र 25 में दिखाए गए हैं।


चित्र 25: संशोधित इनबाउंड नियम

आउटबाउंड नियम डिफ़ॉल्ट रूप से सभी ट्रैफ़िक की अनुमति देते हैं (चित्र 26 देखें)।


चित्र 26: आउटबाउंड नियम

RDS पर Oracle DB के लिए बनाया गया डिफ़ॉल्ट सुरक्षा समूह भी सभी ट्रैफ़िक की अनुमति नहीं देता है, जैसा कि चित्र 27 में दिखाया गया है।


चित्र 27: आरडीएस पर ओरेकल डीबी के लिए सुरक्षा समूह

जैसा कि चित्र 28 में दिखाया गया है, सभी ट्रैफ़िक की अनुमति देने के लिए, MySQL डेटाबेस सुरक्षा समूह इनबाउंड नियमों को संशोधित करने के समान, संपादन बटन के साथ RDS पर Oracle DB के लिए इनबाउंड सुरक्षा समूह को संशोधित करें।


चित्र 28: आरडीएस पर ओरेकल डीबी के लिए सुरक्षा समूह

इंस्टेंस बनाते समय प्रत्येक डीबी इंस्टेंस के लिए कॉन्फ़िगर किए गए मास्टर यूजरनेम और मास्टर पासवर्ड पर ध्यान दें, जैसा कि चित्र 29 में MySQL डीबी के लिए दिखाया गया है। साथ ही, आरडीएस पर MySQL डीबी बनाते समय, कोई भी कॉन्फ़िगरेशन सेटिंग्स (डेटाबेस नाम) नहीं है। , DB इंस्टेंस आइडेंटिफ़ायर, मास्टर उपयोगकर्ता नाम, मास्टर पासवर्ड) MySQL आरक्षित शब्द होना चाहिए, जैसे "MYSQL"।


चित्र 29: मास्टर उपयोगकर्ता नाम और मास्टर पासवर्ड

DMS के लिए Oracle और MySQL DBs तैयार करना

आरडीएस पर क्रमशः डीएमएस स्रोत और लक्ष्य के रूप में ओरेकल डीबी और माईएसक्यूएल डीबी का उपयोग करने के लिए, हमें डीबी इंस्टेंस पर कुछ सेटिंग्स को कॉन्फ़िगर करने की आवश्यकता है। सेटिंग्स को कॉन्फ़िगर करने के लिए कमांड लाइन शेल में Oracle और MySQL DB इंस्टेंस से कनेक्ट करें। कमांड लाइन शेल में आरडीएस डीबी इंस्टेंस से कनेक्ट करने के लिए, हमें आरडीएस इंस्टेंस के लिए एंडपॉइंट प्राप्त करने की आवश्यकता है। आरडीएस पर ओरेकल डीबी के लिए एंडपॉइंट चित्रा 30 में आरडीएस कंसोल में दिखाया गया है।


चित्र 30: आरडीएस पर ओरेकल डीबी के लिए एंडपॉइंट

निम्नलिखित के साथ Oracle DB उदाहरण से कनेक्ट करें sqlplus कमांड, जिसमें HOST, SID, PORT विभिन्न उपयोगकर्ताओं के लिए भिन्न हो सकते हैं; HOST मान समापन बिंदु से पोर्ट प्रत्यय को हटाकर प्राप्त किया जाता है।

sqlplus [email protected](DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)
   (HOST=orcl.crbmlbxmp8qi.us-east-1.rds.amazonaws.com)(PORT=1521))
   (CONNECT_DATA=(SID=ORCL)))

SQL*Plus कमांड लाइन इंटरफ़ेस RDS पर Oracle DB से जुड़ जाता है (चित्र 31 देखें)।


चित्र 31: SQL*प्लस CLI Oracle DB से जुड़ा है

DMS के लिए डेटाबेस स्तर की पूरक लॉगिंग सक्षम करें।

exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD');

PL/SQL प्रक्रिया पूरी हो जाती है, जैसा कि चित्र 32 में दिखाया गया है।


चित्र 32: डेटाबेस स्तर की पूरक लॉगिंग सक्षम करना

साथ ही, प्राथमिक कुंजी को सक्षम करें डेटाबेस स्तर पर लॉगिंग।

exec rdsadmin.rdsadmin_util.alter_supplemental_logging
   ('ADD','PRIMARY KEY');

प्राथमिक कुंजी लॉगिंग सक्षम हो जाती है, जैसा कि चित्र 33 में दिखाया गया है।


चित्र 33: प्राथमिक कुंजी लॉगिंग सक्षम करना

आरडीएस पर ओरेकल डीबी इंस्टेंस के लिए फिर से लॉग के संग्रह को कॉन्फ़िगर करें।

exec rdsadmin.rdsadmin_util.set_configuration
   ('archivelog retention hours',24);

संग्रह कॉन्फ़िगर हो जाता है, जैसा कि चित्र 34 में दिखाया गया है।


चित्र 34: संग्रह को कॉन्फ़िगर करना

डेटाबेस माइग्रेट करते समय, टेबल और टेबल डेटा भी माइग्रेट हो जाते हैं। एक डेटाबेस तालिका बनाएं wlslog Oracle डेटाबेस में।

CREATE TABLE wlslog(time_stamp VARCHAR2(255) PRIMARY KEY,category
   VARCHAR2(255),type VARCHAR2(255),servername VARCHAR2(255),
   code VARCHAR2(255),msg VARCHAR2(255));
INSERT INTO wlslog(time_stamp,category,type,servername,code,msg)
   VALUES('Apr-8-2014-7:06:16-PM-PDT','Notice','WebLogicServer',
   'AdminServer','BEA-000365','Server state changed to STANDBY');
INSERT INTO wlslog(time_stamp,category,type,servername,code,msg)
   VALUES('Apr-8-2014-7:06:17-PM-PDT','Notice','WebLogicServer',
   'AdminServer','BEA-000365','Server state changed to STARTING');
INSERT INTO wlslog(time_stamp,category,type,servername,code,msg)
   VALUES('Apr-8-2014-7:06:18-PM-PDT','Notice','WebLogicServer',
   'AdminServer','BEA-000365','Server state changed to ADMIN');
INSERT INTO wlslog(time_stamp,category,type,servername,code,msg)
   VALUES('Apr-8-2014-7:06:19-PM-PDT','Notice','WebLogicServer',
   'AdminServer','BEA-000365','Server state changed to RESUMING');
INSERT INTO wlslog(time_stamp,category,type,servername,code,msg)
   VALUES('Apr-8-2014-7:06:20-PM-PDT','Notice','WebLogicServer',
   'AdminServer','BEA-000361','Started WebLogic AdminServer');
INSERT INTO wlslog(time_stamp,category,type,servername,code,msg)
   VALUES('Apr-8-2014-7:06:21-PM-PDT','Notice','WebLogicServer',
   'AdminServer','BEA-000365','Server state changed to RUNNING');
INSERT INTO wlslog(time_stamp,category,type,servername,code,msg)
   VALUES('Apr-8-2014-7:06:22-PM-PDT','Notice','WebLogicServer',
   'AdminServer','BEA-000360','Server started in RUNNING mode');

प्राथमिक कुंजी . के बिना तालिका के लिए पूरक लॉगिंग जोड़ने के लिए लॉगिंग, या यदि प्राथमिक कुंजी डेटाबेस स्तर पर लॉगिंग सेट नहीं है, पूरक लॉगिंग जोड़ने के लिए तालिका में बदलाव करें।

alter table wlslog add supplemental log data (ALL) columns;

पूरक लॉगिंग को तालिका बनाएं . में भी सक्षम किया जा सकता है बयान।

CREATE TABLE wlslog(time_stamp VARCHAR2(255) PRIMARY KEY,
   category VARCHAR2(255),type VARCHAR2(255),
   servername VARCHAR2(255), code VARCHAR2(255),msg VARCHAR2(255),
   supplemental log data(ALL) columns);

पिछले दो आदेशों से आउटपुट चित्र 35 में दिखाया गया है।


चित्र 35: पहले से बनाई गई तालिका या नई तालिका में पूरक लॉगिंग जोड़ना

इसके बाद, DMS माइग्रेशन के लिए RDS पर MySQL DB इंस्टेंस तैयार करें। MySQL DB से कनेक्ट करने के लिए, एंडपॉइंट प्राप्त करें (चित्र 36 देखें।


चित्र 36: आरडीएस पर MySQL डीबी के लिए समापन बिंदु

एंडपॉइंट से पोर्ट प्रत्यय को हटाकर होस्ट प्राप्त किया जाता है। MySQL CLI का उपयोग करके, कमांड लाइन से MySQL से कनेक्ट करें।

mysql -h mysqldb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com -P 3306
   -u dvohra -p

जैसा कि चित्र 37 में दिखाया गया है, MySQL CLI RDS पर एक MySQL DB उदाहरण से जुड़ जाता है।


चित्र 37: MySQL CLI से MySQL से कनेक्ट करना

इसके बाद, DMS उपयोगकर्ता (dvohra) को MySQL डेटाबेस के लिए पढ़ने और लिखने के विशेषाधिकार बनाएं और प्रदान करें।

CREATE USER '<user acct>'@'%' IDENTIFIED BY
   <user password>';??? Remove as user dvohra already exists
GRANT ALTER, CREATE, DROP, INDEX, INSERT, UPDATE, DELETE,
   SELECT ON myschema.* TO '<user acct>'@'%';
GRANT ALL PRIVILEGES ON awsdms_control.* TO '<user acct>'@'%';

उपयोगकर्ता खाते को दवोहरा के रूप में प्रतिस्थापित करते हुए, कुछ कमांड से आउटपुट चित्र 38 में दिखाया गया है।


चित्र 38: DMS उपयोगकर्ता को MySQL डेटाबेस एक्सेस प्रदान करना

निष्कर्ष

इस लेख में, हमने AWS डेटाबेस माइग्रेशन सेवा का उपयोग करके RDS पर Oracle डेटाबेस को RDS पर MySQL डेटाबेस में माइग्रेट करने की शुरुआत की। इस लेख में, हमने स्रोत और लक्ष्य डेटाबेस स्थापित करने पर चर्चा की। बाद के लेख में, हम एक माइग्रेशन बनाएंगे और चलाएंगे।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. टूटे हुए UTF-8 एन्कोडिंग को ठीक करना

  2. PDO MySQL:PDO::ATTR_EMULATE_PREPARES का प्रयोग करें या नहीं?

  3. किसी अन्य तालिका में पंक्ति सम्मिलित करने के लिए MySQL ट्रिगर कैसे प्रोग्राम करें?

  4. MySQL क्वेरी ग्रुप दिन/महीने/वर्ष के अनुसार

  5. ProxySQL के साथ कनेक्शन हैंडलिंग और थ्रॉटलिंग