ত্রুটি 1044 (42000): ব্যবহারকারীর জন্য '' @ 'লোকালহোস্ট' ডাটাবেস 'ডিবি' এ অ্যাক্সেস প্রত্যাখ্যান


164

আমি মাইএসকিউএলে কোয়েরি লিখতে শুরু করতে চাই।

show grants শো:

+--------------------------------------+
| Grants for @localhost                |
+--------------------------------------+
| GRANT USAGE ON *.* TO ''@'localhost' |
+--------------------------------------+

আমার কোনও ইউজার-আইডি নেই তবে আমি যখন কোনও ব্যবহারকারী তৈরি করতে চাই তখন আমার প্রিভিলিজ নেই, এছাড়াও আমি কীভাবে কীভাবে সুবিধা বানাতে পারি তা জানিনা যখন আমার কোনও ব্যবহারকারী নেই!

mysql> CREATE USER 'parsa'@'localhost' IDENTIFIED BY 'parsa';
ERROR 1227 (42000): Access denied; you need (at least one of) the CREATE USER pr
ivilege(s) for this operation

আমি মূল হিসাবে সাইন ইন করার চেষ্টা করেছি:

mysql> mysql -u root -p;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'mysql
 -u root -p' at line 1
mysql> mysql -u root -p root;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'mysql
 -u root -p root' at line 1

3
অনুমতি নিয়ে আপনাকে ব্যবহারকারী হিসাবে লগ ইন করতে হবে। rootআপনি মাইএসকিউএল ইনস্টল করার সময় কমপক্ষে তৈরি করা উচিত ছিল।
ডারোবার্ট

ইনস্টলেশন চলাকালীন এটি আমাকে পাসওয়ার্ড সেট করতে বলে এবং আমি এটি এখন রুট করে দিয়েছি আমি কী করব?
নিকুল

9
আপনাকে রুট হিসাবে লগ ইন করতে হবে — যেমন চলমান দ্বারা mysql -u root -p। তারপরে আপনার কাছে ডাটাবেস সার্ভারে সম্পূর্ণ অনুমতি থাকবে এবং আপনি অন্যান্য ব্যবহারকারী তৈরি করতে পারবেন।
ডারোবার্ট

কমান্ড লাইন ব্যবহার করে আপনি যখন লগ ইন করেন, রুট হিসাবে লগ ইন করতে নিম্নলিখিতগুলি করুন: mysql -u root -p
ট্র্যাভিস

1
@ নিকপারপা: না, আপনি শেল প্রম্পট থেকে 'মাইএসকিএল'-এর পরিবর্তে এটি চালাবেন, মাইএসকিএল প্রম্পটে নয়।
ডারোবার্ট

উত্তর:


219

না, আপনার mysql -u root -pব্যাশ চালানো উচিত , মাইএসকিউএল কমান্ড-লাইনে নয়। আপনি যদি mysql এ থাকেন তবে আপনি প্রস্থান টাইপ করে প্রস্থান করতে পারবেন ।


কীভাবে আমি ব্যাশ ফিরে যেতে পারেন আমি মাইএসকিউএল এখানে দেখতে ইনস্টল সমস্যা superuser.com/questions/377679/... আমি শুধু কমান্ড লাইনে এটা abt জানেন
Nickool

6
মাইএসকিএল থেকে বেরিয়ে আসতে 'ছাড়ুন' ব্যবহার করুন, তারপরে আপনি বাশ থাকবেন
নওহী

23
অবগতির জন্য ডিফল্টরূপে পাসওয়ার্ড ফাঁকা
bigpotato

আমি যদি উইন্ডোজ ব্যবহার করছি?
পিএইচপিফ্যান 17'17

প্রস্থান বা প্রস্থান আমার জন্য কাজ করছে না, দয়া করে অন্য কোনও উপায় সরবরাহ করুন। আমি উইন্ডোজ 10
মেটিন ডাগসিলার

46

আপনার আপনার মাইএসকিউএল ডাটাবেসের জন্য একটি রুট অ্যাকাউন্ট সেট আপ করতে হতে পারে:

টার্মিনালে টাইপ করুন:

mysqladmin -u root password 'root password goes here'

এবং তারপরে মাইএসকিউএল ক্লায়েন্টকে অনুরোধ করতে:

mysql -h localhost -u root -p

1
এইটি আমার পক্ষে কাজ করেছিল, এটি প্রথমে ভাল কাজ করছিল এবং তারপরে হঠাৎ একদিন কাজ বন্ধ করে দেওয়া হয়েছিল। কোনও ধারণা, কেন এটি প্রথম স্থানে ঘটে?
মিউ 無

@soleshoe im ত্রুটি পেয়ে যাচ্ছেন: sudo: mysqladmin: কমান্ড পাওয়া যায়নি দয়া করে আমাকে সাহায্য করুন আমি কী করতে পারি ?? mysql হ'ল সিস্টেম পছন্দ হিসাবে চলমান।
হিতার্থ

29

আমাকে এখানে অন্যরকম সমস্যা নিয়ে এসেছিল। আমি যখনই লগইন করার চেষ্টা করেছি তখনই আমি সেই বার্তাটি পেয়েছিলাম কারণ সঠিকভাবে প্রমাণীকরণের পরিবর্তে আমি বেনাম ব্যবহারকারী হিসাবে লগ ইন করেছি। আমার সমস্যার সমাধানটি ছিল:

আপনি কোন ব্যবহারকারী এবং কার অনুমতি আপনার রয়েছে তা দেখার জন্য:

select user(), current_user();

অদৃশ্য অনামী ব্যবহারকারী মুছতে:

drop user ''@'localhost';

1
আমি "mysql -u ব্যবহারকারীর নাম -p" ব্যবহার করেও এটি আমার জন্য সমস্যার সমাধান করেছে। খুব অদ্ভুত: ব্যবহারকারী () আমার ব্যবহারকারী নাম ছিল, কিন্তু কারেন্ট_উসার () লোকালহোস্ট ছিল ... কেন জানি না?
ইথানপিল

2
@ লেফটারিস হাই, আমি এই ত্রুটি পেয়ে যাচ্ছি: অ্যাক্সেস অস্বীকার করেছে; এই অপারেশনের জন্য আপনার (কমপক্ষে একটির) ক্রিয়েট ইউজার সুবিধাদি (গুলি) দরকার যখন আমি ব্যবহারকারীর '@' লোকালহোস্ট 'ছাড়ার চেষ্টা করি;
হিতার্থ

15

এটি ব্যবহারকারীর অনুমতি নিয়ে কিছু করার। যথাযথ অনুদান দেওয়া এই সমস্যাটি সমাধান করবে।

পদক্ষেপ [1]: টার্মিনালটি খুলুন এবং এই আদেশটি চালান run

$ mysql -uroot -p

আউটপুট [1]: এটি আপনাকে নীচে প্রদর্শিত মাইএসকিএল প্রম্পট দেবে

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

ধাপ ২]:

mysql> CREATE USER 'parsa'@'localhost' IDENTIFIED BY 'your_password';
mysql> grant all privileges on *.* to 'parsa'@'localhost';

বাক্য গঠন:

mysql> grant all privileges on `database_name`.`table_name` to 'user_name'@'hostname';

বিঃদ্রঃ:

  • হোস্টনাম আইপি ঠিকানা, লোকালহোস্ট, 127.0.0.1 হতে পারে
  • ইন database_name/ table_name, * মানে সমস্ত ডাটাবেস
  • ইন hostnameউল্লেখ সব হোস্ট ব্যবহার '%'

পদক্ষেপ [3]: প্রবেশ quit/ exitকমান্ড বা চাপ দিয়ে বর্তমান মাইএসকিএল প্রম্পট থেকে বেরিয়ে আসুন Ctrl+D

পদক্ষেপ [৪]: আপনার নতুন ব্যবহারকারীকে লগইন করুন

$ mysql -uparsa -pyour_password

পদক্ষেপ [5]: ডাটাবেস তৈরি করুন

mysql> create database `database_name`;

যখন আমি CREATE USER 'parsa'@'localhost' IDENTIFIED BY 'your_password';সেখানে ত্রুটি পাই: ERROR 1227 (42000): অ্যাক্সেস অস্বীকার করেছে; আপনার প্রয়োজন (কমপক্ষে একটির) এই অপারেশনটির জন্য ক্রিয়েট ইউজার সুবিধা (গুলি)
বিমান

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

9

আপনি সম্পূর্ণ লগইন আদেশটি চেষ্টা করতে চাইতে পারেন:

mysql -h host -u root -p 

হোস্ট হবে যেখানে 127.0.0.1

সহযোগিতা বিদ্যমান রয়েছে তা নিশ্চিত করার জন্য এটি করুন।

ব্যবহারের mysql -u root -pফলে আমাকে অনেকগুলি ডাটাবেস অনুসন্ধান করতে দেয়, তবে কোনও পথ নির্ধারণের কারণে কোনও ডাটাবেস তৈরি করতে অস্বীকৃতি জানায়।


6

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

আপনি কমান্ড লাইন (বাশ) থেকে এভাবে সংযুক্ত হন:

mysql -h hostname -u username -p database_name

উদাহরণ স্বরূপ:

fabio@crunchbang ~ $ mysql -h 127.0.0.1 -u fabio -p fabiodb

1
-pপাসওয়ার্ডের জন্য এবং আপনি এটি ডাটাবেসের নাম পাস করতে ব্যবহার করছেন। এছাড়াও, পাসওয়ার্ডের জন্য, কোনও স্থান বি / ডাব্লু এবং আসল পাসওয়ার্ড থাকা উচিত নয়-p-Dএকটি নির্দিষ্ট ডাটাবেসের সাথে সংযোগ করতে ব্যবহার করুন ।
এসভি।

5

আপনি যদি MySQLশেলটিতে থাকেন তবে প্রস্থানটি টাইপ করে প্রস্থান করুন , যা আপনাকে কমান্ড প্রম্পটে ফিরিয়ে দেবে।

এখন MySQLনিম্নলিখিত কমান্ডটি ব্যবহার করে শুরু করুন :

sudo mysql -u root -p

যদি আপনার ব্যবহারকারীর নামটি রুট ব্যতীত অন্য কিছু হয় তবে উপরের কমান্ডে 'রুট'টিকে আপনার ব্যবহারকারী নাম দিয়ে প্রতিস্থাপন করুন:

sudo mysql -u <your-user-name> -p

এরপরে এটি আপনাকে MySQLঅ্যাকাউন্ট / পাসওয়ার্ড জিজ্ঞাসা করবে এবং এর পরে আপনি MySQLকোনও অ্যাক্সেস সুবিধার সমস্যা দেখবেন না।


পাসওয়ার্ড প্রবেশ করানোর পরে আমি "সুডো: মাইএসকিএল: কমান্ড খুঁজে পাইনি" দয়া করে আমাকে এই বিষয়ে সাহায্য করুন
হিতার্থ

এটি "সুডো:" হওয়া উচিত নয়, এটি "সুডো" হওয়া উচিত ... এটি যদি টাইপো না হয় তবে আমি মনে করি এটিই সমস্যা।
ক্ষিতিজ মিত্তাল

2

@ নিকপারপা ... আপনার কাছে দুটি সমস্যা রয়েছে:

1)। mysql -uroot -p মাইএসকিউএল কমান্ড-লাইনে ব্যাশ (আপনার টার্মিনাল হিসাবে পরিচিত) টাইপ করা উচিত। আপনি টাইপ করে এই ত্রুটিটি ঠিক করেছেন

exit

আপনার মাইএসকিউএল কমান্ড-লাইনে। এখন আপনি আপনার ব্যাশ / টার্মিনাল কমান্ড-লাইনে ফিরে এসেছেন।

2)। আপনার একটি সিনট্যাক্স ত্রুটি রয়েছে:

mysql -uroot -p; 

-p এর সামনে সেমিকোলন যেতে হবে। সঠিক বাক্য গঠনটি হ'ল:

mysql -uroot -p

আপনার বাশ কমান্ডলাইনে সঠিক বাক্য গঠন লিখুন। আপনার যদি একটি সেট আপ থাকে তবে একটি পাসওয়ার্ড প্রবেশ করান; অন্যথায় কেবল প্রবেশ বোতামটি চাপুন। আপনার মতামত পাওয়া উচিত যা এর অনুরূপ: এখানে চিত্র বর্ণনা লিখুন

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


হাই, আমি এই প্রশংসা সরানোর পরে সরাসরি পর্দা পেয়েছি dire / usr / স্থানীয় / mysql / bin / mysql তবে এর পরে যখন আমি "CATET DATABASE বই ব্যবহার করে ডেটাবেস তৈরি করার চেষ্টা করি; আমি ত্রুটি পাচ্ছি: ERROR 1044 (42000): ব্যবহারকারীর জন্য অ্যাক্সেস প্রত্যাখ্যান '@' লোকালহোস্ট 'ডাটাবেসে' বই 'দয়া করে আমাকে সহায়তা করুন
হিতার্থ

0

সর্বাধিক বিকাশকারী সার্ভারে লগ-ইন করে (আমি ধরে নিই যে মাইএসকিএল ডাটাবেসের জন্য আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড রয়েছে) তবে বাশ থেকে তারা mysql> promptনীচে কমান্ডটি ব্যবহার করে স্যুইচ করে (যা কাজ করে না

mysql -h localhost -u root -p

যা করা দরকার তা হ'ল উপরের কমান্ডটি ব্যাশ প্রম্পটে ব্যবহার করুন -> এটি করাতে এটি পাসওয়ার্ডের জন্য জিজ্ঞাসা করবে যদি এটি সরাসরি mysql প্রম্পটে গ্রহণ করে এবং

তারপরে ডাটাবেস, টেবিল একের পর এক তৈরি করা যেতে পারে

অভিজ্ঞতা ভাগ করে নেওয়ার ফলে আমি একই রকম অচলাবস্থার মুখোমুখি হয়েছি


0

আমার উপরের উত্তরের প্রতি কমান্ডটি সঠিক ছিল, যা আমি হাতছাড়া করেছি তা ওয়ার্কবেঞ্চে ছিল, যেখানে আমরা ব্যবহারকারীর জন্য 'হোস্ট থেকে সংযোগের সীমাবদ্ধতা' উল্লেখ করি, এটি ডিফল্ট "%" - এটিকে "লোকালহোস্ট" এ পরিবর্তন করে এবং এটি সূক্ষ্মভাবে সংযুক্ত করে!

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