इस गाइड में हम सीखेंगे कि MySQL/MariaDB . के डिफ़ॉल्ट पोर्ट को कैसे बदला जाए डेटाबेस CentOS 7 . में बंधता है और डेबियन आधारित लिनक्स वितरण। डिफ़ॉल्ट पोर्ट जो MySQL डेटाबेस सर्वर Linux और Unix के अंतर्गत चल रहा है 3306/TCP . है ।
डिफ़ॉल्ट MySQL/MariaDB . को बदलने के लिए लिनक्स में डेटाबेस पोर्ट, नीचे दिए गए आदेश को जारी करके संपादन के लिए MySQL सर्वर कॉन्फ़िगरेशन फ़ाइल खोलें।
# vi /etc/my.cnf.d/server.cnf [On CentOS/RHEL] # vi /etc/mysql/mariadb.conf.d/50-server.cnf [On Debian/Ubuntu]
लाइन स्टेट की खोज [mysqld]
. से शुरू होती है और निम्न पोर्ट निर्देश को [mysqld]
. के अंतर्गत रखें बयान, जैसा कि नीचे फ़ाइल अंशों में दिखाया गया है। पोर्ट वेरिएबल को तदनुसार बदलें।
[mysqld] port = 12345
आपके द्वारा नया MySQL/MariaDB जोड़ने के बाद कॉन्फ़िगरेशन फ़ाइल को पोर्ट करें, सहेजें और बंद करें और CentOS 7 . के अंतर्गत निम्न पैकेज स्थापित करें आवश्यक SELinux . को लागू करने के लिए डेटाबेस को नए पोर्ट पर बाइंड करने की अनुमति देने के नियम।
# yum install policycoreutils-python
इसके बाद, नीचे SELinux जोड़ें नए पोर्ट पर MySQL सॉकेट को बाँधने का नियम और निम्नलिखित कमांड जारी करके परिवर्तन लागू करने के लिए डेटाबेस डेमॉन को पुनरारंभ करें। फिर से, अपने पोर्ट नंबर से मेल खाने के लिए MySQL पोर्ट वेरिएबल को बदलें।
--------------- On CentOS/RHEL --------------- # semanage port -a -t mysqld_port_t -p tcp 12345 # systemctl restart mariadb --------------- On Debian/Ubuntu --------------- # systemctl restart mysql [On Debian/Ubuntu]
यह सत्यापित करने के लिए कि MySQL/MariaDB . के लिए पोर्ट कॉन्फ़िगरेशन है या नहीं डेटाबेस सर्वर को सफलतापूर्वक लागू कर दिया गया है, नेटस्टैट जारी करें या ss कमांड और नए MySQL पोर्ट को आसानी से पहचानने के लिए परिणामों को grep कमांड के माध्यम से फ़िल्टर करें।
# ss -tlpn | grep mysql # netstat -tlpn | grep mysql
आप रूट खाते के साथ MySQL डेटाबेस में लॉग इन करके नया MySQL पोर्ट भी प्रदर्शित कर सकते हैं और नीचे दिए गए आदेश को जारी कर सकते हैं। हालाँकि, ध्यान रखें कि लोकलहोस्ट पर MySQL से सभी कनेक्शन MySQL यूनिक्स डोमेन सॉकेट के माध्यम से किए जाते हैं, टीसीपी सॉकेट के माध्यम से नहीं। लेकिन -P
का उपयोग करके MySQL डेटाबेस से कमांड लाइन रिमोट कनेक्शन के मामले में टीसीपी पोर्ट नंबर को स्पष्ट रूप से निर्दिष्ट किया जाना चाहिए। झंडा।
# mysql -h localhost -u root -p -P 12345 MariaDB [(none)]> show variables like 'port';
MySQL डेटाबेस से दूरस्थ कनेक्शन के मामले में, रूट उपयोगकर्ता को स्पष्ट रूप से कॉन्फ़िगर किया जाना चाहिए ताकि आने वाले कनेक्शन सभी नेटवर्क या सिर्फ एक आईपी पते के रूप में MySQL कंसोल में नीचे दिए गए आदेश को जारी कर सकें:
# mysql -u root -p MariaDB [(none)]> grant all privileges on *.* to 'root'@'192.168.1.159' identified by 'strongpass'; MariaDB [(none)]> flush privileges; MariaDB [(none)]> exit
नीचे दिए गए आदेश को जारी करके नए पोर्ट पर कमांड लाइन क्लाइंट के माध्यम से MySQL सर्वर में दूरस्थ रूप से लॉग इन करें।
# mysql -h 192.168.1.159 -P 12345 -u root -p
अंत में, एक बार आपने MySQL/MariaDB . को बदल दिया है डेटाबेस सर्वर पोर्ट, आपको नए टीसीपी पोर्ट में आने वाले कनेक्शन की अनुमति देने के लिए अपने वितरण फ़ायरवॉल नियमों को अपडेट करने की आवश्यकता है ताकि दूरस्थ क्लाइंट सफलतापूर्वक डेटाबेस से जुड़ सकें।