হোস্ট 'xxx.xx.xxx.xxx' এই মাইএসকিউএল সার্ভারের সাথে সংযোগ করার অনুমতি নেই


667

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

হিসাবে সংযোগ করা

mysql -u root -h localhost -p  

ঠিক আছে, কিন্তু চেষ্টা করে

mysql -u root -h 'any ip address here' -p

ত্রুটি সঙ্গে ব্যর্থ

ERROR 1130 (00000): Host ''xxx.xx.xxx.xxx'' is not allowed to connect to this MySQL server

ইন mysql.userটেবিল, সেখানে ঠিক হোস্ট '%' এর সাথে হোস্ট 'স্থানীয় হোস্ট' অন্য হিসাবে ব্যবহারকারী 'রুট' এর জন্য একই এন্ট্রি।

আমি আমার ক্ষমতার শেষে এসেছি, কীভাবে এগিয়ে যাব তার কোনও ধারণা নেই। যে কোনও ধারণা স্বাগত।


সুরক্ষার সতর্কতার কারণে বেশিরভাগ পরিস্থিতিতে রুট হিসাবে লগইন করা যায় না ..
এও_

উত্তর:


815

সম্ভবত কোনও নিরাপত্তা সতর্কতা। আপনি একটি নতুন প্রশাসক অ্যাকাউন্ট যুক্ত করার চেষ্টা করতে পারেন:

mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
    ->     WITH GRANT OPTION;
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
    ->     WITH GRANT OPTION;

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

সম্পাদনা:

মাইএসকিউএল এফএকিউ থেকে:

আপনি যদি অ্যাক্সেস অস্বীকৃত হন তা যদি বুঝতে না পারেন, তবে ওয়াইল্ডকার্ডগুলি ('%' বা '_' অক্ষরযুক্ত এন্ট্রি) সহ হোস্ট মান রয়েছে এমন সমস্ত প্রবেশকারীর ব্যবহারকারীর টেবিলটি সরিয়ে ফেলুন। হোস্ট = '%' এবং ব্যবহারকারী = 'কিছু_ ব্যবহারকারী' এর সাথে একটি নতুন এন্ট্রি সন্নিবেশ করানো একটি খুব সাধারণ ত্রুটি, এটি আপনাকে একই মেশিন থেকে সংযোগ করার জন্য লোকালহোস্ট নির্দিষ্ট করার অনুমতি দেয়। এটি কাজ না করার কারণটি হ'ল ডিফল্ট সুবিধাগুলিতে হোস্ট = 'লোকালহোস্ট' এবং ব্যবহারকারী = '' এর সাথে একটি এন্ট্রি অন্তর্ভুক্ত থাকে। কারণ যে এন্ট্রিটিতে একটি হোস্ট মান 'লোকালহোস্ট' রয়েছে যা '%' এর চেয়ে বেশি নির্দিষ্ট, এটি লোকালহোস্ট থেকে সংযোগ করার সময় নতুন এন্ট্রির অগ্রাধিকার হিসাবে ব্যবহৃত হয়! সঠিক পদ্ধতিটি হোস্ট = 'লোকালহোস্ট' এবং ব্যবহারকারী = 'কিছু_ ব্যবহারকারী' এর সাথে একটি দ্বিতীয় এন্ট্রি sertোকানো হয়, বা হোস্ট = 'লোকালহোস্ট' এবং ব্যবহারকারী = '' দিয়ে এন্ট্রি মুছতে। এন্ট্রি মোছার পরে, অনুদানের টেবিলগুলি পুনরায় লোড করতে একটি FLUSH PRIVILEGES বিবৃতি জারি করতে ভুলবেন না। বিভাগ 5.4.4, "অ্যাক্সেস নিয়ন্ত্রণ, প্রথম পর্যায়: সংযোগ যাচাইকরণ" দেখুন।


17
ভাল ধরা ইয়ানিক, তবে আমি তাকে কোনও অ-রুট ব্যবহারকারীকে সমস্ত সুযোগ সুবিধা দেওয়ার সুপারিশ করব না। সম্ভবত একটি হ্রাস সেট?
কোরি বলিউ

3
ঠিক আছে, এটি আসলে একটি ভাল ধারণা হবে না, তবে 'হোস্ট' সমস্ত হোস্টের সাথে সংযোগ স্থাপনের অনুমতিটি হুবহু এক, কারণ এটি একই সুবিধার স্তরে।
ইয়ানিক মটন

2
আমার মনে হয় আপনি আমার কথাটি পাস্কেল মিস করেছেন। মুল বক্তব্যটি হ'ল 'রুট' ব্যবহারকারীর এই অধিকারগুলি ইতিমধ্যে রয়েছে এবং তিনি কোনও আইপি-কে সেই ব্যবহারকারী হিসাবে প্রমাণীকরণ করতে চান। তাই যদি তিনি সত্যিই এটি চান তবে নতুন প্রশাসক ব্যবহারকারী তৈরি করার ডিফল্ট উদাহরণ (যার ঠিক একই অধিকার রয়েছে) তিনি যা চেষ্টা করছেন তার বিকল্প।
ইয়্যানিক মটন

2
এটা ঠিক ইয়ানিক, আমি উপোস করতে পড়ি এবং আমার মন্তব্য সরিয়ে ফেলব। যাইহোক, এএফআইএকি, মাইএসকিউএল এ অনুমতিগুলি ঠিকঠাকভাবে কাজ করছে: ১. সম্ভবত ওপি অনুদানের টেবিলগুলিকে ম্যানুয়ালি সংশোধন করেছে এবং তারপরে সুযোগ সুবিধাগ্রস্ত করতে হবে। ২. সম্ভবত তিনি মূলের জন্য সঠিক অনুদান বাক্য গঠন ব্যবহার করেন নি। অন্য প্রশাসনিক ব্যবহারকারীর সংযোজন হতে পারে একটি বিপরীত কাজ তবে এটি আসল ইস্যু IMHO সমাধান করবে না solve
পাস্কাল থিভেন্ট

1
আমি অনুভব করেছি যে সমস্ত হোস্ট থেকে রুটে অ্যাক্সেস সরবরাহ করা কোনও সঠিক সমাধান নয়। পরিবর্তে আমি একটি নতুন ব্যবহারকারী তৈরি করেছি এবং সুবিধার একটি হ্রাস সেট মঞ্জুর করেছি, আমার ব্যবহৃত সেটটি মাইএসকিউএল ওয়ার্কবেঞ্চে 'ডিবিম্যানেজার' হিসাবে বর্ণনা করা হয়েছে। আমি কেবলমাত্র আমার স্থানীয় নেটওয়ার্কে, বিশেষত 192.168.0% এর হোস্টের একটি নির্দিষ্ট গ্রুপ থেকে অ্যাক্সেসের অনুমতি পেয়েছি%%
গুস্তাভো গুয়েভারা

271

একজনকে পিএইচপিএমআইএডমিন বা কমান্ড প্রম্পটের মাধ্যমে new MySQL Userনীচে হিসাবে একটি তৈরি করতে হবে এবং অধিকার প্রদান করতে হবে Query prompt:

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;

চারটি প্রশ্নের সাথে একবার করা শেষ হয়ে গেলে এটির সাথে সংযুক্ত হওয়া উচিত username / password


5
এটি আমার জন্য কাজ করার জন্য উপরের পদক্ষেপগুলি সম্পন্ন করার পরে মাইএসকিএল পুনরায় চালু করতে হয়েছিল।
টোলবোথ

আপনার কি ব্যবহারকারীর নাম @ লোকালহোস্ট তৈরি করতে হবে? আপনি যদি কেবল%% ব্যবহারকারী নাম তৈরি করেন তবে তা কি যথেষ্ট নয়? আমি বলতে চাইছি, আপনি যদি কেবল @% ব্যবহারকারীনাম তৈরি করেন, আপনি কি লোকালহোস্ট থেকে সেই ব্যবহারকারীর সাথে সংযোগ রাখতে সক্ষম হবেন না?
সোরিন পোষ্টেলনিকু

1
হ্যাঁ সুযোগ তৈরি @localhostকরার অর্থ হ'ল যদি সুযোগগুলি একরকমভাবে আলাদা হত তবে এখানে সেগুলি একই রকম হয় এবং এটি সম্ভবত যে কোনও কিছুর চেয়ে আরও বিভ্রান্তিকর হতে চলেছে (যেমন অন্যটির উপস্থিতি বুঝতে না পেরে একটিতে পাসওয়ার্ড পরিবর্তন করা এবং আপনার লগইন সেইটিকে আঘাত করতে পারে )।
ব্র্যাচলে 1

শিক্ষানবিস হিসাবে এটি আমাকে সত্যিই সাহায্য করেছিল
মুহাম্মদ নায়ব

1
ধন্যবাদ এটি সমাধান করে আমার "এসকিউএলস্টেট [এইওয়াই 1000] [১১৩০] হোস্ট 'ডেস্কটপ-এক্সএক্সএক্সএক্সএক্সএক্স] উইন্ডোতে কনটেইনযুক্ত লারাভেল অ্যাপ্লিকেশনটিতে এই মারিয়াডিবি সার্ভারের সাথে সংযোগ করার অনুমতি নেই
জুলকারনাইন

117

আমার ত্রুটির বার্তাটি অনুরূপ ছিল এবং বলেছিল যে আমি হোস্ট এক্সএক্সএক্স এই মাইএসকিউএল সার্ভারের সাথে সংযুক্ত হওয়ার অনুমতি নেই 'যদিও আমি মূল ব্যবহার করছি using এখানে যে রুটটির সঠিক অনুমতি রয়েছে তা কীভাবে নিশ্চিত করা যায় তা এখানে।

আমার সেটআপ :

  • উবুন্টু 14.04 এলটিএস
  • মাইএসকিউএল v5.5.37

সমাধান

  1. 'ইত্যাদি / mysql / my.cnf' এর অধীনে ফাইলটি খুলুন
  2. অনুসন্ধানের জন্য:

    • পোর্ট (ডিফল্টরূপে এটি 'পোর্ট = 3306')
    • বাইন্ড-ঠিকানা (ডিফল্টরূপে এটি 'বাইন্ড-ঠিকানা = 127.0.0.1'; আপনি যদি সবার জন্য খুলতে চান তবে কেবল এই লাইনটি মন্তব্য করুন my আমার উদাহরণস্বরূপ, আমি বলব প্রকৃত সার্ভারটি 10.1.1.7 এ রয়েছে)
  3. এখন আপনার আসল সার্ভারে মাইএসকিউএল ডেটাবেস অ্যাক্সেস করুন (বলুন যে আপনার দূরবর্তী ঠিকানাটি 123.123.123.123 পোর্ট 3306 এ ব্যবহারকারী 'রুট' হিসাবে রয়েছে এবং আমি ডাটাবেসরী ডাটাবেসিতে অনুমতি পরিবর্তন করতে চাই। আইপি ঠিকানা, পোর্ট এবং ডাটাবেসের নাম পরিবর্তন করতে ভুলবেন না আপনার সেটিংসে)

    mysql -u root -p
    Enter password: <enter password>
    mysql>GRANT ALL ON *.* to root@'123.123.123.123' IDENTIFIED BY 'put-your-password';
    mysql>FLUSH PRIVILEGES;
    mysql>exit
  4. sudo পরিষেবা mysqld পুনরায় আরম্ভ করুন

  5. আপনার এখন আপনার ডাটাবেসের সাথে দূরবর্তী সংযোগ করতে সক্ষম হওয়া উচিত। উদাহরণস্বরূপ, আমি মাইএসকিউএল ওয়ার্কবেঞ্চ ব্যবহার করছি এবং 'হোস্টনাম: 10.1.1.7', 'পোর্ট: 3306', 'ব্যবহারকারীর নাম: মূল'

1
আপনি use dataentryলাইনটি এড়িয়ে যেতে পারেন (যেহেতু বেশিরভাগ লোকের ডেটাবেস তৈরি হবে না)।
Jedidja

3
আমি mysqlপরিষেবাটি পুনরায় আরম্ভ না করেই এটি করতে পেরেছিলাম
রায়ান টাক

5
FLUSH PRIVILEGESআপনাকে পুনরায় আরম্ভ করার দরকার নেই should
আদম বি

এটি সার্ভিসটি আরম্ভ না করে উইন্ডোজ 10 এ মাইএসকিউএল 5.5 এর জন্য ফ্লুশ বেসামরিক সংখ্যার সাথে কাজ করেছিল। উইন্ডোজে, পরিষেবার বৈশিষ্ট্যগুলি কনফিগারেশনের জন্য ব্যবহৃত my.ini ফাইলটি সনাক্ত করতে হবে (সম্পত্তি | সাধারণ | কার্যকর করার পথে)
ফ্রি টেক্সট

আমি ধরে নিয়েছি যে বাইন্ড-ঠিকানা = "0.0.0.0" নির্দিষ্ট করে এটি সমস্ত ইন্টারফেসে শুনবে এবং দূরবর্তী সংযোগগুলি কাজ করবে তবে আমি ভুল ছিলাম। হ্যাঁ, নেটস্যাটটি দেখিয়েছে যে মাইএসকিএল 0.0.0.0 (সমস্ত ইন্টারফেস) শুনছে তবে আমি প্রশ্নের শিরোনামে ত্রুটি পাচ্ছি। আমি একবার বাইন্ড-ঠিকানা লাইন সম্পূর্ণরূপে সরিয়ে ফেললে, এটি কাজ শুরু করে। রহস্যময়।
হেনো

71

আপনাকে কোনও হোস্টনাম থেকে ব্যবহারকারীর অ্যাক্সেস দিতে হবে to

এইভাবে আপনি phpmyadmin থেকে নতুন সুবিধা যুক্ত করুন

যান বিশেষাধিকার> একটি নতুন ব্যবহারকারী যুক্ত করুন

এখানে চিত্র বর্ণনা লিখুন

পছন্দসই ব্যবহারকারীর নামের জন্য যে কোনও হোস্ট নির্বাচন করুন

এখানে চিত্র বর্ণনা লিখুন


65

কেবল নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:

1 এ) মাইএসকিএলে কানেক্ট করুন (লোকালহোস্টের মাধ্যমে)

mysql -uroot -p

1 বি) যদি myslq সার্ভারটি কুবারনেটসে (কে 8 এস) চলছে এবং নোডপোর্টের মাধ্যমে অ্যাক্সেস করা হচ্ছে

kubectl exec -it [pod-name] -- /bin/bash
mysql -uroot -p

2) ব্যবহারকারী তৈরি করুন

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

3) অনুমতি অনুদান

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

4) ফ্ল্যাশ প্রাইভেলিজ

FLUSH PRIVILEGES;

3
ত্রুটি 1045 (28000): ব্যবহারকারীর 'রুট' @ 'লোকালহোস্ট' (পাসওওয়াইস ব্যবহার করে) এর জন্য অ্যাক্সেস অস্বীকার করা হয়েছে ওয়াই
গ্যাঙ্ক

11
হতে হবে *.* ?
sgarg

26

বার্তাটি *Host ''xxx.xx.xxx.xxx'' is not allowed to connect to this MySQL serverমাইএসকিউএল সার্ভার থেকে মাইএসকিউএল ক্লায়েন্টের একটি উত্তর। এটি কীভাবে আইপি ঠিকানাটি ফেরত পাঠাবে এবং হোস্টনামটি নয় তা লক্ষ্য করুন।

আপনি যদি সাথে যোগাযোগ করার চেষ্টা করছেন mysql -h<hostname> -u<somebody> -p এবং এটি এই বার্তাটি আইপি ঠিকানার মাধ্যমে ফেরত দেয় তবে মাইএসকিউএল সার্ভার ক্লায়েন্টের বিপরীতে অনুসন্ধান করতে সক্ষম হয় না। এটি গুরুত্বপূর্ণ কারণ এটি মাইএসকিউএল ক্লায়েন্টকে অনুদানের জন্য কীভাবে মানচিত্র করে ts

আপনি nslookup <mysqlclient>মাইএসকিউএল সার্ভার থেকে একটি করতে পারেন তা নিশ্চিত করুন । যদি এটি কাজ না করে, তবে ডিএনএস সার্ভারে কোনও প্রবেশ নেই। বিকল্পভাবে, আপনি মাইএসকিউএল সার্ভারের HOSTS ফাইলে একটি এন্ট্রি রাখতে পারেন ( <ipaddress> <fullyqualifiedhostname> <hostname><- এখানে অর্ডারটি বিবেচনা করে)।

আমার সার্ভারের হোস্ট ফাইলে একটি এন্ট্রি মাইএসকিউএল ক্লায়েন্টের বিপরীত অনুসন্ধানের অনুমতি দেয় এটি খুব সমস্যার সমাধান করে।


1
"মাইএসকিউএল সার্ভার থেকে মাইএসকিউএল ক্লায়েন্টের একটি উত্তর।" আপনাকে ধন্যবাদ, আমি ভাবছিলাম যে ত্রুটিটি আমার মেশিন বা সার্ভারটি কোথা থেকে এসেছিল। আমার "ERROR 1130 (HY000):" ইত্যাদি ত্রুটি রয়েছে
পিজে ব্রুনেট


16

আপনি যদি অনুদানের টেবিলগুলি ম্যানুয়ালি সংশোধন করেন (INSERT, UPDATE ইত্যাদি ব্যবহার করে), আপনার একটি কার্যকর করা উচিত FLUSH PRIVILEGES অনুদানের টেবিলগুলি পুনরায় লোড করতে সার্ভারকে বলার বিবৃতি ।

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


4

মাইএসকিএল এর জিইউআই সরঞ্জাম (এসকিউএলজি) দ্বারা সরবরাহিত ইন্টারফেসটি কেবল ব্যবহার করুন:

ব্যবহারকারী পরিচালকের উপর ক্লিক করুন: এখানে চিত্র বর্ণনা লিখুন

এখন, আপনি যদি অন্য কোনও রিমোট পিসির জন্য অ্যাক্সেস দিতে চান তবে কেবল নিশ্চিত করুন যে নীচের চিত্রের মতো হোস্ট ফিল্ডের মান% (যা ওয়াইল্ডকার্ড)

এখানে চিত্র বর্ণনা লিখুন


4

এখানে বেশিরভাগ উত্তর আপনাকে দুটি হোস্ট মান সহ ব্যবহারকারী তৈরি করতে দেখায়: একটির জন্য localhostএবং একটির জন্য %

দয়া করে মনে রাখবেন যে রুটের মতো বিল্ট-ইন লোকালহোস্ট ব্যবহারকারী ব্যতীত আপনার এটি করার দরকার নেই। আপনি যদি কোনও নতুন ব্যবহারকারী তৈরি করতে চান যা যে কোনও জায়গা থেকে লগ ইন করতে পারে তবে আপনি ব্যবহার করতে পারেন

CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypassword';
GRANT <whatever privileges are appropriate> ON <relevant tables> TO myuser;

এবং এটি ঠিক কাজ করবে। (অন্যরা যেমন উল্লেখ করেছে যে কোনও ডোমেনের ব্যবহারকারীর প্রশাসনিক সুযোগ সুবিধা দেওয়া ভয়ানক ধারণা))


3

সরল উপায় হ'ল রুট অ্যাকাউন্টের সাথে পিএইচপিএমইডমিনে লগইন করা, সেখানে মাইএসকিএল ডাটাবেস এবং ব্যবহারকারী সারণি নির্বাচন করা, সেখানে রুট অ্যাকাউন্ট সম্পাদনা এবং হোস্ট ফিল্ডে% ওয়াইল্ড কার্ড যুক্ত করা। এবং তারপরে ssh ফ্লাশ সুবিধাগুলির মাধ্যমে

 FLUSH PRIVILEGES;

এটি আমাকে এর সাথে সম্মিলিত করতে সহায়তা করেছে: সমস্ত প্রাইভেটস চালু করুন অনুদান বিকল্পের সাথে 'রুট' @ '%' করতে;
লঙ্কলাস

2

এটি যদি সাম্প্রতিক মাইএসকিএল ইনস্টল হয়, তবে অন্য কিছু পরিবর্তন করার আগে এই আদেশটি কার্যকর করার চেষ্টা করুন এবং আবার চেষ্টা করুন:

flush privileges;

এটি কেবলমাত্র আমার জন্য উবুন্টু 16.04, মাইএসকিএল 5.7.20 এ সমস্যার সমাধান করে। YMMV।


2

আপনার হোস্টিং কন্ট্রোল প্যানেল থেকে এটি করার জন্য আরও একটি ভাল উপায় সন্ধান করুন (আমি এখানে ডিরেক্টএডমিন ব্যবহার করছি)

আমার ক্ষেত্রে কেবল আপনার কন্ট্রোল প্যানেলে লক্ষ্য সার্ভার ডিবিতে যান: মাইএসকিউএল পরিচালন -> আপনার ডিবি নির্বাচন করুন -> আপনি পাবেন: "অ্যাক্সেস হোস্টগুলি", কেবল এখানে আপনার দূরবর্তী হোস্ট যুক্ত করুন এবং এটি এখন কাজ করছে! এখানে চিত্র বর্ণনা লিখুন

আমি অনুমান করি যে অন্যান্য সিপেনেলগুলিতে প্লেস্ক ইত্যাদির মতো একই বিকল্প রয়েছে ..

আমি আশা করি এটি আপনার পক্ষেও সহায়ক ছিল।


2

ঠিক আছে, উপরের উত্তরগুলির কিছুই আমার পক্ষে কার্যকর হয়নি। অনেক গবেষণার পরে, আমি একটি সমাধান খুঁজে পেয়েছি। যদিও আমি দেরিতে হতে পারি এটি ভবিষ্যতে অন্যকে সহায়তা করতে পারে।

টার্মিনাল থেকে আপনার এসকিউএল সার্ভারে লগইন করুন

 mysql -u root -p
 -- root password
GRANT ALL ON *.* to root@'XX.XXX.XXX.XX' IDENTIFIED BY 'password';

এটির অনুমতি সংক্রান্ত সমস্যাটি সমাধান করা উচিত।

ত্রুটি সমাধানের আগে

সমস্যা সমাধানের পরে

শুভ কোডিং !!


1

ঠিক আছে আপনি যা করতে পারেন তা কেবল mysql.cfg ফাইলটি খুলুন এবং আপনাকে এটির জন্য বাইন্ড-ঠিকানা পরিবর্তন করতে হবে

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

এবং তারপরে mysql পুনরায় আরম্ভ করুন এবং আপনি যে সার্ভারটি এটিতে সংযোগ করতে সক্ষম হবেন।

এই দেখুন আপনি ধারণা ফর্ম যে থাকতে পারে।

এটি আসল সমাধান


3
এটি সম্পর্কিত, তবে একই সমস্যা নয়। মূলত প্রাপ্ত ত্রুটিটি ইঙ্গিত করে যে ক্লায়েন্টটি মাইএসকিউএল সার্ভারের সাথে সফলভাবে সংযুক্ত হচ্ছে, তবে প্রমাণীকরণ ব্যর্থ হচ্ছে। যদি বাইন্ড-ঠিকানাটি 127.0.0.1 এ সেট করা থাকে, আপনি পরিবর্তে কোনও সংযোগ অস্বীকার করার ত্রুটি পেয়ে যাবেন।
অ্যাক্সন

তবে এটি এমন ঠিকানা যা সমস্ত হোস্টকে না সার্ভারের সাথে সংযুক্ত হওয়ার অনুমতি দেবে?
কিশান ভীমাজিয়ানী

তবে ব্যবহারকারীকে সমস্ত অনুমতি প্রদান করা সেই বিকোজের পক্ষে বুদ্ধিমান বিকল্প হবে না যদি আপনার ক্লায়েন্ট ব্যবহারকারী থাকে এবং আপনাকে সমস্ত অনুমতি নিয়ে ব্যবহারকারী তৈরি করার অনুমতি না দেয় তবে সমাধান কী হবে?
কিশান ভীমাজিয়ানি

1

যদি আপনি উইন্ডোজ চলমান হতে পারে; মাইএসকিউএল সার্ভারের উদাহরণ কনফিগারেশন উইজার্ডটি চালানো একটি সহজ সমাধান। এটি স্টার্ট মেনুতে আপনার MYSQL গ্রুপে রয়েছে। শেষ পর্দা থেকে দ্বিতীয় দিকে "দূরবর্তী মেশিনগুলি থেকে রুট অ্যাক্সেসের অনুমতি দিন" বলছে এমন বাক্সটি ক্লিক করুন।


1

আপনার যদি ডাব্লুএএমপি সার্ভার + উইন্ডোজ 10 থাকে এবং আপনি এটি ওয়্যাম্প আইকন => Wamp Settings=> এ ডান ক্লিকের তুলনায় উন্নয়নের জন্য ব্যবহার করছেনCheck Allow Virtual Hosts other than 127* এখানে চিত্র বর্ণনা লিখুন


0

আমিও একই সমস্যার মুখোমুখি ছিলাম। আমি এটি 2 মিনিটের মধ্যে সমাধান করেছি আমার জন্য আমি সিপেনেলের মাধ্যমে কেবল সাদা আইপি তালিকাতে

ধরুন আপনি সার্ভার বি থেকে সার্ভার বি এর ডেটাবেস সংযোগের চেষ্টা করছেন। সার্ভার বি যান এসপ্যানেল-> রিমোট মাইএসকিউএল-> সার্ভারের একটি আইপি ঠিকানা লিখুন এবং এটিই।


0

এই উত্তর কারও সাহায্য করতে পারে ...

এই সমস্ত উত্তর সাহায্য করতে পারে না, তখন আমি বুঝতে পেরেছিলাম যে আমি একটি গুরুত্বপূর্ণ বিষয় পরীক্ষা করতে ভুলে গেছি .. বন্দর :)

আমার কাছে একটি পৃথক বন্দরে চলছে একটি ডকার পাত্রে মাইএসকিএল চলছে। আমি 3306 পোর্টে আমার হোস্ট মেশিনটির দিকে ইঙ্গিত করছিলাম, যা আমার কাছে একটি মাইএসকিএল সার্ভার চলছে। আমার ধারক 33060 পোর্টে সার্ভার উন্মোচিত করে So তাই এই সময়টি আমি ভুল সার্ভারটির দিকে চেয়েছিলাম! Doh!


0
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

এই ত্রুটিটি কারণ রুটে কোনও পাসওয়ার্ড নেই, এবং বাইরে থেকে সংযোগ দেওয়ার চেষ্টা করার সময় এটি আপনার সাথে ঘটতে পারে।


0

CPANEL সমাধান

সিপ্যানেলে যান, রিমোট মাইএসকিউএল সন্ধান করুন। ইনপুট ক্ষেত্রে আইপি যুক্ত করুন:

হোস্ট (% ওয়াইল্ডকার্ড অনুমোদিত)

আইপি কি তা মনে রাখার জন্য মন্তব্য করুন। এটা আমার জন্য ছিল।


0

এটি ভবিষ্যতের যে কোনও রিমোট মাইএসকিএল সংযোগের জন্য কাজ করছে!

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

বাইন্ড-ঠিকানা নির্দেশের সাথে শুরু হওয়া লাইনে নেভিগেট করুন। এটিকে ঐটির মত দেখতে হবে:

    bind-address            = 0.0.0.0

রুট টার্মিনাল হিসাবে আপনার mysql এ লগইন করুন

    mysql -u root -p
    -- root password

    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;

    EXIT;

অবশেষে নিম্নলিখিত কমান্ডের সাহায্যে দূরবর্তী অবস্থান থেকে ডাটাবেসে সংযোগ করার জন্য সেই মেশিনকে একচেটিয়া অনুমতি দিন।

    sudo ufw allow from remote_IP_address to any port 3306

-1

এই সমস্যার মুখোমুখি কেউ যদি এসকিউএলওগের মধ্যে থেকে এটির অভিজ্ঞতা নিচ্ছে, তখন এটি ঘটেছিল:

আমি দূরবর্তী ডাটাবেসের সাথে সংযুক্ত হয়েছি (এসকিউএলওগের মধ্যে থেকে) এবং কয়েক ঘন্টা কাজ করেছি। এরপরে আমি সিস্টেমটি কয়েক মিনিটের জন্য রেখেছিলাম, তারপরে আমার কাজ চালিয়ে ফিরে এসেছি - ERROR 1130 ! কিছুই আমি চেষ্টা চেষ্টা করে; SQLyog পুনরায় আরম্ভ করা এটি ঠিক করে নি। তারপরে আমি সিস্টেমটি পুনরায় চালু করেছি - এটি এখনও কার্যকর হয়নি।

তাই আমি টার্মিনাল থেকে সংযোগ দেওয়ার চেষ্টা করেছি - এটি কাজ করে। তারপরে এটি এসকিউএলওগে আবার চেষ্টা করুন ... এবং এটি কার্যকর হয়েছে। আমি এটিকে 'এলোমেলো কম্পিউটারের কৌতূহল' ছাড়া আর ব্যাখ্যা করতে পারি না তবে আমি মনে করি এটি কারওর পক্ষে সহায়তা করতে পারে।


-1

আপনি যদি সংযোগের সংজ্ঞায়নের সাথে মাইএসকিএল কোয়েরি সম্পাদন করার চেষ্টা করছেন, আপনি এই ত্রুটিটি পাবেন।

সম্ভবত আপনি কার্যকর করার আগে সংযোগের স্ট্রিং সংজ্ঞা দিতে ভুলে গেছেন। আপনি কি এটি পরীক্ষা করে দেখেছেন? (খারাপ ইংরেজির জন্য দুঃখিত)


-1

সমস্যা: রুট @ লোকালহোস্ট ওপেনসুএস 42.2-1.150.x86_64 এ মাইএসকিএল-সম্প্রদায়-সার্ভারের একটি নতুন ইনস্টলেশনটির সাথে সংযোগ করতে অক্ষম। মাইএসকিএল সংযোগগুলি প্রত্যাখ্যান করে - পিরিয়ড।

সমাধান:

$ ls -l /var/lib/mysql/mysql/user.*
-rw-rw---- 1 mysql mysql     0 Apr 29 19:44 /var/lib/mysql/mysql/user.MYD
-rw-rw---- 1 mysql mysql  1024 Apr 29 19:44 /var/lib/mysql/mysql/user.MYI
-rw-rw---- 1 mysql mysql 10684 Apr 29 19:44 /var/lib/mysql/mysql/user.frm

ফাইল ইউজার.ওয়াইওয়াইডি এর 0 টি আকার আছে (সত্যিই ?! )। আমি অন্য 3 টি ওয়ার্কিং সিস্টেম থেকে 3 টি ফাইল অনুলিপি করেছি।

$ /usr/sbin/rcmysql stop
$ cd /var/lib/mysql/mysql/
$ scp root@othersytem:/var/lib/mysql/mysql/user.* ./
$ /usr/sbin/rcmysql start
$ cd -
$ mysql -u root -p

আমি লগ ইন করতে সক্ষম হয়েছি Then তারপরে, এটি সমস্ত স্কিমা সুবিধাগুলি পুনরায় প্রয়োগ করার বিষয় ছিল। এছাড়াও, আপনি যদি আইপিভি 6 অক্ষম করে থাকেন তবে এটি অস্থায়ীভাবে সক্ষম করুন যাতে রুট @ :: 1 অ্যাকাউন্টটিও কাজ করতে পারে।


-1

এটি ডিরেক্টএডমিনের পক্ষে কাজ করছে ;

  1. আপনার যান DirectAdmin
  2. আপনার যান MySQL Management
  3. আপনার নির্বাচন করুন database
  4. আপনার Accesse Hostট্যাবের নীচে, একটি ক্ষেত্র আছে। আপনার এই ক্ষেত্রটি পূরণ করা উচিত xxx.xx.xxx.xx
  5. ক্লিক করুন Add Host

সম্পন্ন হয়েছে। এখন আপনি আপনার your_database_username& এর মাধ্যমে এই ডিবিতে অ্যাক্সেস করতে পারেন your_database_password
খুবই সোজা!


-3

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

আপনি যদি ব্যবহার করছেন VB.NET

এই কোডের পরিবর্তে:

 Dim server As String = My.Settings.DB_Server
 Dim username As String = My.Settings.DB_Username
 Dim password As String = My.Settings.DB_Password
 Dim database As String = My.Settings.DB_Database

 MysqlConn.ConnectionString = "server=" & server & ";" _
 & "user id=" & username & ";" _
 & "password=" & password & ";" _
 & "database=" & database

 MysqlConn = New MySqlConnection()

আপনাকে MysqlConn = New MySqlConnection()প্রথম লাইনে যেতে হবে। সুতরাং এটি এই মত হবে

 MysqlConn = New MySqlConnection()

 Dim server As String = My.Settings.DB_Server
 Dim username As String = My.Settings.DB_Username
 Dim password As String = My.Settings.DB_Password
 Dim database As String = My.Settings.DB_Database

 MysqlConn.ConnectionString = "server=" & server & ";" _
 & "user id=" & username & ";" _
 & "password=" & password & ";" _
 & "database=" & database
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.