রিমোট মাইএসকিউএল সংযোগ সক্ষম করুন: ERROR 1045 (28000): ব্যবহারকারীর জন্য অ্যাক্সেস অস্বীকৃত


136

মাইএসকিউএল 5.1.31 উইন্ডোজ এক্সপিতে চলছে।

থেকে স্থানীয় নিম্নরূপ মাইএসকিউএল সার্ভার (192.168.233.142) আমি রুট হিসাবে সংযোগ করতে পারেন:

>mysql --host=192.168.233.142 --user=root --password=redacted

একটি দূরবর্তী মেশিন (192.168.233.163) থেকে, আমি দেখতে পাচ্ছি যে মাইএসকিএল পোর্টটি খোলা আছে:

# telnet 192.168.233.142 3306
Trying 192.168.233.142...
Connected to 192.168.233.142 (192.168.233.142).

তবে যখন রিমোট মেশিন থেকে মাইএসকিএল-তে সংযোগের চেষ্টা করছিলাম , আমি পেলাম:

# mysql --host=192.168.233.142 --user=root --password=redacted
ERROR 1045 (28000): Access denied for user 'root'@'192.168.233.163' (using password: YES)

Mysql.user- এ আমার কেবল 2 টি প্রবেশ রয়েছে:

Host         User     Password
--------------------------------------
localhost    root     *blahblahblah
%            root     [same as above]

দূরবর্তী অ্যাক্সেস সক্ষম করতে আমার আর কী করা দরকার?

সম্পাদনা

নীচে পাওলোর পরামর্শ অনুসারে, আমি মাইএসকিএল.ইউজার এন্ট্রিটি% এর জন্য একটি আইপি নির্দিষ্ট এন্ট্রি দিয়ে প্রতিস্থাপন করার চেষ্টা করেছি, তাই আমার ব্যবহারকারীর টেবিলটি এখন দেখতে এটি দেখতে:

Host             User     Password
------------------------------------------
localhost        root     *blahblahblah
192.168.233.163  root     [same as above]

আমি তখন মেশিনটি পুনরায় চালু করলাম, তবে সমস্যাটি এখনও থেকেই যায়।

উত্তর:


211

আপনি এটি রুট হিসাবে রাখতে হবে:

GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'IP' IDENTIFIED BY 'PASSWORD' with grant option;

;

আইপি হ'ল আইপি যেখানে আপনি অ্যাক্সেসের অনুমতি দিতে চান, সেখানে USERNAME ব্যবহারকারী আপনি সংযোগ করতে ব্যবহার করেন এবং পাসওয়ার্ড হ'ল প্রাসঙ্গিক পাসওয়ার্ড।

আপনি যদি কোনও আইপি থেকে অ্যাক্সেসের অনুমতি দিতে চান তবে %আপনার আইপি এর পরিবর্তে রাখুন

এবং তারপরে আপনাকে কেবল লাগাতে হবে

FLUSH PRIVILEGES;

অথবা মাইএসকিএল সার্ভার পুনরায় আরম্ভ করুন এবং এটিই।


স্থানীয় মাইএসকিএল ক্লায়েন্ট ছাড়া এটি করার কোনও উপায় আছে কি?
সে.এম.সি.গিন্টি

একটি নির্দিষ্ট আইপি এর সুবিধাগুলি অপসারণ কিভাবে?
উমাইর আইয়ুব

4
stackoverflow.com/a/21151255/470749 আমাকেও সহায়তা করেছে কারণ আমার ধারণা আমার বাইন্ড-ঠিকানা সেটিংটি মন্তব্য করার প্রয়োজন। দূরবর্তী সুযোগ সুবিধা দেওয়া কাজ করার পক্ষে যথেষ্ট ছিল না।
রায়ান

8
উত্তরে ব্যাখ্যা করা হয়নি, তবে PASSWORDঅ্যাকাউন্টের পাসওয়ার্ড দিয়ে প্রতিস্থাপন করুন । আমি কেবল উপরের পরিবর্তনের চেষ্টা করেছি USERNAMEএবং IPআমি পরিবর্তন না হওয়া পর্যন্ত এটি আমার পক্ষে কার্যকর হয়নি PASSWORD
রিচার্ড পার্নবী-কিং

: এই করছেন পরে, পাশাপাশি অনুসরণ নিম্নলিখিত উত্তরে কি বলা হয় stackoverflow.com/a/21151255/445438
budhajeewa

85

আমি এটি না করা পর্যন্ত দূরবর্তী অ্যাক্সেস দেওয়ার পরেও আমি একই ত্রুটি পেয়েছিলাম:

থেকে /etc/mysql/my.cnf

মাইএসকিএল-র নতুন সংস্করণগুলিতে ফাইলটির অবস্থান /etc/mysql/mysql.conf.d/mysqld.cnf

# 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 = 127.0.0.1:)

তারপরে দৌড়াও service mysql restart


6
বা, এটিকে বাঁধাই ঠিকানায় পরিবর্তন করুন = 0.0.0.0
লোলস্কি

2
কেবল মন্তব্য করা bind-address আমার পক্ষে কার্যকর হয়নি। হয় হয় bind-address = 0.0.0.0বা bind-address = <server_ip>কাজ করে।
ছন্তিয়াল

58

মাইএসকিউএল সার্ভারে ডিফল্টভাবে দূরবর্তী অ্যাক্সেস অক্ষম করা হয়। ব্যবহারকারীর একটি দূরবর্তী অ্যাক্সেস সরবরাহ করার প্রক্রিয়াটি হ'ল।

  1. আমার এসকিএল বিন ফোল্ডারে যান বা এটিকে যুক্ত করুন PATH
  2. mysql -uroot -proot(বা মূল পাসওয়ার্ড যাই হোক না কেন) দ্বারা রুটে লগইন করুন
  3. সাফল্যে আপনি পাবেন mysql>
  4. সমস্ত ব্যবহারকারীর জন্য অনুদান অ্যাক্সেস সরবরাহ করুন।

GRANT ALL PRIVILEGES ON *.* TO 'username'@'IP' IDENTIFIED BY 'password';

এখানে আইপি হ'ল আইপি ঠিকানা যার জন্য আপনি দূরবর্তী অ্যাক্সেসের অনুমতি দিতে চান, আমরা যদি %কোনও আইপি ঠিকানা রাখি তবে দূরবর্তীভাবে অ্যাক্সেস করতে পারি।

উদাহরণ:

C:\Users\UserName> cd C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin

C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin>mysql -uroot -proot

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root';
Query OK, 0 rows affected (0.27 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.25 sec)

এটি অন্য ব্যবহারকারীর জন্য।

mysql> GRANT ALL PRIVILEGES ON *.* TO 'testUser'@'%' IDENTIFIED BY 'testUser';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

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


সর্বোত্তম বিবরণের জন্য +1, এটি আমাকে 0 rows affectedআদর্শ হিসাবে দেখতে সাহায্য করেছিল :) এছাড়াও, service mysqld restartশেষেও প্রস্তাবিত। [ mysqldকখনও কখনও ন্যায়সঙ্গত হয় mysql)
নাথন ডর্টম্যান

# দ্রষ্টব্য: 5.6+ সংস্করণটির জন্য, "সমস্ত কিছু প্রদান করুন ..." ব্যবহার করুন (সুযোগ-সুবিধা ছাড়াই)
নিক ম্যানারিন

21

পাওলোর সহায়তা আমাকে সমাধানের দিকে নিয়ে যায়। এটি নিম্নলিখিতগুলির সংমিশ্রণ ছিল:

  • পাসওয়ার্ডে একটি ডলার চিহ্ন রয়েছে
  • আমি একটি লিনাক্স শেল থেকে সংযোগ দেওয়ার চেষ্টা করছিলাম

বাশ শেল পরিবেশের পরিবর্তনশীল প্রসারণের জন্য ডলার সাইনকে একটি বিশেষ চরিত্র হিসাবে বিবেচনা করে , তাই আমাদের এটি ব্যাকস্ল্যাশ সহ এড়াতে হবে। ঘটনাচক্রে, আমরা না যেখানে ডলার চিহ্ন পাসওয়ার্ড চূড়ান্ত চরিত্র ক্ষেত্রে এই করতে হবে।

উদাহরণস্বরূপ, যদি আপনার পাসওয়ার্ডটি "পাস শব্দ" হয় তবে লিনাক্স ব্যাশ থেকে আমাদের অবশ্যই নিম্নলিখিত হিসাবে সংযুক্ত হতে হবে:

# mysql --host=192.168.233.142 --user=root --password=pas\$word

4
উপরেরটি ছাড়াও দয়া করে /etc/mysql/my.cnf দেখুন এবং বাইন্ড-ঠিকানা = 127.0.0.1 মন্তব্য করুন
বুমিনদা

2
বিকল্পভাবে একটি একক উদ্ধৃতি ব্যবহার করতে পারেন $ সম্প্রসারণ প্রতিরোধ: mysql --host=192.168.233.142 --user=root --password='pas$word' stackoverflow.com/a/6697781/500942
jalanb

পাসওয়ার্ডে '$'। অমূল্য. অসংখ্য ধন্যবাদ !!
নগেন্দ্র কাকারলা

কিছুক্ষণ মনিটরের বিরুদ্ধে আমার মাথাটি মারার পরে আমি এটি পেরিয়ে এসেছি এবং এটি কার্যকর হয়েছে। আমি একটি ছিল! এবং @ আমার পাসওয়ার্ডে। পরিবর্তিত পাসওয়ার্ড, সুযোগ সুবিধাগুলি এবং আমি এটিতে ফিরে এসেছি। ধন্যবাদ!
এজেএম

9

আপনার কি ফায়ারওয়াল আছে? নিশ্চিত করুন যে 3306 পোর্টটি খোলা আছে।

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

হোস্ট-নেম হিসাবে '%' দিয়ে পছন্দসই ব্যবহারকারীর তৈরি বা আপডেট করা।

উদাহরণ:

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

6
"ERROR 1045 (28000) সহ সার্ভারের জবাব: অ্যাক্সেসের জন্য অস্বীকৃতি" ... যদি ফায়ারওয়াল ব্লক একটি সময়সীমা পায় তবে ...
পাওলো এইচ।

শুধু প্রথম পোস্ট করতে চেয়েছিলেন। আমার খারাপ
বংশী কৃষ্ণ বি

@ কৃষ - আপনার প্রস্তাবিত সমস্ত কিছু ইতিমধ্যে প্রশ্নের মধ্যে আবৃত রয়েছে
মাইক চেম্বারলাইন

5
  1. চেষ্টা কর flush privilegesআবার ।

  2. অনুদানগুলি পুনরায় লোড করতে সার্ভার পুনরায় চালু করার চেষ্টা করুন।

  3. "192.168.233.163" হোস্ট সহ একটি ব্যবহারকারী তৈরি করার চেষ্টা করুন। "%" সকলকে অনুমতি দেবে না বলে মনে হচ্ছে (এটি অদ্ভুত)


ধন্যবাদ, আমি চেষ্টা করেছিলাম কিন্তু কোন ফল হয় নি। আমি আপনার পরামর্শ দিয়ে প্রশ্ন আপডেট।
মাইক চেম্বারলাইন

4
অন্য ব্যবহারকারী তৈরি করার চেষ্টা করুন, এবং সমস্ত অনুদান সেট করতে ভুলে যাবেন না:CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass'; GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%' WITH GRANT OPTION;
পাওলো এইচ।

4

আমার ক্ষেত্রে আমি সেন্ট ওএসে একটি রিমোট মাইএসকিএল সার্ভারের সাথে সংযোগ দেওয়ার চেষ্টা করছিলাম। অনেকগুলি সমাধানের পরেও (সমস্ত সুবিধাগুলি মঞ্জুর করা, আইপি বাইন্ডিংগুলি সরিয়ে দেওয়া, নেটওয়ার্কিং সক্ষম করা) সমস্যাটি এখনও সমাধান হচ্ছে না।

যেমনটি পরিণত হয়েছে, বিভিন্ন সমাধান অনুসন্ধান করার সময়, আমি iptables জুড়ে এসেছি, যা আমাকে বুঝতে পেরেছিল যে মাইএসকিএল পোর্ট 3306 সংযোগ গ্রহণ করছে না।

আমি কীভাবে এই সমস্যাটি পরীক্ষা করে সমাধান করেছি সে সম্পর্কে এখানে একটি ছোট্ট নোট is

  • বন্দরটি সংযোগ গ্রহণ করছে কিনা তা পরীক্ষা করা হচ্ছে:

    টেলনেট (মাইএসকিএল সার্ভার আইপি) [পোর্ট নন]

  • বন্দরে সংযোগের অনুমতি দেওয়ার জন্য আইপি টেবিলের নিয়ম যুক্ত করা:

    iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT

  • উত্পাদন পরিবেশের জন্য এটির সুপারিশ করবে না, তবে আপনার iptables সঠিকভাবে কনফিগার না করা থাকলে, বিধিগুলি যুক্ত করার পরেও সমস্যাটি সমাধান হবে না। সেক্ষেত্রে নিম্নলিখিতটি করা উচিত:

    পরিষেবা iptables বন্ধ

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


3

আপনি যদি ডায়নামিক আইপি ব্যবহার করেন তবে কেবল 192.168.2% এ অ্যাক্সেস মঞ্জুর করুন so সুতরাং এখনই আপনাকে প্রতিবার আপনার আইপি ঠিকানায় অ্যাক্সেস দেওয়ার বিষয়ে চিন্তা করতে হবে না।


1

আমি আমার অ্যামাজন ইসি 2 লিনাক্স দৃষ্টান্তের জন্য এমওয়াইএসকিউএলে রিমোট লগইনের সাথে লড়াই করছিলাম। সমাধানটি খুঁজে পেয়েছিল তা নিশ্চিত করার জন্য যে আমার সুরক্ষা গোষ্ঠীটি আমার আইপি ঠিকানা (অথবা যে কোনও জায়গায় 0.0.0.0/0) অন্তর্ভুক্ত করতে মাইএসকিউএল পোর্ট 3306 এর জন্য অন্তর্মুখী নিয়ম অন্তর্ভুক্ত করেছে। আমি এই নিয়মটি যুক্ত করার সাথে সাথেই তাৎক্ষণিকভাবে দূরবর্তীভাবে সংযোগ স্থাপন করতে পারে।


1

মাইএসকিএল কনফিগারেশন ফাইলের জন্য নতুন অবস্থান

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

0

মাইএসকিউএল ওডিবিসি 3.51 ড্রাইভার হ'ল পাসওয়ার্ডের বিশেষ অক্ষরগুলি পরিচালনা করা হয় না।

"সতর্কতা - আপনার গ্রান্ট কমান্ডের পাসওয়ার্ডে বিশেষ অক্ষর রয়েছে যেমন! @ # $% ^? মাইএসকিউএল ওডিবিসি 3.51 ওডিবিসি ড্রাইভার পাসওয়ার্ড বাক্সে এই বিশেষ অক্ষরগুলিকে সমর্থন না করে তবে আপনার মাইএসকিউএল ওডিবিসি 3.51 এর সাথে গুরুতর মাথাব্যথা হতে পারে। আপনি কেবলমাত্র ত্রুটি বার্তাটি হ'ল "অ্যাক্সেস প্রত্যাখ্যান" (পাসওয়ার্ড ব্যবহার করে: YES) "- থেকে http://www.plaintutorials.com/install-and-create-mysql-odbc-connector-on-windows-7/


0

ব্যবহারকারী / হোস্ট সংমিশ্রণটি পাসওয়ার্ড ছাড়াই তৈরি করা যেতে পারে।

আমি ধরেই নিয়েছিলাম যে কোনও বিদ্যমান ব্যবহারকারীর (একটি জিইউআই অ্যাপ্লিকেশন ব্যবহার করে) নতুন হোস্ট যুক্ত করার সময়, বিদ্যমান পাসওয়ার্ডটি নতুন ব্যবহারকারী / হোস্ট সংমিশ্রণের জন্যও ব্যবহৃত হবে।

আমি লগ ইন করতে পারে

mysql -u username -p PASSWORD

স্থানীয়ভাবে, তবে এর সাথে আইপ্যাড্রেস থেকে নয়

mysql -u --host=HOST -p PASSWORD

(আমি আসলে কোনও পাসওয়ার্ড ব্যবহার না করেই আইপ্যাড্রেস থেকে লগ ইন করতে পারি)

mysql -u --host=HOST

পাসওয়ার্ড নির্ধারণ অ্যাক্সেস অনুমোদিত:

set password for '<USER>'@'<IPADDRESS>' = '<PASSWORD>';

1
আপনাকে ধন্যবাদ, আমি আমার মাইএসকিএল সার্ভারের সাথে দূরবর্তীভাবে সংযোগ স্থাপনের চেষ্টা করে অনেক সময় ব্যয় করেছি এবং এই লাইনটি অনেক সহায়তা করেছিল। ব্যবহারকারীর পাসওয়ার্ড সেট করার সময়, আমি ত্রুটি পেয়েছি ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal numberযা আমাকে এই নিবন্ধটিতে নিয়ে গেছে: knowmysql.blogspot.com/2013/09/… এই পদক্ষেপগুলি অনুসরণ করার পরে, আমি শেষ পর্যন্ত সার্ভারের সাথে সংযোগ করতে পারলাম।
অ্যান্ডি ফোর্সনো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.