mysql tutorial ত্রুটি 1044(42000): ব্যবহারকারীর '@' 'localhost' এর জন্য ডেটাবেস 'db'-এ অ্যাক্সেস অস্বীকৃত




mysql tutorial (9)

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

আমি মাইএসকিউএল এর মধ্যে প্রশ্ন লিখতে শুরু করতে চাই।

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

আপনি যদি মাইএসকিউএল শেলের মধ্যে থাকেন তবে প্রস্থান করে টাইপ করুন । এটি কমান্ড প্রম্পটে আপনাকে ফেরত পাঠাবে। এখন নিম্নলিখিত কমান্ড ব্যবহার করে মাইএসকিউএল শুরু করুন:

sudo mysql -u root -p

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

sudo mysql -u আপনার ব্যবহারকারীর নাম -পি

এটি তখন আপনার MySQL-account-password জিজ্ঞাসা করবে, এবং আপনার MySQL এখন থেকে অ্যাক্সেসের বিশেষাধিকার সমস্যা দেখাবে না।


যদি আপনি linux থেকে mysql শুরু করতে চান তবে এটি ট্যাপ করে এটি করা সহজ: mysql -u root -p যদি আপনি উইন্ডোজগুলিতে থাকেন তবে আপনি file.exe অবস্থান mysql.exe এ টার্মিনাল ট্যাপ থেকে অবশ্যই থাকতে হবে: mysql -u root -p


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


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

পদক্ষেপ [1]: ওপেন টার্মিনাল এবং এই কমান্ড চালান

$ mysql -uroot -p

আউটপুট [1]: এটি আপনাকে নিচে দেখানো MySQL প্রম্পট দিতে হবে

ধাপ ২]:

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';

বিঃদ্রঃ:

  • হোস্টনাম আইপি ঠিকানা হতে পারে, localhost, 127.0.0.1
  • table_name / table_name , * সমস্ত উপাত্ত মানে
  • hostname , সমস্ত হোস্ট নির্দিষ্ট করার জন্য '%' ব্যবহার করুন

ধাপ [3]: বর্তমান মাইএসকিউএল প্রম্পট থেকে exit quit / exit কমান্ডটি প্রবেশ করুন অথবা Ctrl+D চাপুন।

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

$ mysql -uparsa -pyour_password

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

mysql> create database `database_name`;

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

mysql -h localhost -u root -p

কী করা দরকার তা হল ব্যাশ প্রম্পটে উপরের কমান্ডটি ব্যবহার করুন -> এটি করলে এটি পাসওয়ার্ডের জন্য অনুরোধ করবে যদি এটি সরাসরি মাইএসকিউএল প্রম্পটে নিয়ে যায় এবং

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

আমি অভিজ্ঞতা ভাগ করে তাই অনুরূপ deadlock সম্মুখীন


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

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

select user(), current_user();

বেদনাদায়ক বেনামী ব্যবহারকারী মুছে ফেলার জন্য:

drop user ''@'localhost';

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

টার্মিনাল টাইপ:

mysqladmin -u root password 'root password goes here'

এবং তারপর MySQL ক্লায়েন্টকে আহ্বান জানাতে:

mysql -h localhost -u root -p

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

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

exit

আপনার MySQL কমান্ড লাইন। এখন আপনি আপনার bash / টার্মিনাল কমান্ড লাইন ফিরে।

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

mysql -uroot -p; 

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

mysql -uroot -p

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

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







mysql