যে কোনও আইপি ঠিকানা থেকে মাইএসকিউএল ডাটাবেসের দূরবর্তী অ্যাক্সেস মঞ্জুর করুন


280

আমি এই আদেশ সম্পর্কে অবগত:

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

তবে তারপরে এটি কেবলমাত্র এই দূরবর্তী মাইএসকিউএল ডাটাবেস অ্যাক্সেসের জন্য আমাকে একটি নির্দিষ্ট আইপি ঠিকানা দেওয়ার অনুমতি দেয়। আমি যদি এটি চাই যাতে কোনও দূরবর্তী হোস্ট এই মাইএসকিউএল ডাটাবেসটি অ্যাক্সেস করতে পারে? আমি কেমন করে ঐটি করি? মূলত আমি এই ডাটাবেসটিকে সর্বজনীন করে দিচ্ছি যাতে সকলেই এটি অ্যাক্সেস করতে পারে।


1
এটি করার আগে, সুরক্ষা সম্পর্কিত প্রভাবগুলি বিবেচনা করুন: সিকিউরিটি.স্ট্যাকেক্সেঞ্জ
বিকিউশনস

7
প্রতিটি সিস্টেম একটি উত্পাদন সিস্টেম হয় না। কিছু লোকের উন্নয়নের জন্য এটি প্রয়োজন।
কনরাড জোনস

উত্তর:


272
TO 'user'@'%'

% হ'ল একটি ওয়াইল্ডকার্ড - আপনি প্রয়োজন হলে আপনি এটিও করতে পারেন '%.domain.com'বা এর '%.123.123.123'মতো জিনিসও করতে পারেন।


@ Kristopolous এখানে প্রচুর জিনিস রয়েছে যা এর কারণ হতে পারে। এই কমান্ডটি দূরবর্তী অ্যাক্সেস (দুটি পৃথক মেশিন) সম্পর্কে। আপনি যদি এটি করছেন তবে এটি সঠিক আদেশ নয়। আপনার এখনও একটি সঠিক পাসওয়ার্ড এবং অন্যান্য জিনিস দরকার।
এরিয়েল

11
আপনাকে "ফ্লাশ সুবিধাগুলি" ব্যবহার করতে হবে; পরিবর্তনগুলি কার্যকর হওয়ার জন্য
দিদিয়ার সাম্পাওলো

একই ওএস ইনস্ট্যান্সে (যেমন আপনার বিকাশ মেশিন) চলমান ডিবি ইনস্ট্যান্সের সাথে সংযোগ করার সময় কৌশলটি -h my_machine_nameপ্যারামিটারে যেতে হবে। এই 'user'@my_machine_name.example.comপরিবর্তে ক্লায়েন্ট আপনাকে হিসাবে চিহ্নিত করতে কৌশল 'user'@localhost। এইভাবে আপনার উভয় localhostএবং নেটওয়ার্ক অ্যাক্সেসের জন্য দ্বৈত অ্যাকাউন্ট এবং অনুদান তৈরি এবং বজায় রাখতে হবে না । এবং, অবশ্যই, নিশ্চিত করা mysqldআবদ্ধ হয় 0.0.0.0বনাম 127.0.0.1
চার্লি রিটেল

173

রিমোট অ্যাক্সেস (অনুদান) সক্ষম করুন হোম / টিউটোরিয়ালস / মাইএসকিএল / রিমোট অ্যাক্সেস (গ্রান্ট) সক্ষম করুন আপনি যদি রিমোট মেশিন থেকে আপনার মাইএসকিএল সার্ভারের সাথে সংযোগ স্থাপনের চেষ্টা করেন এবং নীচের মতো ত্রুটিতে চলে যান তবে এই নিবন্ধটি আপনার জন্য।

ত্রুটি 1130 (HY000): হোস্ট '1.2.3.4' এই মাইএসকিউএল সার্ভারের সাথে সংযোগ করার অনুমতি নেই

মাইএসকিএল কনফিগারেশন পরিবর্তন করুন

মাইএসকিএল কনফিগারেশন ফাইল সম্পাদনা করে শুরু করুন

vim /etc/mysql/my.cnf

নিম্নলিখিত লাইন মন্তব্য করুন।

#bind-address           = 127.0.0.1
#skip-networking

আপনি যদি স্কিপ-নেটওয়ার্কিং লাইনটি না পান তবে এটি যুক্ত করুন এবং এটির মন্তব্য করুন।

মাইএসকিএল সার্ভার পুনরায় চালু করুন।

~ /etc/init.d/mysql restart

গ্রান্ট সুবিধাটি পরিবর্তন করুন

উপরের পরিবর্তনের পরেও আপনি অবাক হয়ে যেতে পারেন আপনি দূরবর্তী অ্যাক্সেস পাচ্ছেন না বা অ্যাক্সেস পাচ্ছেন না তবে সমস্ত ডাটাবেসে সক্ষম নন।

ডিফল্টরূপে, আপনি যে মাইএসকিএল ব্যবহারকারীর নাম এবং পাসওয়ার্ড ব্যবহার করছেন তা স্থানীয়ভাবে মাইএসকিএল-সার্ভারে অ্যাক্সেসের অনুমতি রয়েছে। তাই সুযোগ সুবিধা আপডেট করা প্রয়োজন।

সমস্ত মেশিন থেকে অ্যাক্সেস পেতে নীচের মত একটি কমান্ড চালান। (প্রতিস্থাপন করুন USERNAMEএবং PASSWORDআপনার শংসাপত্রগুলি দ্বারা।)

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

নির্দিষ্ট আইপি থেকে অ্যাক্সেস দিতে নীচের মত একটি কমান্ড চালান। (প্রতিস্থাপন করুন USERNAMEএবং PASSWORDআপনার শংসাপত্রগুলি দ্বারা।)

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

আপনি আপনার আইপি দিয়ে 1.2.3.4 প্রতিস্থাপন করতে পারেন। একাধিক আইপি থেকে গ্রান্ট অ্যাক্সেসের জন্য আপনি উপরের কমান্ডটি বহুবার চালাতে পারেন।

আপনি একটি পৃথক USERNAME& নির্দিষ্ট করতে পারেনPASSWORD দূরবর্তী অ্যাক্সেস জন্য।

আপনি চূড়ান্ত ফলাফল এটি দ্বারা পরীক্ষা করতে পারেন:

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

শেষ পর্যন্ত, আপনার চালনার দরকার হতে পারে:

mysql> FLUSH PRIVILEGES;

পরীক্ষামূলক সংযোগ

টার্মিনাল / কমান্ড-লাইন থেকে:

mysql -h HOST -u USERNAME -pPASSWORD

যদি আপনি কোনও মাইএসকিএল শেল পান তবে ডেটাবেসগুলি প্রদর্শন করতে ভুলবেন না; দূরবর্তী মেশিন থেকে আপনার অধিকার রয়েছে কিনা তা পরীক্ষা করতে।

বোনাস-টিপ: অ্যাক্সেস প্রত্যাহার করুন

যদি আপনি দুর্ঘটনাক্রমে কোনও ব্যবহারকারীর অ্যাক্সেস মঞ্জুর করেন তবে আরও ভাল বিকল্প প্রত্যাহারযোগ্য have

নিম্নলিখিতগুলি সমস্ত মেশিন থেকে 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 কমান্ড চালানোর পরে ব্যবহারের সুযোগ পান তবে তা ঠিক আছে। এটি মোটেও কোনও সুবিধা হিসাবে হিসাবে ভাল। এটি প্রত্যাহার করা যায় কিনা তা সম্পর্কে আমি নিশ্চিত নই।


7
নোট করুন যে অংশটি মন্তব্য করার /etc/mysql/mysql.conf.d/mysqld.cnfপরিবর্তে আমাকে ফাইল পরিবর্তন /etc/mysql/my.cnfকরতে হয়েছিল bind-address#skip-networkingলাইনটি অনুপস্থিত হয় এবং যুক্ত করা এবং লাইনে মন্তব্য এর কোনো প্রভাব সেখানে উচিত।
পবন

1
মারিয়াডিবি 10.1.26-তে কনফিগারেশন ফাইলটি রয়েছে/etc/mysql/mariadb.conf.d/50-server.cnf
কোয়াডজ

যদি আপনি উপরের সমস্ত কিছু করে ফেলেছেন এবং এখনও সংযোগ করতে অক্ষম হন তবে আপনার ফায়ারওয়াল সেটিংস পরীক্ষা করে দেখুন, পোর্ট ব্লক করা 3306বা আপনি যে কোনও বন্দরটি স্থাপন করেছেন
এভেন

37

ধরে নিই যে উপরের পদক্ষেপটি সম্পন্ন হয়েছে এবং মাইএসকিউএল পোর্ট 3306 দূরবর্তীভাবে অ্যাক্সেস করা যায়; মাইএসকিএল কনফিগারেশন ফাইলে পাবলিক আইপি ঠিকানা বাঁধতে ভুলবেন না।

উদাহরণস্বরূপ আমার উবুন্টু সার্ভারে:

#nano /etc/mysql/my.cnf

ফাইলে, [মাইএসকিএলডি] বিভাগ ব্লকটি অনুসন্ধান করুন এবং নতুন বাইন্ড ঠিকানা যুক্ত করুন, উদাহরণস্বরূপ এটি 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) বাইন্ডিং সরিয়ে ফেলতে পারেন, তবে তারপরে আপনাকে স্থানীয় মেশিনে সার্ভারটি অ্যাক্সেসের জন্য নির্দিষ্টভাবে একটি আইপি ঠিকানা দিতে হবে।

তারপরে শেষ পদক্ষেপটি মাইএসকিএল সার্ভার পুনরায় চালু করা (উবুন্টুতে)

stop mysql

start mysql

বা #/etc/init.d/mysql restartঅন্যান্য সিস্টেমের জন্য

এখন মাইএসকিউএল ডাটাবেস দ্বারা দূরবর্তীভাবে অ্যাক্সেস করা যেতে পারে:

mysql -u username -h 192.168.0.116 -p

/etc/init.d/mysql reloadপর্যাপ্ত হওয়া উচিত
লোরেঞ্জ লো Sauer

আমি কেবল এটি করেছি এবং মাইএসকিএল সার্ভারের সাথে দূরবর্তীভাবে সংযোগ করতে পারিনি। আমি তখন বাইন্ড-ঠিকানাগুলি মন্তব্য করার চেষ্টা করেছি এবং এটি কার্যকর হয়েছিল। আমি হোস্টটি নির্দিষ্ট না করে mysql -u <ব্যবহারকারীর -p দিয়ে সার্ভারে লগইন করার চেষ্টা করেছি এবং এটি কাজ করেছে, সুতরাং দেখা যাচ্ছে যে "আপনি যদি লোকালহোস্ট (127.0.0.1) বাঁধাই সরিয়ে ফেলতে পারেন তবে আপনি বিশেষত স্থানীয় মেশিনে সার্ভার অ্যাক্সেসের জন্য একটি আইপি ঠিকানা দিন " সঠিক নয়. (উবুন্টু 12.04 এলটিএস সার্ভার মাইএসকিএল ভের 14.14 ডিস্ট্রিবি 5.5.34)
প্রোগ্রামার

5
ডিরেক্টরিটি bind-addressমাইএসকিএল সার্ভারের আইপি ঠিকানাটি নির্ধারণ করে; সার্ভারের সংযোগগুলি গ্রহণ করে এমন IP ঠিকানা নয়
GoZoner

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 प्रशंसा234 এর মতো ঠিকানা সরবরাহ করা কি সম্ভব?
বাইলাস

26

যে কারও সাথে এটি নষ্ট হয়েছে, এখানে আমি কীভাবে সুযোগসুবিধা প্রদান করেছি, আশা করি এটি কাউকে সহায়তা করবে

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

উল্লিখিত %হিসাবে একটি ওয়াইল্ডকার্ড এবং এটি কোনও আইপি ঠিকানা আপনার ডাটাবেসের সাথে সংযোগ করার অনুমতি দেবে। আমি এখানে যে ধারণাটি করেছি তা হ'ল আপনি যখন সংযুক্ত হন তখন আপনার নামের একজন ব্যবহারকারী থাকবে root(যা যদিও এটি ডিফল্ট)। রুট পাসওয়ার্ডে খাওয়ান এবং আপনি যেতে ভাল। নোট করুন যে 'ব্যবহারকারীর মূলের চারপাশে আমার কোনও একক উদ্ধৃতি ( ) নেই।


ব্যবহারকারী থেকে একক উদ্ধৃতি অপসারণ কেন গুরুত্বপূর্ণ? কেন এটি অন্যান্য উত্তর (এবং ম্যানুয়াল) থেকে আলাদা?
ডিএমকোডিং

26

লোকালহোস্টের মাধ্যমে সংযোগ সক্ষম করতে কনফিগার ফাইলের পরিবর্তনগুলি প্রয়োজন।

দূরবর্তী আইপিগুলির মাধ্যমে সংযোগ স্থাপন করতে, "রুট" ব্যবহারকারী হিসাবে লগইন করুন এবং মাইএসকিএল-এ নীচের প্রশ্নগুলি চালান।

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

ব্যবহার করে আপনার মাইএসকিএল পুনরায় চালু করুন

sudo service mysql restart

এখন আপনার দূরবর্তী অবস্থানটি আপনার মাইএসকিএলে সংযোগ করতে সক্ষম হওয়া উচিত।


2
এটি প্রশ্নের উত্তর দেয় না।
চ্যারিস

1
@ ক্রিস্টোহে হারিস আপনি কেন এমন অনুভব করছেন? উত্তরটি স্পষ্টতই মাইএসকিউএলে নতুন ব্যবহারকারী তৈরি করার জন্য ধাপে ধাপে নির্দেশ দেয় যা সেই ব্যবহারকারী ব্যবহার করে লোকালহোস্ট এবং ডিবিতে দূরবর্তী অ্যাক্সেস উভয়কেই মঞ্জুরি দেয়। আপনি প্লাজে কি ব্যাখ্যা করতে পারেন?
হরিশন্নাম

1
আমার জন্য কাজ করে না। এখনও একই ত্রুটি আছে। আমি এটি রুট বা নতুন ব্যবহারকারীর দ্বারা চেষ্টা করেই থাকুক না কেন: 'xxx.xxx.xxx.xxx' এ মাইএসকিউএল সার্ভারের সাথে সংযোগ স্থাপন করতে পারে না ([এর্নো 61] সংযোগ প্রত্যাখ্যান করা হয়েছে)
বার্মাথিয়াস

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

যে কোনও আইপি ঠিকানা থেকে আপনার ব্যবহারকারীর সাথে সংযোগ রাখতে সক্ষম হতে নিম্নলিখিতগুলি করুন:

মাইএসকিএল সার্ভারকে দূরবর্তী সংযোগগুলি গ্রহণ করার অনুমতি দিন। এই ওপেন mysqld.conf ফাইলের জন্য:

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

"বাইন্ড-ঠিকানা" দিয়ে শুরু করে লাইনটি অনুসন্ধান করুন এবং এর মান 0.0.0.0 এ সেট করুন

bind-address                    = 0.0.0.0

এবং অবশেষে ফাইলটি সংরক্ষণ করুন।

দ্রষ্টব্য: আপনি মাইএসকিউএল 8+ চালাচ্ছেন, bind-addressনির্দেশটি mysqld.cnfডিফল্টরূপে ফাইলে থাকবে না । এই ক্ষেত্রে, ফাইলের নীচে দিকনির্দেশনা যুক্ত করুন /etc/mysql/mysql.conf.d/mysqld.cnf

systemdপুরানো serviceকমান্ডটি ব্যবহার করে বা ব্যবহার করে এখন mysql সার্ভারটি পুনরায় চালু করুন art এটি আপনার অপারেটিং সিস্টেমের উপর নির্ভর করে:

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

অবশেষে, মাইএসকিএল সার্ভার এখন দূরবর্তী সংযোগগুলি গ্রহণ করতে সক্ষম।

এখন আমাদের একটি ব্যবহারকারী তৈরি করা এবং এটির অনুমোদন দেওয়া দরকার, যাতে আমরা দূরবর্তী অবস্থান থেকে এই ব্যবহারকারীর সাথে লগইন করতে সক্ষম হতে পারি।

রুট হিসাবে মাইএসকিউএল ডাটাবেস, বা রুট সুবিধার্থে অন্য কোনও ব্যবহারকারীর সাথে সংযুক্ত করুন।

mysql -u root -p

এখন লোকালহোস্ট এবং '%' ওয়াইল্ডকার্ড উভয় ক্ষেত্রেই কাঙ্ক্ষিত ব্যবহারকারী তৈরি করুন এবং সমস্ত ডিবি-তে যেমন অনুমতি দিন grant

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 মাইএসকিউএল ট্র্যাফিকের অনুমতি দিতে আপনাকে মাইএসকিউএল এর ডিফল্ট বন্দরটিও ।

আশাকরি এটা সাহায্য করবে ;)


2
sudo systemctl পুনঃসূচনা mysqld.service ডেবিয়ান জন্য, আমি sudo systemctl পুনঃসূচনা mysql ব্যবহার করতে হয়েছিল.উবার্টস উবুন্টুর জন্য
ani0904071

আমি আমার উত্তর আপডেট করেছি এবং উভয় ডিস্ট্রোয়ের জন্য মাইএসকিএল পুনঃসূচনা কমান্ড যুক্ত করেছি। ধন্যবাদ @ ani0904071
ইমতিয়াজ শাকিল সিদ্দিক

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

আপনি এই কমান্ডের মাধ্যমে মারিয়াডিবি সমস্যা স্লভ করতে পারেন :

বিঃদ্রঃ:

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

%একটি ওয়াইল্ডকার্ড এই ক্ষেত্রে, এটি সমস্ত আইপি ঠিকানাগুলিকে বোঝায়।


3
মাইএসকিএলে, আপনাকে যা করতে হবে তা হ'ল (1)। পরিবর্তন করুন মাই সিএনএফ কনটেন্ট (2) .গ্রান্ট রিমোট ব্যবহারকারী (3) 3306 পোর্ট শুনতে আপনার ফায়ারওয়ালের সাথে ডিল করুন।
陆家嘴 顶尖 的 投资

আপনি আমার দিন বাঁচিয়েছেন। সন্তুষ্ট!
অ্যালমেট


7

দূরবর্তী অবস্থান থেকে Mysql সার্ভার 8 অ্যাক্সেস করতে:

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

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

FLUSH PRIVILEGES;

5
  • অ্যাডমিন ব্যবহারকারী ব্যবহার করে MYSQL শুরু করুন
    • mysql -u অ্যাডমিন-ব্যবহারকারী-পি (পাসওয়ার্ডে পাসওয়ার্ড লিখুন)
  • একটি নতুন ব্যবহারকারী তৈরি করুন:
    • ব্যবহারকারীর 'নতুন ব্যবহারকারী' @ '%' দ্বারা 'পাসওয়ার্ড' সনাক্ত করুন; (% -> যে কোনও হোস্ট)
  • অনুদান প্রদান:
    • অনুদান নির্বাচন, মোছা, সংযোজন, আপডেট db_name। * 'নতুন ব্যবহারকারী' @ '%';
    • ফ্ল্যাশ বেসামালিকাগুলি;

আপনি যদি ইসি 2 চালাচ্ছেন তবে এমওয়াইএসকিউএল / অরুর সাথে সুরক্ষা গোষ্ঠীতে ইনবাউন্ড বিধিগুলি যুক্ত করতে ভুলবেন না।


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

সমস্ত লিনাক্স সার্ভার কাজ করে,

এমএসউইন সি এর জন্য: at ইনসেটালেশন অবস্থান \ ফাইলের পাথটি সন্ধান করুন


[মাইএসকিএলডি] ফাইল যুক্ত করতে হবে, অন্যথায় সঠিকভাবে কাজ করবে না
তেজস ট্যাঙ্ক

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এবং নিম্নলিখিত কমান্ডটি কার্যকর করুন (আপনার ডাটাবেসের নাম, ব্যবহারকারীর নাম এবং পাসওয়ার্ড লিখুন):

আপনার সমস্ত ডেটাবেসনামে সমস্ত মঞ্জুর করুন *

তারপরে কার্যকর করুন:

ফ্ল্যাশ বেসামালিকাগুলি;

কমান্ড লাইনটি খুলুন এবং যে /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

আপনাকে মাইএসকিএল কনফিগারেশন ফাইলটি পরিবর্তন করতে হবে:

মাইএসকিএল কনফিগারেশন ফাইল সম্পাদনা করে শুরু করুন

vim /etc/mysql/my.cnf

যোগ করুন:

bind-address = 0.0.0.0

0

সিপ্যানেলের মতো ওয়েবসাইট প্যানেলে আপনি %আপনার মাইএসকিউএল ডাটাবেস অ্যাক্সেসের জন্য অনুমোদিত হোস্টনামগুলিতে একটি একক (শতাংশ সাইন) যুক্ত করতে পারেন।

একটি একক যুক্ত করে %আপনি কোনও আইপি বা ওয়েবসাইট থেকে ডেস্কটপ অ্যাপ্লিকেশন থেকে আপনার ডাটাবেস অ্যাক্সেস করতে পারেন।


কোনও সরল কোয়েরি উপস্থাপন করা হলে দয়া করে
সিপ্যানেলের মতো জিনিসটিকে উল্লেখ

আপনার প্রতিক্রিয়াটির জন্য আপনাকে ধন্যবাদ এই পদ্ধতি / কৌশলটি আমার দ্বারা উদ্ভাবিত হয়নি (এটি ইন্টারনেটে প্রচলিত)। তবে আমি এই পদ্ধতির অন্যতম পরীক্ষক এবং আমি খুঁজে পেলাম যে এটি সবচেয়ে সহজ এবং কার্যকরী পদ্ধতি কারণ আমি এখানে পোস্ট করেছি। আমি জানি যে এই পদ্ধতিতে কিছু সুরক্ষা ঝুঁকি রয়েছে যা উপেক্ষা করা যেতে পারে।
মুহাম্মদ সাকিব

0

উদাহরণস্বরূপ আমার CentOS এ

sudo gedit /etc/mysql/my.cnf

নিম্নলিখিত লাইন মন্তব্য

# বাইন্ড-ঠিকানা = 127.0.0.1

তারপর

sudo পরিষেবা mysqld পুনরায় আরম্ভ করুন


0

আপনি যদি কোনও আইপি ঠিকানা থেকে আপনার ডাটাবেসের দূরবর্তী অ্যাক্সেস দিতে চান তবে মাইএসকিএল কমান্ড চালান এবং তারপরে নিম্নলিখিত কমান্ডটি চালান।

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

তারপরে মাইএসকিএল ডিমন পুনরায় চালু করা হচ্ছে:

service mysql restart

-7

আপনি /etc/my.cnf সম্পাদনা করে সমস্ত সুরক্ষা অক্ষম করতে পারেন:

skip-grant-tables

এটি সমস্ত পাসওয়ার্ডের প্রয়োজনীয়তাগুলি সরিয়ে দেয়
ক্রিস্টোপলাস

5
মনে রাখবেন যে উত্পাদন বিকল্প পরিবেশে এই বিকল্পটি সক্ষম করা ভাল নয়, কারণ এটি যে কাউকে পাসওয়ার্ড ছাড়াই সংযোগ করতে দেয়!
অ্যাসোথার

তবে এটি কোনও দেব পরিবেশের জন্য আদর্শ
ডিএমকোডিং

এটি কোনও পাসওয়ার্ড ব্যবহার না করেই লোকেরা আপনার ডাটাবেস হ্যাক করতে দেয়।
মিলকিওয়াই 90

@ ড্যানিয়েল জেমস এমনকি উন্নয়নের পরিবেশের জন্য এটি একটি ভয়ানক ধারণা
ড্রাগস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.