কমান্ড লাইন ব্যবহার করে mysql ব্যবহারকারীর পাসওয়ার্ড পরিবর্তন করুন


84

আমি কমান্ড লাইনটি ব্যবহার করে একটি ডাটাবেস ব্যবহারকারীর জন্য পাসওয়ার্ড আপডেট করার চেষ্টা করছি এবং এটি আমার পক্ষে কাজ করছে না। এই কোডটি আমি ব্যবহার করছি:

mysql> UPDATE user SET password=PASSWORD($w0rdf1sh) WHERE user='tate256';

এই কোডটিতে কোনটি ভুল তা আমাকে বলতে পারে।


আচ্ছা আপনি কোন পদক্ষেপ অনুসরণ করছেন? কেবল এটি এনে দেওয়া কার্যকর হবে না। যদি আমি এটির একটি প্রক্রিয়া এবং কোডটি সঠিকভাবে মনে রাখি।
ইদ্রিস

আহ। কীভাবে এটি করা যায় সেই প্রক্রিয়াটি মনে আছে?
ব্যবহারকারীর 3310572

এটি কিছুটা
ইদ্রিস

উত্তর:


116

আপনার কোডে, একক উদ্ধৃতিতে পাসওয়ার্ড বদ্ধ করার চেষ্টা করুন। বিকল্পভাবে, মাইএসকিএলের ডকুমেন্টেশন অনুসারে, নিম্নলিখিতগুলির কাজ করা উচিত -

SET PASSWORD FOR 'jeffrey'@'localhost' = PASSWORD('cleartext password');

FLUSH PRIVILEGES;

শেষ লাইনটি গুরুত্বপূর্ণ বা অন্যথায় আপনার পাসওয়ার্ড পরিবর্তন দুর্ভাগ্যক্রমে কার্যকর হবে না।

সম্পাদনা:

আমি আমার স্থানীয় একটি পরীক্ষা চালিয়েছিলাম এবং এটি কাজ করে -

mysql>  set password for 'test' = PASSWORD('$w0rdf1sh');
Query OK, 0 rows affected (0.00 sec)

খনিটি হ'ল সংস্করণ 5.. আপনি নিজের সংস্করণ নির্ধারণ করতে নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন -

SHOW VARIABLES LIKE "%version%";

4
আমি যখন এটি করি, এটি অপ্রত্যাশিত টোকেনের নিকটে সিনট্যাক্স ত্রুটিটি ফিরে আসবে ('
ব্যবহারকার 3310572

4
আপনি মাইএসকিএল এর কোন সংস্করণ ব্যবহার করছেন? আমি সংস্করণ 5.0 নথি থেকে উপরের সিনট্যাক্সটি তুলেছি। আপনি যে কমান্ডটি পোস্ট করেছিলেন তা কি চেষ্টা করেছ?
Hellboy

আমি বিশ্বাস করি যে আমি একটি 4.0 সংস্করণ ব্যবহার করছি এবং হ্যাঁ আমি এটি ব্যবহার করে দেখেছি
user3310572

কমান্ডটি আমার জন্য মাইএসকিউএল ভের ১৪.১৪-তে ভাল কাজ করে, নিশ্চিত হয়ে যে পাসওয়ার্ডটি কোটে মুড়ে গেছে এবং পাসওয়ার্ডের কোনও উদ্ধৃতি এড়ানোর চেষ্টা করেছে।
স্নেভার

4
আশ্চর্যের বিষয় হল, ফ্লাশ করার পরেও এখনও আমার পক্ষে কাজ করে না :-( আমি 5.7.18-0ubuntu0.16.04.1
মাইএসকিএল

37

মাইএসকিউএল ৫.7..6 হিসাবে ব্যবহার করুন ALTER USER

উদাহরণ:

ALTER USER 'username' IDENTIFIED BY 'password';

কারণ:

  • SET PASSWORD ... = PASSWORD('auth_string') সিনট্যাক্সটি মাইএসকিউএল ৫.7..6 হিসাবে অবচয় করা হয়েছে এবং ভবিষ্যতে মাইএসকিউএল রিলিজে সরানো হবে।

  • SET PASSWORD ... = 'auth_string'সিনট্যাক্স অবহেলা করা হয় না, তবে ALTER USERএখন পাসওয়ার্ড নির্ধারণের জন্য পছন্দের বিবৃতি।


4
এটি কি পিএইচপি এর মাধ্যমে মাইএসকিউএল সাথে যোগাযোগের জন্য সত্য?
ওল্ডবয়

@ অ্যান্টনি হ্যাঁ যদি আপনার মাইএসকিউএল সংস্করণটি হয়> = 5.7.6
গোবিন্দ রাই

আমি মাইএসকিউএল এ নতুন। ALTER USER ... IDENTIFIED BY ...ঠিক কি করে ? কীভাবে UPDATE ... SET ...বা এর থেকে আলাদা INSERT INTO ...?
ওল্ডবয়

4
ALTER USER ... IDENTIFIED BY ...এটি একটি এসকিউএল বিবৃতি যা আপনার ডাটাবেসের জন্য ব্যবহারকারীর অনুমতিগুলি কনফিগার করে। UPDATEএবং INSERTবিভিন্ন কার্যকারিতা রয়েছে, যেমন নামগুলি প্রস্তাব দেয়, রেকর্ড আপডেট করে এবং আপনার ডাটাবেসে সারণিতে রেকর্ড সন্নিবেশ করে।
গোবিন্দ রাই

4
মারিয়াডিবিতে ত্রুটি দেয়ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'USER 'root' IDENTIFIED BY
পাভেল নিডোবা

14

দ্রষ্টব্য: আপনার রুট ব্যবহারকারী হিসাবে লগইন করা উচিত

 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('your password');


3

মাইএসকিউএল 5.7.6 এর আগে এটি কমান্ড লাইন থেকে কাজ করে:

mysql -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('$w0rdf1sh');"

পরীক্ষা করার জন্য আমার কাছে কোনও মাইএসকিএল ইনস্টল নেই তবে আমি মনে করি আপনার ক্ষেত্রে এটি হবে

mysql -e "UPDATE mysql.user SET Password=PASSWORD('$w0rdf1sh') WHERE User='tate256';"

2

উইন্ডোজ 10-এ, কেবলমাত্র বর্তমান লগইন থেকে বেরিয়ে এসে কমান্ড লাইনে এটি চালান

-> mysqladmin -u root password “newpassword”

রুটের পরিবর্তে যে কোনও ব্যবহারকারী হতে পারে।




-1

আপনার লগইন মূল হওয়া উচিত /usr/local/directadmin/conf/mysql.conf। তারপরে নিম্নলিখিত চেষ্টা করুন

UPDATE mysql.user SET password=PASSWORD('$w0rdf1sh') WHERE user='tate256' AND Host='10.10.2.30';
FLUSH PRIVILEGES;

হোস্টটি আপনার মাইএসকিএল হোস্ট।


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