किसी भी IP पते से MySQL डेटाबेस का रिमोट एक्सेस प्रदान करें


280

मुझे इस आदेश की जानकारी है:

GRANT ALL PRIVILEGES
ON database.*
TO 'user'@'yourremotehost'
IDENTIFIED BY 'newpassword';

लेकिन तब यह मुझे केवल इस दूरस्थ MySQL डेटाबेस तक पहुँचने के लिए एक विशेष IP पते देने की अनुमति देता है। यदि मैं ऐसा चाहता हूं तो क्या कोई दूरस्थ होस्ट इस MySQL डेटाबेस तक पहुंच सकता है? मैं उसको कैसे करू? मूल रूप से मैं इस डेटाबेस को सार्वजनिक कर रहा हूं ताकि हर कोई इसे एक्सेस कर सके।


1
ऐसा करने से पहले, सुरक्षा निहितार्थ पर विचार करें: security.stackexchange.com/questions/63881/…
e18r

7
हर प्रणाली एक उत्पादन प्रणाली नहीं है। कुछ लोगों को विकास के लिए इसकी आवश्यकता होती है।
कॉनरेड जोन्स

जवाबों:


272
TO 'user'@'%'

% एक वाइल्डकार्ड है - आप भी कर सकते हैं '%.domain.com'या '%.123.123.123'इस तरह की चीज़ों की ज़रूरत पड़ने पर कर सकते हैं।


@kristopolous बहुत सारी चीज़ें हैं जो इसका कारण बन सकती हैं। यह कमांड रिमोट एक्सेस (दो अलग-अलग मशीनों) के बारे में है। यदि आप ऐसा नहीं कर रहे हैं तो यह सही आदेश नहीं है। आपको अभी भी एक सही पासवर्ड और अन्य चीजों की आवश्यकता है।
एरियल

11
आपको "फ्लश विशेषाधिकारों" का उपयोग करना होगा; प्रभावी होने के लिए परिवर्तनों के लिए
डिडियर सम्पोलो

उसी OS उदाहरण (जैसे आपकी विकास मशीन) पर चलने वाले db इंस्टेंस से कनेक्ट होने पर चाल को -h my_machine_nameपैरामीटर में पास करना होता है। यह क्लाइंट को आपके 'user'@my_machine_name.example.comबजाय के रूप में पहचानने के लिए ट्रिक करता है 'user'@localhost। इस तरह आपको दोनों localhostऔर नेटवर्क एक्सेस के लिए दोहरे खाते और अनुदान बनाने और बनाए रखने की आवश्यकता नहीं है । और, ज़ाहिर है, यकीन mysqldहै कि 0.0.0.0बनाम के लिए बाध्य है 127.0.0.1
चार्ली रिट्जेल

173

रिमोट एक्सेस (ग्रांट) को सक्षम करें होम / ट्यूटोरियल / मैसकल / इनेबल रिमोट एक्सेस (ग्रांट) यदि आप दूरस्थ मशीन से अपने mysql सर्वर से कनेक्ट करने का प्रयास करते हैं, और नीचे की तरह त्रुटि में चलते हैं, तो यह लेख आपके लिए है।

ERROR 1130 (HY000): होस्ट '1.2.3.4' को इस MySQL सर्वर से कनेक्ट करने की अनुमति नहीं है

Mysql config बदलें

Mysql config फाइल के संपादन से शुरू करें

vim /etc/mysql/my.cnf

निम्नलिखित पंक्तियों पर टिप्पणी करें।

#bind-address           = 127.0.0.1
#skip-networking

अगर आपको स्किप-नेटवर्किंग लाइन नहीं मिलती है, तो उसे जोड़ें और टिप्पणी करें।

Mysql सर्वर को पुनरारंभ करें।

~ /etc/init.d/mysql restart

GRANT विशेषाधिकार बदलें

उपरोक्त परिवर्तन के बाद भी आपको देखकर आश्चर्य हो सकता है कि आपको रिमोट एक्सेस या एक्सेस नहीं मिल रहा है लेकिन सभी डेटाबेस में सक्षम नहीं है।

डिफ़ॉल्ट रूप से, mysql उपयोगकर्ता नाम और पासवर्ड जो आप उपयोग कर रहे हैं, उन्हें mysql-server को स्थानीय रूप से एक्सेस करने की अनुमति है। इसलिए विशेषाधिकार को अद्यतन करने की आवश्यकता है।

सभी मशीनों से एक्सेस करने के लिए नीचे की तरह कमांड चलाएँ। (बदलें USERNAMEऔर PASSWORDअपने क्रेडेंशियल्स द्वारा।)

mysql> GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;

विशिष्ट IP से पहुँच देने के लिए नीचे की तरह एक कमांड चलाएँ। (बदलें USERNAMEऔर PASSWORDअपने क्रेडेंशियल्स द्वारा।)

mysql> GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'1.2.3.4' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;

आप अपने आईपी के साथ 1.2.3.4 को बदल सकते हैं। आप कई IP से GRANT पहुंच के लिए कई बार कमांड के ऊपर चल सकते हैं।

आप एक अलग USERNAMEऔर निर्दिष्ट भी कर सकते हैंPASSWORD रिमोट एक्सेस के लिए ।

आप अंतिम परिणाम की जाँच कर सकते हैं:

SELECT * from information_schema.user_privileges where grantee like "'USERNAME'%";

अंत में, आपको चलाने की आवश्यकता भी हो सकती है:

mysql> FLUSH PRIVILEGES;

परीक्षण कनेक्शन

टर्मिनल / कमांड-लाइन से:

mysql -h HOST -u USERNAME -pPASSWORD

यदि आपको mysql शेल मिलता है, तो शो डेटाबेस चलाना न भूलें; यह देखने के लिए कि क्या आपके पास दूरस्थ मशीनों से सही विशेषाधिकार हैं।

बोनस-टिप: पहुंच रद्द करें

यदि आप गलती से किसी उपयोगकर्ता को एक्सेस प्रदान करते हैं, तो बेहतर है कि रिवोकिंग का विकल्प आसान हो।

निम्नलिखित सभी मशीनों से USERNAME के ​​सभी विकल्पों को रद्द कर देगा:

mysql> REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'USERNAME'@'%';
Following will revoke all options for USERNAME from particular IP:

mysql> REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'USERNAME'@'1.2.3.4';
Its better to check information_schema.user_privileges table after running REVOKE command.

यदि आप REVOKE कमांड चलाने के बाद USAGE विशेषाधिकार देखते हैं, तो यह ठीक है। यह उतना ही अच्छा है जितना कोई विशेषाधिकार नहीं। मुझे यकीन नहीं है कि इसे रद्द किया जा सकता है।


7
ध्यान दें कि मुझे भाग को टिप्पणी करने के /etc/mysql/mysql.conf.d/mysqld.cnfबजाय फ़ाइल को बदलना होगा । लाइन याद आ रही है और जोड़ने और लाइन टिप्पणी का कोई प्रभाव नहीं होना चाहिए। /etc/mysql/my.cnfbind-address#skip-networking
पवन

1
मारियाडीबी 10.1.26 पर, कॉन्फ़िगरेशन फ़ाइल है/etc/mysql/mariadb.conf.d/50-server.cnf
क्वाडज़ जूल

यदि आपने उपरोक्त सभी कार्य किए हैं और अभी भी कनेक्ट करने में असमर्थ हैं, तो अपनी फ़ायरवॉल सेटिंग्स की जांच करें, हो सकता है 3306कि आपके द्वारा स्थापित पोर्ट या जो भी पोर्ट अवरुद्ध हो रहा हो
avn

37

यह मानते हुए कि उपरोक्त चरण पूरा हो गया है और MySql पोर्ट 3306 दूर से एक्सेस करने के लिए स्वतंत्र है; सार्वजनिक आईपी पते को mysql config फाइल में बांधना न भूलें।

मेरे ubuntu सर्वर पर उदाहरण के लिए:

#nano /etc/mysql/my.cnf

फ़ाइल में, के लिए खोजें [mysqld] अनुभाग ब्लॉक को खोजें और नया बाइंड पता जोड़ें, इस उदाहरण में यह 192.168.0.116 है। यह कुछ इस तरह दिखेगा

......    
.....    
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.

bind-address        = 127.0.0.1    
bind-address        = 192.168.0.116

.....    
......

यदि आप चुनते हैं तो आप वें लोकलहोस्ट (127.0.0.1) बाइंडिंग को हटा सकते हैं, लेकिन फिर आपको स्थानीय मशीन पर सर्वर तक पहुंचने के लिए विशेष रूप से एक आईपी एड्रेस देना होगा।

फिर अंतिम चरण MySql सर्वर (ubuntu पर) को पुनरारंभ करना है

stop mysql

start mysql

या #/etc/init.d/mysql restartअन्य प्रणालियों के लिए

अब MySQL डेटाबेस को दूरस्थ रूप से एक्सेस किया जा सकता है:

mysql -u username -h 192.168.0.116 -p

/etc/init.d/mysql reloadपर्याप्त होना चाहिए
लोरेंज लो सॉर

मैंने अभी-अभी ऐसा किया है और दूर से mysql सर्वर से कनेक्ट नहीं हो सका। फिर मैंने बाँध-पतों पर टिप्पणी करने की कोशिश की और यह काम कर गया। मैंने होस्ट को निर्दिष्ट किए बिना mysql -u <user> -p के साथ सर्वर में लॉग इन करने की कोशिश की और यह काम किया, इसलिए ऐसा प्रतीत होता है कि "यदि आप चुनते हैं तो आप वें लोकलहोस्ट (127.0.0.1) बाइंडिंग को हटा सकते हैं, लेकिन फिर आपको विशेष रूप से करना होगा स्थानीय मशीन पर सर्वर तक पहुंचने के लिए एक आईपी पता दें। " सही नहीं है। (ubuntu 12.04 LTS सर्वर mysql Ver 14.14 डिस्ट्रीब्यूट 5.5.34)
प्रोग्रामर

5
bind-addressनिर्देश आईपी पते कि mysql निर्धारित करता है सर्वर पर सुनता है, नहीं आईपी ​​पते कि सर्वर से कनेक्शन स्वीकार करता है।
गोजोनर

1
प्रत्येक चरण का पालन करने के बाद यह काम नहीं करता है। bind-addressलोकलहोस्ट या रिमोटहोस्ट एड्रेस पर टिप्पणी करते समय मुझे एक त्रुटि मिलती है । mysql.serviceJob for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.
बैराठिया

क्या 192.168.0.116 के बजाय abc.abc:1234 जैसे पते प्रदान करना संभव है?
बिआला

26

जो कोई भी इस से लड़खड़ाया है, उसके लिए यहां मुझे विशेषाधिकार प्राप्त करने का तरीका मिला है, आशा है कि यह किसी की मदद करेगा

GRANT ALL ON yourdatabasename.* TO root@'%' IDENTIFIED BY
'yourRootPassword';

जैसा कि कहा गया है %कि एक वाइल्डकार्ड है और यह किसी भी आईपी पते को आपके डेटाबेस से जुड़ने की अनुमति देगा। जब आप कनेक्ट करते हैं, तो यह धारणा मुझे यहां दिखाई देती है कि आपके पास एक उपयोगकर्ता होगा जिसका नाम root(हालांकि डिफ़ॉल्ट है)। रूट पासवर्ड में फीड करें और आप जाने के लिए अच्छा है। ध्यान दें कि मेरे पास 'उपयोगकर्ता रूट के आसपास एक भी उद्धरण नहीं है ।


उपयोगकर्ता से एकल उद्धरण क्यों निकाल रहा है महत्वपूर्ण? यह अन्य उत्तरों (और मैनुअल) से अलग क्यों है?
DMCoding

26

स्थानीय होस्ट के माध्यम से कनेक्शन को सक्षम करने के लिए कॉन्फ़िगरेशन फ़ाइल परिवर्तन आवश्यक हैं।

दूरस्थ आईपी के माध्यम से कनेक्ट करने के लिए, "रूट" उपयोगकर्ता के रूप में लॉगिन करें और नीचे दिए गए प्रश्नों को mysql में चलाएं।

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION;

CREATE USER 'username'@'%' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;

FLUSH PRIVILEGES;

यह एक नया उपयोगकर्ता बनाएगा जो स्थानीय होस्ट के साथ-साथ दूरस्थ आईपी से भी सुलभ हो।

साथ ही /etc/mysql/my.cnf में स्थित my.cnf फ़ाइल से नीचे की पंक्ति में टिप्पणी करें

bind-address = 127.0.0.1

अपने mysql का उपयोग करके पुनः आरंभ करें

sudo service mysql restart

अब आपको दूरस्थ रूप से अपने mysql से कनेक्ट करने में सक्षम होना चाहिए।


2
इस सवाल का जवाब नहीं है।
चेरिस

1
@ChristopheHarris आपको ऐसा क्यों लगता है? उत्तर स्पष्ट रूप से MySQL में एक नया उपयोगकर्ता बनाने के बारे में कदम से कदम निर्देश देता है जो उस उपयोगकर्ता का उपयोग करते हुए DB पर लोकलहोस्ट और रिमोट एक्सेस दोनों की अनुमति देता है। क्या आप व्याख्या कर सकते हैं?
हरिशनाम सेप

1
मेरे लिए काम नहीं करता है। अभी भी वही त्रुटि है। कोई फर्क नहीं पड़ता कि मैं इसे रूट या किसी नए उपयोगकर्ता के साथ आज़माता हूं: 'xxx.xxx.xxx.xxx' पर MySQL सर्वर से कनेक्ट नहीं कर सकता ([Errno 61] कनेक्शन ने मना कर दिया)
baermathias

21

इस कमांड का उपयोग करें:

GRANT ALL ON yourdatabasename.* TO root@'%' IDENTIFIED BY 'yourRootPassword';

फिर:

FLUSH PRIVILEGES; 

फिर फ़ाइल में नीचे की पंक्ति "/etc/mysql/mysql.conf.d/mysqld.cnf" (आवश्यक है!) पर टिप्पणी करें।

bind-address = 127.0.0.1 

मेरे लिये कार्य करता है!


बहुत अच्छा है। महत्वपूर्ण अनुदान। यदि नहीं, तो अनुरोधों के लिए बहुत सारी त्रुटियां जैसेyour-password-does-not-satisfy-the-current-policy-requirements
एलेजांद्रो टेइसेइरा मुनोज

21

किसी भी आईपी पते से अपने उपयोगकर्ता के साथ जुड़ने में सक्षम होने के लिए, निम्नलिखित करें:

दूरस्थ कनेक्शन स्वीकार करने के लिए mysql सर्वर को अनुमति दें। इसके लिए mysqld.conf फ़ाइल खोलें:

sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf

"बाइंड-एड्रेस" से शुरू होने वाली लाइन के लिए खोजें और इसका मान 0.0.0.0 पर सेट करें

bind-address                    = 0.0.0.0

और अंत में फाइल को सेव करें।

नोट: यदि आप MySQL 8+ चला रहे हैं, तो bind-addressनिर्देश mysqld.cnfडिफ़ॉल्ट रूप से फ़ाइल में नहीं होगा । इस स्थिति में, फ़ाइल के निचले भाग में निर्देश जोड़ें/etc/mysql/mysql.conf.d/mysqld.cnf

अब mysql सर्वर को पुनरारंभ करें, या तो systemdपुराने serviceकमांड का उपयोग करें या करें । यह आपके ऑपरेटिंग सिस्टम पर निर्भर करता है:

sudo systemctl restart mysql # for ubuntu    
sudo systemctl restart mysqld.service # for debian

अंत में, mysql सर्वर अब दूरस्थ कनेक्शन स्वीकार करने में सक्षम है।

अब हमें एक उपयोगकर्ता बनाने और उसे अनुमति देने की आवश्यकता है, इसलिए हम इस उपयोगकर्ता के साथ दूरस्थ रूप से लॉगिन करने में सक्षम हो सकते हैं।

रूट के रूप में MySQL डेटाबेस से कनेक्ट करें, या रूट विशेषाधिकार के साथ कोई अन्य उपयोगकर्ता।

mysql -u root -p

अब लोकलहोस्ट और '%' वाइल्डकार्ड दोनों में वांछित उपयोगकर्ता बनाएँ और सभी DB के रूप में अनुमति दें।

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';

फिर,

GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';

और अंत में विशेषाधिकार फ्लश करने के लिए मत भूलना

FLUSH PRIVILEGES;

नोट: यदि आपने अपने डेटाबेस सर्वर पर फ़ायरवॉल कॉन्फ़िगर किया है, तो आपको पोर्ट खोलने की भी आवश्यकता होगी 3306 MySQL पर यातायात की अनुमति देने के लिए MySQL के डिफ़ॉल्ट पोर्ट को ।

उम्मीद है की यह मदद करेगा ;)


2
sudo systemctl पुनरारंभ mysqld.service डेबियन के लिए है, मुझे sudo systemctl पुनरारंभ mysql.service का उपयोग करना था ubuntu
ai0904071

मैंने अपना उत्तर अपडेट किया और दोनों डिस्ट्रो के लिए mysql पुनरारंभ कमांड को जोड़ा। धन्यवाद @ ai0904071
इम्तियाज शकील सिद्दीक

17

निम्नलिखित चलाएँ:

$ mysql -u root -p      
mysql> GRANT ALL ON *.* to root@'ipaddress' IDENTIFIED BY 'mysql root password';     
mysql> FLUSH PRIVILEGES;     
mysql> exit

फिर आपके द्वारा निर्दिष्ट आईपी पते से कनेक्शन का प्रयास करें:

mysql -h address-of-remove-server -u root -p   

आपको कनेक्ट करने में सक्षम होना चाहिए।


15

आप इस आदेश के माध्यम से MariaDB की समस्या का समाधान कर सकते हैं :

ध्यान दें:

GRANT ALL ON *.* to root@'%' IDENTIFIED BY 'mysql root password';

%एक वाइल्डकार्ड है। इस मामले में, यह सभी आईपी पते को संदर्भित करता है।


3
mysql में, आपको क्या करने की आवश्यकता है (1) .change my.cnf सामग्री (2) .grant दूरस्थ उपयोगकर्ता (3) आपके फ़ायरवॉल के साथ 3306 पोर्ट सुनने के लिए सौदा करें।
未来 顶尖 的 投资 '

आपने मेरा दिन बचाया। इसकी प्रशंसा करना!
आलमेट


7

दूरस्थ रूप से एक्सेस मैसूर सर्वर 8:

CREATE USER 'root'@'%' IDENTIFIED BY 'Pswword@123';

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

FLUSH PRIVILEGES;

5
  • व्यवस्थापक उपयोगकर्ता का उपयोग करके STARTSQL
    • mysql -u admin-user -p (PROMPT पर पासवर्ड दर्ज करें)
  • एक नया उपयोगकर्ता बनाएँ:
    • USER 'newuser' @ '%' IDENTIFIED BY 'पासवर्ड' बनाएं; (% -> anyhost)
  • अनुदान विशेषाधिकार:
    • GRANT चयन, DELETE, INSERT, UPDATE ON db_name। * 'Newuser' @% 'करने के लिए;
    • फ्लश PRIVILEGES;

यदि आप EC2 इंस्टेंस चला रहे हैं तो MYSQL / Aurura के साथ सुरक्षा समूह में इनबाउंड नियमों को जोड़ना न भूलें।


5

फ़ाइल संपादित करें:

/etc/mysql/percona-server.cnf

फ़ाइल में नीचे कोड जोड़ें।

[mysqld] bind-address = 0.0.0.0

रिमोट एक्सेस के लिए उपयोगकर्ता बनाएं।

$ mysql -u root -p      
mysql> GRANT ALL ON *.* to snippetbucketdotcom@'%' IDENTIFIED BY 'tejastank';   
mysql> FLUSH PRIVILEGES;    
mysql> exit

सभी लिनक्स सर्वर काम करता है,

MSWin c: \ के लिए insatallation location \ file पाथ पाएं


[mysqld] को फ़ाइल में जोड़ने की आवश्यकता है, अन्यथा ठीक से काम नहीं करता है
तेजस टैंक

3

जैसे कुछ डेटाबेस के लिए उपयोगकर्ता बनाएँ

GRANT ALL PRIVILEGES ON <database_name>.* TO '<username>'@'%' IDENTIFIED BY '<password>'

फिर जाएं

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnfऔर लाइन bind-address = 127.0.0.1को बदल देंbind-address = 0.0.0.0

उसके बाद आप किसी भी आईपी से उस डेटाबेस से जुड़ सकते हैं।


3

अपने को खोलें mysql consoleऔर निम्नलिखित कमांड को निष्पादित करें (अपना डेटाबेस नाम, उपयोगकर्ता नाम और पासवर्ड दर्ज करें):

सभी को अपनेdatabasename पर प्राप्त करें।

फिर निष्पादित करें:

फ्लश PRIVILEGES;

कमांड लाइन खोलें और /etc/mysql/mysql.conf.d/mysqld.cnfकिसी भी एडिटर का उपयोग करके फ़ाइल खोलें root privileges

उदाहरण के लिए:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

फिर नीचे की पंक्ति में टिप्पणी करें:

बाइंड-पता = 127.0.0.1

आदेश का उपयोग करके परिवर्तनों को प्रतिबिंबित करने के लिए mysql को पुनरारंभ करें:

sudo service mysql restart

का आनंद लें ;)


2

आपको mysql config फाइल को बदलना होगा:

Mysql config फाइल के संपादन से शुरू करें

vim /etc/mysql/my.cnf

जोड़ें:

bind-address = 0.0.0.0

0

CPanel जैसे वेबसाइट पैनल में आप %अपने MySQL डेटाबेस तक पहुँचने के लिए अनुमत होस्टनाम में एक एकल (प्रतिशत चिह्न) जोड़ सकते हैं ।

एक एकल जोड़कर %आप किसी भी आईपी या वेबसाइट से अपने डेटाबेस को डेस्कटॉप एप्लिकेशन से भी एक्सेस कर सकते हैं।


कृपया एक सीधी क्वेरी पेश किए जाने पर cPanel जैसी चीज़ का संदर्भ न दें, यह कभी किसी और के लिए काम का परिणाम नहीं दिखाएगा
तोबियस हेगनबेक

@TobiasHagenbeek आपकी प्रतिक्रिया के लिए धन्यवाद। इस विधि / चाल का आविष्कार मेरे द्वारा नहीं किया गया है (यह इंटरनेट पर आम है)। लेकिन मैं इस विधि के परीक्षक में से एक हूं और मैंने पाया कि यह सबसे आसान और काम करने वाला तरीका है, इसलिए मैंने इसे यहां पोस्ट किया है। मुझे पता है कि इस पद्धति में कुछ सुरक्षा जोखिम हैं जिनकी उपेक्षा की जा सकती है।
मुहम्मद साकिब

0

उदाहरण के लिए मेरे CentOS में

सुडो गेडिट /etc/mysql/my.cnf

निम्नलिखित पंक्तियों पर टिप्पणी करें

# बाइंड-एड्रेस = 127.0.0.1

फिर

सुडो सेवा मायस्कल्ड पुनः आरंभ


0

यदि आप किसी भी आईपी पते से अपने डेटाबेस का रिमोट एक्सेस देना चाहते हैं, तो mysql कमांड चलाएं और उसके बाद निम्न कमांड चलाएँ।

GRANT ALL PRIVILEGES ON *.*
TO 'root'@'%' 
IDENTIFIED BY 'password' 
WITH GRANT OPTION;

0

उबंटू पर काम करने वाले ने उपयोगकर्ता को सभी विशेषाधिकार दिए हैं:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;

और इसमें बाँध का पता सेट करना /etc/mysql/mysql.conf.d/mysqld.cnf:

bind-address            = 0.0.0.0

फिर mysql डेमन को फिर से शुरू करना:

service mysql restart

-7

आप संपादन /etc/my.cnf द्वारा सभी सुरक्षा को अक्षम कर सकते हैं:

skip-grant-tables

यह सभी पासवर्ड आवश्यकताओं को हटा देता है
क्राइस्टोपोलस

5
ध्यान दें कि इस विकल्प को उत्पादन वातावरण में सक्षम होना उचित नहीं है, क्योंकि यह किसी को भी पासवर्ड के बिना कनेक्ट करने की अनुमति देता है!
अस्सोफर

हालाँकि, यह एक देव माहौल के लिए आदर्श है
DMCoding

इससे लोग पासवर्ड का उपयोग किए बिना आपके डेटाबेस को हैक कर सकते हैं।
MilkyWay90

@DanielJames यहां तक ​​कि विकास के माहौल के लिए यह एक भयानक विचार है
ड्रैगस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.