ত্রুটি 1396 (HY000): অপারেশন ক্রেইট ব্যবহারকারী 'জ্যাক' @ 'লোকালহোস্ট' এর জন্য ব্যর্থ হয়েছে


310

আমি মাইএসকিউএল এর মূল হিসাবে এমনকি মুছে ফেলা একটি সাধারণ ব্যবহারকারীর পুনরায় তৈরি করতে অক্ষম বলে মনে করি।

আমার কেস: ব্যবহারকারী 'জ্যাক' এর আগে বিদ্যমান ছিল, তবে আমি এটি পুনরায় তৈরি করতে mysql.user থেকে এটি মুছে ফেলেছি deleted আমি table টেবিলটিতে এর কোনও স্বীকৃতি দেখতে পাচ্ছি না। যদি আমি এই আদেশটি অন্য কোনও, এলোমেলো ব্যবহারকারীর নাম, 'জিমি' বলি, এটি কার্যকর হয় (ঠিক যেমন এটি জ্যাকের জন্য মূলত করেছিল)।

ব্যবহারকারী 'জ্যাক' কে দুর্নীতিগ্রস্থ করার জন্য আমি কী করেছি এবং মাইএসকিউএল এর এই ইনস্টলেশনের জন্য বৈধ ব্যবহারকারী হিসাবে 'জ্যাক' পুনরায় তৈরি করতে আমি কীভাবে সেই দুর্নীতিটিকে পূর্বাবস্থায় ফেরাতে পারি?

নীচে উদাহরণ দেখুন। (অবশ্যই, মূলত, 'জ্যাক' তৈরি এবং তাকে অপসারণের মধ্যে অনেক সময় ছিল।)

mysql> CREATE USER 'jack'@'localhost' IDENTIFIED BY 'test123';
Query OK, 0 rows affected (0.00 sec)

mysql> select user,host from user;
+------------------+-----------------+
| user             | host            |
+------------------+-----------------+
| root             | 127.0.0.1       |
| debian-sys-maint | localhost       |
| jack             | localhost       |
| root             | localhost       |
| root             | russ-elite-book |
+------------------+-----------------+
5 rows in set (0.00 sec)

mysql> delete from user where user = 'jack';
Query OK, 1 row affected (0.00 sec)

mysql> select user,host from user;
+------------------+-----------------+
| user             | host            |
+------------------+-----------------+
| root             | 127.0.0.1       |
| debian-sys-maint | localhost       |
| root             | localhost       |
| root             | russ-elite-book |
+------------------+-----------------+
4 rows in set (0.00 sec)

mysql> CREATE USER 'jack'@'localhost' IDENTIFIED BY 'test123';
ERROR 1396 (HY000): Operation CREATE USER failed for 'jack'@'localhost'
mysql> CREATE USER 'jimmy'@'localhost' IDENTIFIED BY 'test123';
Query OK, 0 rows affected (0.00 sec)

mysql> select user,host from user;
+------------------+-----------------+
| user             | host            |
+------------------+-----------------+
| root             | 127.0.0.1       |
| debian-sys-maint | localhost       |
| jimmy            | localhost       |
| root             | localhost       |
| root             | russ-elite-book |
+------------------+-----------------+
5 rows in set (0.00 sec)

উত্তর:


233

একটি করার চেষ্টা করুন FLUSH PRIVILEGES;এই ত্রুটি কোডটিতে থাকা এই মাইএসকিউএল বাগ পোস্টটি প্রাইভেস ফ্ল্যাশ করার পরে আপনার অনুরূপ ক্ষেত্রে কিছুটা সাফল্যের রিপোর্ট করেছে। 


13
আমি এই পরামর্শটি খুঁজে পেয়েছি এবং এটি সফলতা ছাড়াই আগে চেষ্টা করেছি, তবে সম্ভবত অন্য কিছু ছিল। এখনই আবার চেষ্টা করে, তারপরে অন্য ব্যবহারকারীর সাথে পরিস্থিতি পুনরায় তৈরি করে, আমি দেখতে পেয়েছি যে এটি আসলে কৌশলটি করেছে। অবশ্যই, আজ আনুষ্ঠানিক উত্তরটি ছিল "বোকা না হওয়ার জন্য" এবং এটি সঠিকভাবে করতে REVOKE এবং DROP ব্যবহারকারীকে ব্যবহার করা। আমি তিনটি জবাবের কাছে bণী (এইটি হ'ল আমার বর্তমান অবস্থা থেকে আমাকে জামিন দেওয়া হয়েছে)।
রাশ ব্যাটম্যান

13
এটি ২০১ 2016, মাইএসকিএল v14.14 এ রয়েছে এবং এটি এখনও ভাঙ্গা।
আইভো ওয়েলচ

4
আমার প্রথমে @ tver3305 উত্তর অনুসারে ব্যবহারকারীকে ফেলে দেওয়া দরকার।
শওতীহ

9
আমি একই সমস্যাটি 10.1.21 এর সাথে দেখছি, তবে "ফ্ল্যাশ সুবিধাগুলি" কোনও পার্থক্য করেনি। আমি ব্যবহারকারীকে ফেলেছি, ফ্লাশ করছি এবং তারপরে তৈরি করব যা "line নং লাইনে ERROR 1396 (HY000) এর সাথে ব্যর্থ হয়: অপারেশন ক্রেইট ইউজার ..." এর জন্য ব্যর্থ হয়েছে। আমি আশা করি যে ত্রুটিটি কেন ব্যর্থ হয়েছে তার মতো আমি এই ত্রুটিটি সম্পর্কে একটু বিস্তৃত করার জন্য mysql / mariadb পেতে পারি।
ডেভিড এম কারার

3
আমি যখন ব্যবহারকারীকেও ফেলে দেওয়ার চেষ্টা করেছি তখনও ত্রুটিটি পেয়েছি, 'ফ্ল্যাশ সুবিধাগুলি' আমার পক্ষে কার্যকর হয়নি, কিছুটা গবেষণা করার পরে, আমি সমস্ত অ্যাক্সেস প্রত্যাহার করে এবং ব্যবহারকারীকে ফেলে দিয়ে সমাধানটি পেয়েছি, আমার মনে হয় না , ফ্লাশ অপারেশন অনুরূপ ক্ষেত্রে সহায়তা করবে, আমি এই পৃষ্ঠায় আমার বিশদ বিবরণটি
রথিশকুমার.ইন

545

হ্যাঁ এই বাগ আছে। যাইহোক, আমি একটি ছোট workaround পেয়েছি।

  • ধরুন যে ব্যবহারকারী আছেন, তাই ব্যবহারকারীকে ফেলে দিন
  • ব্যবহারকারী মুছে ফেলার পরে, মাইএসকিএল সুবিধাগুলি ফ্ল্যাশ করা প্রয়োজন
  • এখন ব্যবহারকারী তৈরি করুন।

এটি সমাধান করা উচিত। ধরে নেওয়া যাক আমরা @ লোকালহোস্ট ব্যবহারকারী অ্যাডমিন তৈরি করতে চাই, এগুলি হ'ল আদেশগুলি:

ব্যবহারকারীর অ্যাডমিন ড্রপ করুন @ লোকালহোস্ট;
ফ্লাশ সুবিধা;
' অ্যাডমিন_পাসওয়ার্ড '
 দ্বারা চিহ্নিত স্থানীয় স্থানীয় প্রশাসক তৈরি করুন

চিয়ার্স


58
ফ্লাশ সুবিধাগুলি একা আমার পক্ষে কাজ করে নি। ব্যবহারকারীকে ফেলে দেওয়া সবকিছু স্থির করে। ধন্যবাদ।
জেক

3
আমার জন্যও একই. আমাকে প্রথমে ব্যবহারকারীকে ফেলে দিতে হয়েছিল।
কেজিয়ান্নাকাকিস

3
@ কোয়ান্টামমেকানিক সমাধান আমার পক্ষে কাজ করে না তবে ড্রপ করে ফ্লাশ করে।
hobs

আমার ক্ষেত্রে, সুনির্দিষ্ট সুবিধা ছাড়াই কেবল ব্যবহারকারীকে বাদ দেওয়া হ'ল এনোগ।
স্কেজে

এটি একটি বিশাল জীবন-সঞ্চয়কারী ছিল - @ জ্যাকের মূল অংশের উপরে লোকালহোস্ট অংশের সাথে ড্রপ ব্যবহারকারী ছিলেন
কেলিফজে

46

এই বাগটি 2007 থেকে bugs.mysql.com এ বসে আছে এবং এই থ্রেডটি মূলত এমনকি এক বছর আগে পর্যন্ত এই সমস্ত ভুল উত্তরের একটি তোতা মাত্র।

মাইএসকিউএল ডকুমেন্টেশন মতে, কমান্ড পছন্দ CREATE USER, GRANT, REVOKE, এবং DROP USERপরবর্তী প্রয়োজন হয় না FLUSH PRIVILEGESকমান্ড। এটি পুরোপুরি পরিষ্কার কেন, যদি কেউ ডকস পড়ে reads এটি কারণ মাইএসকিউএল টেবিলগুলি পরিবর্তন করা সরাসরি তথ্যকে মেমোরিতে পুনরায় লোড করে না; তবুও এই বাগ দাবি করার সমাধানগুলির আধিক্যই এটির FLUSH PRIVILEGESউত্তর।

এটি একটি বাগও নাও হতে পারে। এটি একটি ডকুমেন্টেশন ষড়যন্ত্র - দস্তাবেজগুলি সংস্করণ থেকে সংস্করণে এক গুরুত্বপূর্ণ জায়গায় পরিবর্তিত হয়।

13.7.1.2। ড্রপ ব্যবহারকারী সিনট্যাক্স

...

ড্রপ ব্যবহারকারী ব্যবহারকারী [, ব্যবহারকারী] ...

...

ড্রপ ব্যবহারকারী 'জেফরি' @ 'লোকালহোস্ট';

আপনি যদি অ্যাকাউন্টের নামের ব্যবহারকারীর নামের অংশটি নির্দিষ্ট করেন তবে '%' এর একটি হোস্ট নেম অংশ ব্যবহৃত হয়।

DROP USERমাইএসকিউএল 5.0.0-তে উপস্থিত রয়েছে কেবল এমন অ্যাকাউন্টগুলিকে সরান যেগুলির কোনও অধিকার নেই। মাইএসকিউএল 5.0.2 এ, অ্যাকাউন্টের সুবিধাগুলিও মুছে ফেলার জন্য এটি পরিবর্তন করা হয়েছিল। এর অর্থ হল যে কোনও অ্যাকাউন্ট সরানোর পদ্ধতিটি আপনার মাইএসকিউএল এর সংস্করণের উপর নির্ভর করে।

মাইএসকিউএল ৫.০.২ অনুসারে আপনি কোনও অ্যাকাউন্ট এবং এর সুবিধাগুলি নীচে মুছে ফেলতে পারেন:

ড্রপ ব্যবহারকারী ব্যবহারকারী;

বিবৃতিটি সমস্ত অনুদানের টেবিল থেকে অ্যাকাউন্টের জন্য সুবিধাযুক্ত সারিগুলি সরিয়ে দেয়।

আমি যখন এই ত্রুটিটি পাই তখনই আমি তা করি DROP USER user; দস্তাবেজের পরামর্শ অনুসারে, তবে মাইএসকিউএল '%' কে এমনভাবে ওয়াইল্ডকার্ড হিসাবে ব্যবহার করে না যা সমস্ত ব্যবহারকারীকে সমস্ত হোস্টে ফেলে দেয়। এটা এত বন্য নয়। বা, এটি হতে পারে যে এটি লোকালহোস্ট ব্যবহারকারীকে মুছে ফেলা এবং তারপরে% এটিকে মুছে ফেলার চেষ্টা করার সময় এটি কখনও কখনও কাজ করে।

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

আমি 7 টি ভোট দেখতে পেয়েছি:

ড্রপ ব্যবহারকারী 'জ্যাক @ লোকালহোস্ট'; // অ্যাকাউন্টটি পুরোপুরি মুছুন

যা DROP USER 'jack@localhost'@'%';# ভুল হিসাবে ব্যাখ্যা করা হয়

প্রকৃত বাগটি একই ত্রুটি বার্তা উত্পন্ন করে বলে মনে হচ্ছে, তবে এটি প্রথম তৈরি ব্যবহারকারী (একটি নতুন মাইএসকিএল সার্ভার ইনস্টল করার পরে) বাদ দেওয়ার সাথে সম্পর্কযুক্ত। এই বাগটি ঠিক করা হয়েছে কিনা, আমি জানি না; তবে আমি ইদানীং ঘটছে তা মনে করি না এবং আমি এই মুহুর্তে 5.5.27 নম্বর পর্যন্ত চলেছি।


8
আপনি কি একজন মাইএসকিউএল ডক লেখক?
পেসিয়ার

এটা আমার জন্য উত্তর ছিল। মারিয়াদব এই বাগটি উত্তরাধিকার সূত্রে পেয়েছে।

কেন এটি গৃহীত উত্তর নয়: /। যাইহোক, আপনাকে ধন্যবাদ @ ব্যবহারকারী 1969061। এটি অবশ্যই আমার পক্ষে কাজmariadb-server-5.5.60-1.el7_5.x86_64
হান একাকী

36

আপনি যদি কোনও ব্যবহারকারীকে অপসারণের প্রয়াসে টেবিলে কোনও DELETEবিবৃতি ব্যবহার করেন mysql.userতবে ব্যবহারকারীকে পুনরায় প্রতিষ্ঠিত করার চেষ্টা করুন CREATE USER, আপনি একটি 1396ত্রুটি পাবেন। দৌড়ে এই ত্রুটি থেকে মুক্তি পানDROP USER 'username'@'host';

DELETE 
  FROM mysql.user 
 WHERE user = 'jack';

(আপনি যদি জ্যাকটি পুনরায় তৈরি করার চেষ্টা করেন তবে আপনি 1396 ত্রুটি পাবেন)

CREATE USER 'jack'@'localhost' IDENTIFIED BY PASSWORD '*Fi47ytFF3CD5B14E7EjkjkkC1D3F8086A5C0-krn';

(দৌড়ে এই পরিস্থিতি থেকে বেরিয়ে আসুন DROP USER)

DROP USER 'jack'@'localhost';

(আমি মনে করি FLUSH PRIVILEGESআঘাত করতে পারে না তবে অবশ্যই ব্যবহারকারীকে প্রথমে ফেলে দিন))


24

আপনার ব্যবহারকারীদের সেভাবে মুছে ফেলা উচিত নয়। মাইএসকিউএলের REVOKEসুবিধাগুলি অপসারণ এবং DROP USERসেগুলি মুছে ফেলার জন্য সিনট্যাক্স রয়েছে :

REVOKE priv1,priv2,priv3,etc... FROM 'jack@localhost'; // remove certain privileges
DROP USER 'jack@localhost'; // completely delete the account

ব্যাকগ্রাউন্ডে চারপাশে শঙ্কিত করার চেয়ে প্রদত্ত সরঞ্জামগুলি ব্যবহার করা সেরা।


2
এটি আসল উত্তর ছিল, তবে আমার যে সমস্যাটি ছিল তা নয় (যা আমার বোকামির দ্বারা তৈরি হয়েছিল)। আমাকে সরাসরি সেট করার জন্য আপনাকে অনেক ধন্যবাদ!
রাশ ব্যাটম্যান

@ মার্ক, তারপরে , তারা কেন flush privilegesপ্রথম স্থান আবিষ্কার করেছিল? সরকারী মাইএসকিউএল ডক্স না ভালো জিনিস সম্পর্কে আলাপ delete from user where user = 'jack'; এবং flush privileges। আপনি কেন বলছেন যে তারা সরবরাহ করা সরঞ্জামগুলির অংশ নয়?
পেসারিয়ার 10

1
@ ব্যবহারকারী1969061 পয়েন্ট হিসাবে, 'jack@localhost'সম্ভবত 'jack'@'localhost'এখানে থাকা উচিত ।
জোচেন

11

ব্যবহারকারীকে ফেলে দিন, সুযোগ-সুবিধাগুলি ফ্লাশ করুন; তারপরে, ব্যবহারকারী তৈরি করুন। এটা কাজ করে!


1
আমি ব্যবহারকারীকে বাদ দেওয়া পর্যন্ত একা ফ্ল্যাশিং সুবিধাগুলি কাজ করে না। ধন্যবাদ।
ব্র্যান্ডন ফিটজপ্যাট্রিক

10

চেষ্টা করুন delete from mysql.db where user = 'jack'এবং তারপরে একটি ব্যবহারকারী তৈরি করুন


1
আমি কীভাবে আমার ইনস্টলেশনটি দূষিত করেছি তা বুঝতে এটি আমাকে সাহায্য করতে সহায়ক was আপনাকে অনেক ধন্যবাদ.
রাশ ব্যাটম্যান

ফেলির মন্তব্যে আরও পড়ুন। জড়িত আরও টেবিল আছে।
বন্দী 13

6

মাইএসকিউএল 5.6 এ Drop user userid;কাজ করে না। ব্যবহার: Drop user 'userid'@'localhost';এবং / অথবা Drop user 'userid'@'%';। এইভাবে আমি ব্যবহারকারীকে ফেলে দিয়ে এটি পুনরায় তৈরি করতে সক্ষম হয়েছি।


5
two method 
one :
setp 1: drop user 'jack'@'localhost';
setp 2: create user 'jack'@localhost identified by 'ddd';

two:
setp 1: delete from user where user='jack'and host='localhost';
setp 2: flush privileges;
setp 3: create user 'jack'@'localhost' identified by 'ddd';

5

আছে কিনা তা পরীক্ষা করে দেখুন

'ব্যবহারকারী' @ '%'

অথবা

'ব্যবহারকারী' @ 'স্থানীয় হোস্ট'


4

আপনি SQL ব্যবহারকারীর সঙ্গে মুছে ফেলতে চান, তাহলে আপনি এই টেবিল সম্পর্কিত ডেটা মুছে দেওয়ার প্রয়োজন: columns_priv, db, procs_priv, tables_priv। তারপরে মৃত্যুদণ্ড কার্যকর করুনflush privileges;


চমৎকার উত্তর!! আপনার উত্তরটি "" এই প্যাচটি ব্যবহার করুন এবং আপনি যেতে ভাল "এর চেয়ে আসলে 'পর্দার অন্তরালে' সমস্যাটি প্রকাশিত হয়েছে issue আমি উভয় প্রকারের উত্তরগুলি একসাথে অন্তর্ভুক্ত করতে পছন্দ করি যাতে আমি এটি স্যুপ থেকে বাদাম পর্যন্ত বুঝতে পারি। এখনই আমি জানি যে আপনি যদি এটি সঠিকভাবে করতে চলেছেন তবে এইভাবে এটি করা কতটা কাজ - এবং এটি অন্যদের দ্বারা বর্ণিত পদ্ধতিগুলি কেন ব্যবহার করা উচিত তা আরও জোরদার করে। অসাধারণ! যদিও উপরের অনেকগুলি উত্তর ভাল ছিল, আমি আপনাকে আমার ভোট দিচ্ছি কারণ আমি জানি যে এই সাইটে নতুন আগত হওয়াটা কেমন। আপনি যখন নতুন হন তখন এগুলি অন্যকে সহায়তা করা সত্যই কঠিন করে তোলে।
বন্দী 13

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

এটি সঠিক সমাধান !!!
জিউসেপ

3

এই ইস্যুতে একটি সাধারণ কাজ। "মুছে ফেলুন" কমান্ডটি কেবল "মাইএসকিএল" ডাটাবেসের "ব্যবহারকারীর" টেবিলের ব্যবহারকারীর রেকর্ডটিকে সরিয়ে দেয়, আমরা এটি আবার যুক্ত করতে পারি এবং তারপরে ব্যবহারকারীকে পুরোপুরি ফেলে দিতে পারি। তারপরে আপনি একই নামের সাথে ব্যবহারকারী তৈরি করতে পারেন।

পদক্ষেপ 1. মাইএসকিএল ডাটাবেসে ব্যবহারকারী সারণীর রেকর্ড বিন্যাসটি সন্ধান করুন

use mysql;
select * from user;

পদক্ষেপ ২. পদক্ষেপ 1 এ প্রদর্শিত কলাম অনুসারে, ব্যবহারকারীর নাম সহ একটি ডামি রেকর্ড তৈরি করুন। এটি টেবিলের মধ্যে sertোকান, উদাহরণস্বরূপ, আপনার ব্যবহারকারীর নাম দিয়ে "ব্যবহারকারীর নাম" প্রতিস্থাপনের জন্য মনে করিয়ে দিন।

Insert into user value ('%','username','N','N','N','N','N',
'N','N','N','N','N','N','N','N','N','N','N','N','N','N','N',
'N','N','N','N','N','N','N','N','N','','','','','0','0','0',
'0','mysql_native_password',
'*52C5E3AC6BC5E2E0BFF86978BF62A1481AC79D58','N',
'2016-12-10 23:59:12',null,'N');

দ্রষ্টব্য: কখনও কখনও আপনি সন্নিবেশ করানোর ক্ষেত্রে সমস্যার মুখোমুখি হতে পারেন, এটি কাজ করার জন্য ডেটা পরিবর্তন করুন।

পদক্ষেপ 3. ব্যবহারকারীর ড্রপ।

drop user username;

এখন আপনি একই নামের সাথে ব্যবহারকারী তৈরি করতে সক্ষম হন।


<< টেবিলের নাম>
কারাগার 13

3

মজাদারভাবে মাইএসকিউএল ওয়ার্কবেঞ্চ এটি আমার জন্য সমাধান করেছে। প্রশাসনের ট্যাবে -> ব্যবহারকারী এবং সুবিধাদিতে, ব্যবহারকারীকে একটি ত্রুটির সাথে তালিকাভুক্ত করা হয়েছিল। মুছুন বিকল্পটি ব্যবহার করে সমস্যার সমাধান হয়েছে।


2

এই পোস্টটি মাইএসকিউএল এরর 1045 (28000): ব্যবহারকারীর 'বিল' @ 'লোকালহোস্ট' (পাসওয়ার্ড ব্যবহার করে: YES) এর জন্য অ্যাক্সেস অস্বীকৃত । কখনও কখনও, একটি বেনামে ব্যবহারকারী '' @ 'লোকালহোস্ট' বা '' @ '127.0.0.1' থাকে। সুতরাং, সমস্যার সমাধান করতে,

  1. প্রথমে ব্যবহারকারীর ড্রপ করুন যার 'ব্যবহারকারী তৈরি করুন' ব্যর্থ হয়েছে।

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

  3. নতুন ব্যবহারকারীর জন্য প্রয়োজনীয় সুযোগ-সুবিধা প্রদান করুন।

  4. ফ্ল্যাশ সুবিধা।


এর জন্য ধন্যবাদ. আমি মাইএসকিএল_সিকিউর_ইনস্টলেশন চালাতে ভুলে গেছি যা অনামী ব্যবহারকারীকে মুছে ফেলেছে।
অবল্যাখ

2

আমারও ত্রুটি ছিল তবে "ফ্লুশ প্রাইভেলিজস" কমান্ড দিন; সাহায্য করেনি আমি এটি পছন্দ করেছিলাম:

CREATE USER 'jimmy'@'localhost' IDENTIFIED BY 'test123';
UPDATE mysql.user SET USER='jack' WHERE USER='jimmy';

0

মাইএসকিউএল সার্ভার --স্কিপ-অনুদান-সারণী বিকল্পের সাথে চলছে তাই এটি এই বিবৃতিটি কার্যকর করতে পারে না


0

আমি জানি এটি পুরানো, তবে যেহেতু গুগলের মধ্যে এটি প্রথম ফলাফল, তাই আমার সমাধানটি যুক্ত করা উচিত। আমার ক্ষেত্রে ব্যবহারকারী বাদ দেওয়ার কাজটি ভাল কাজ করেছে, তবে ব্যবহারকারীকে পুনরুদ্ধার করে আমাকে একটি "ERROR 2013 (HY000) দিয়েছে: ক্যোয়ারির সময় মাইএসকিউএল সার্ভারের সাথে সংযোগ হারিয়েছে" এবং "এরর 2006 (HY000): মাইএসকিউএল সার্ভার চলে গেছে।" আমি ফ্লাশ সুবিধাগুলি -> ড্রপ ব্যবহারকারীর সমাধান চেষ্টা করেছিলাম, তবে এখনও একই ত্রুটি ছিল।

আমার ক্ষেত্রে ত্রুটিটি 5.1 -> 5.6 থেকে মাইএসকিএল আপগ্রেড হওয়ার কারণে হয়েছিল। ত্রুটির লগগুলি দেখে, আমি লক্ষ্য করেছি যে এটি মাইএসকিএল_আপগ্রেড চালানোর জন্য বলেছে। এটি কি এবং আমার তৈরি ব্যবহারকারী বিবৃতিটি ভাল কাজ করেছে!


0

আমি সম্প্রতি এই ত্রুটি পেয়েছি।

আমার জন্য যা কাজ করেছে তা হ'ল মাইএসকিএল ওয়ার্কবেঞ্চ 'ব্যবহারকারী এবং অধিকার' এ যাচাই করছে এবং উপলব্ধি করে যে ব্যবহারকারীর অস্তিত্ব এখনও রয়েছে।

সেখান থেকে এটিকে মুছে ফেলার পরে, আমি ব্যবহারকারীকে পুনরায় তৈরি করতে সক্ষম হয়েছি।


0

mysql> DELETE FROM mysql.db WHERE user = 'jack'

সার্ভারটি পুনরায় চালু করুন:

# mysql.server restart

অতঃপর তোমার CREATE USERআদেশ পালন কর।


এটি দরকারী নয়। ত্রুটি সম্মুখীন হয়েছিল CREATEপরে DELETE
ওয়াকসগার্ড

0

আমি আজ এই সমস্যাটির মুখোমুখি হয়েছি এবং নিম্নলিখিত পদক্ষেপগুলি দ্বারা এটি সমাধান করেছি:

1) ম্যানুয়ালি সেই ঝামেলা ব্যবহারকারীকে বাধ্যতামূলক ক্ষেত্রগুলির মান সরবরাহ করে mysql.user

mysql> insert into user(Host, User, Password, ssl_type) 
   values ('localhost', 'jack', 'jack', 'ANY');

2)

mysql> select * from user where User = 'jack';
   1 row in set (0.00 sec)

3) ক।

mysql> drop user jack;
Query OK, 0 rows affected (0.00 sec)

B. mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

C. mysql> create user 'jack' identified by 'jack';
Query OK, 0 rows affected (0.00 sec)

D. mysql> select Host, User, Password, ssl_type  from user where User = 'jack';
+-----------+-----------+-------------------------------------------+----------+
| Host      | User      | Password                                  | ssl_type |
+-----------+-----------+-------------------------------------------+----------+
| localhost | jack      | jack                                      | ANY      |
| %         | jack      | *45BB7035F11303D8F09B2877A00D2510DCE4D758 |          |
+-----------+-----------+-------------------------------------------+----------+
2 rows in set (0.00 sec)

4) এ।

mysql> delete from user 
 where User = 'nyse_user' and 
       Host = 'localhost' and 
       Password ='nyse';
Query OK, 1 row affected (0.00 sec)

বি

mysql> select Host, User, Password, ssl_type  from user where User = 'jack';
+------+-----------+-------------------------------------------+----------+
| Host | User      | Password                                  | ssl_type |
+------+-----------+-------------------------------------------+----------+
| %    | jack      | *45BB7035F11303D8F09B2877A00D2510DCE4D758 |          |
+------+-----------+-------------------------------------------+----------+
1 row in set (0.00 sec)

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


-2

Mysql.db (সম্ভবত অন্যান্য টেবিল থেকেও) ব্যবহারকারীর সম্পর্কিত ডেটা মুছুন, তারপরে দুটি পুনরায় তৈরি করুন।


-2

আমিও একই সমস্যার মুখোমুখি হয়েছি, কয়েকটি অনুসন্ধানের পরে, আমি একটি সমাধান পেয়েছি যা আমার পক্ষে কাজ করেছে I আমি আশা করি এটি আপনাকে সহায়তা করবে। যেমন আপনি ইতিমধ্যে ব্যবহারকারী তৈরি করেছেন, এখন FLUSH PRIVILEGESআপনার মাইএসকিএল কনসোলটিতে একটি করার চেষ্টা করুন । এই সমস্যাটি ইতিমধ্যে মাইএসকিএল বাগ পোস্টে রয়েছে। আপনি এটি পরীক্ষা করতে পারেন। এখন ফ্লাশ করার পরে আপনি একটি নতুন ব্যবহারকারী তৈরি করতে পারেন। নীচের পদক্ষেপগুলি অনুসরণ করুন:

Step-1: Open terminal Ctrl+Alt+T
Step-2: mysql -u root -p  , it will ask for your MySQL password.

এখন আপনি মাইএসকিএল কনসোল দেখতে পারবেন।

Step-3: CREATE USER 'username'@'host' IDENTIFIED by 'PASSWORD';

ব্যবহারকারীর নাম পরিবর্তে আপনি নিজের ব্যবহারকারীর নাম রাখতে পারেন। আপনি যদি নিজের স্থানীয় মেশিনে মাইএসকিএল চালাচ্ছেন তবে হোস্টের পরিবর্তে "লোকালহোস্ট" টাইপ করুন , অন্যথায় আপনি যে সার্ভারটির নাম ব্যবহার করতে চান তার নাম দিন give

উদাহরণস্বরূপ: 'হ্যালো' দ্বারা স্বীকৃত ইউজার স্মৃতি @ লোকালহোস্ট;

এখন নতুন ব্যবহারকারী তৈরি করা হয়েছে। আপনি যদি সমস্ত অ্যাক্সেস দিতে চান তবে টাইপ করুন

GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';

এখন আপনি মাইএসকিউএল টাইপ করে প্রস্থান করতে পারেন \q.এইবার আবার লগইন করুন

mysql -u newusername -pতারপরে এন্টার টিপুন। আপনি সব দেখতে পারেন।

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

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