মাইএসকিউএল ভি 5.7 ব্যবহার করে মাইএসকিউএল 'রুট' পাসওয়ার্ড কীভাবে পরিবর্তন করবেন?


14

বর্তমান পরিবেশ:

mysql> show variables like "%version%";
+-------------------------+------------------------------+
| Variable_name           | Value                        |
+-------------------------+------------------------------+
| innodb_version          | 5.7.13                       |
| protocol_version        | 10                           |
| slave_type_conversions  |                              |
| tls_version             | TLSv1,TLSv1.1                |
| version                 | 5.7.13                       |
| version_comment         | MySQL Community Server (GPL) |
| version_compile_machine | x86_64                       |
| version_compile_os      | Linux                        |
+-------------------------+------------------------------+
8 rows in set (0.01 sec)

পাসওয়ার্ড পরিবর্তন কমান্ড ব্যবহারকারী:

mysql> update user set password=PASSWORD("XXXX") where user="root";
ERROR 1054 (42S22): Unknown column 'password' in 'field list'

আমি কিছু অনুপস্থিত করছি?


mysqlনিরাপদ মোডের অধীনে শুরু করার চেষ্টা করুন। তারপরে আপনি রুট পাসওয়ার্ডটি পরিবর্তন করতে পারেন
মংগ্রেল

এই থ্রেডটি পড়ার জন্য কারও কাছে। মাইএসকিউএল 5.7 এর হুডের নিচে উল্লেখযোগ্য পরিবর্তন রয়েছে। আপগ্রেড করার আগে দয়া করে সেগুলি সম্পর্কে পড়ুন ।
রুই এফ রিবেইরো

উত্তর:


24

মাইএসকিউএল 5.7 সালে passwordমাঠে mysql.userসারণী ক্ষেত্র অপসারণ করা হয়েছে, এখন ক্ষেত্র নাম authentication_string

প্রথমে ডাটাবেসটি বেছে নিন:

mysql> use mysql;

এবং তারপরে টেবিলগুলি প্রদর্শন করুন:

mysql> show tables;

আপনি userটেবিলটি খুঁজে পাবেন এবং এর ক্ষেত্রগুলি দেখুন:

mysql> describe user;

আপনি বুঝতে পারবেন যে কোনও ক্ষেত্রের নাম নেই password, পাসওয়ার্ড ক্ষেত্রটির নাম দেওয়া হয়েছে authentication_string। সুতরাং, কেবল এটি করুন:

update user set authentication_string=password('XXXX') where user='root';

@ রুই এফ রিবেইরোর পরামর্শ অনুসারে, বিকল্পভাবে আপনি চালাতে পারবেন:

mysql> SET PASSWORD FOR 'root' = PASSWORD('new_password');

1
প্রমাণীকরণ_ স্ট্রিং রেফারেন্সের জন্য +1। আমি সম্প্রতি এটি সম্পর্কে 5.7
রুই এফ রিবেইরো

4
যদিও এটা সম্পূর্ণরূপে এই উত্তর নির্দেশ করা হয় না, 5.7 জন্য আরেকটি বিকল্প নেইSET PASSWORD FOR 'root' = PASSWORD('new_password');
রুই এফ শর্তাবলীবুঝতে

1
@ রুইএফরিবিও ধন্যবাদ, আমার উত্তর আপডেট করেছেন
রাহুল

1
রাহুল প্রথমে আমি থ্রেডটি পরবর্তী সময়ে 5.. than-এ সম্পাদনা করেছিলাম, তবে প্রশ্নের জাগাতে আরও রাখার জন্য এটি মাইএসকিউএল ৫.7 ব্যবহার করে পরিবর্তিত করেছি। উদাহরণস্বরূপ @ শিভু জানতেন না যে এটি 5.7 এর পরিবর্তন।
রুই এফ রিবেইরো

1
এটি প্রশ্ন গঠনের একটি উপায়। আমরা কেবল ওপি-র সুবিধার জন্য প্রশ্নগুলি এবং উত্তরগুলি সম্পাদনা করছি না, পরে অন্যদের জন্যও।
রুই এফ রিবেইরো

2

পাসওয়ার্ড পরিবর্তন করার মাইএসকিউএল উপায় SET PASSWORD

SET PASSWORD FOR 'root' = PASSWORD('new_password');

দেখতে মাইএসকিউএল 5.7 রেফারেন্স ম্যানুয়াল / ... / Set Password সিনট্যাক্স

সেট পাসওয়ার্ড স্টেটমেন্টটি একটি মাইএসকিউএল ব্যবহারকারী অ্যাকাউন্টে একটি পাসওয়ার্ড বরাদ্দ করে, এটি ক্লিয়ারটেক্সট (এনক্রিপ্ট না করা) বা এনক্রিপ্ট করা মান হিসাবে চিহ্নিত করা হয়:

'auth_string' represents a cleartext password.

'hash_string' represents an encrypted password.

রাহুলের গৃহীত উত্তরটি DMLবিবৃতি সহ কীভাবে পাসওয়ার্ড আপডেট করবেন তা দেখায় ।

update user set authentication_string=password('XXXX') where user='root';

সতর্কতা: এটি সরকারী এবং সমর্থিত উপায় নয়। আপনি যদি না জানেন তবে এটি সমস্যার কারণ হতে পারে। ভুলবেন না FLUSH PRIVILEGES

বেশিরভাগ ক্রিয়াকলাপের জন্য, যেমন ব্যবহারকারী তৈরি করা, এর সুবিধাগুলি পরিবর্তন করা বা তার পাসওয়ার্ড পরিবর্তন করা, আপনি উচ্চ-স্তরের বিবৃতি ব্যবহার করতে চাইবেন। কেবল এগুলি ব্যবহার করা সহজ নয় এবং এগুলি মাইএসকিউএল সংস্করণগুলির একটি বৃহত সংখ্যার সাথে সামঞ্জস্যপূর্ণ নয়, তবে এগুলি আপনাকে ভুল করতেও বাধা দেবে (অবশ্যই, "NO_AUTO_CREATE_USER" স্কেল মোড সেটআপ করতে ভুলবেন না)। এমনকি তারা মাইআইএসএএম-প্রতিকূল পরিবেশে গ্যালেরা গুচ্ছের মতো সুন্দরভাবে কাজ করে।

ফ্ল্যাশ বেসামালিকাগুলি ব্যবহার বন্ধ করুন

দযা করে ব্যবহারের GRANT, REVOKE, SET PASSWORD, অথবা RENAME USERএবং সরাসরি DML বিবৃতি।

আপডেট: সেট পাসওয়ার্ড ... = পাসওয়ার্ড ('auth_string') সিনট্যাক্সটি মাইএসকিউএল ৫.7. dep হিসাবে অবচয় করা হয়েছে এবং ভবিষ্যতে মাইএসকিউএল রিলিজে সরানো হবে।


1

mysqladmin -u user-name password -p "oldpassword" "newpass"

আপনি যদি লগইন করতে পারেন তবে এই ""অভ্যাসটির কাজটি ''একক উদ্ধৃতি দিয়ে চেষ্টা করুন try

update user set password=PASSWORD("newpass") where User='ENTER-USER-NAME-HERE';


আমি যখন মাইস্ক্লাডমিন উত্তর পছন্দ করি তবে রাহুলের উত্তর দেখুন। আপনার এসকিউএল ক্যোয়ারী পুরানো। আমি মাইস্ক্লাডমিন সংশোধন করেছি, আপনি পাসওয়ার্ডের নির্দেশিকা অনুপস্থিত ছিলেন।
রুই এফ রিবেইরো

1
ধন্যবাদ রিবেইরো। আমি মিস করেছিauthentication_string
মংগ্রেল

0

আমার ক্ষেত্রে

mysql.server start
$ mysql -uroot
mysql> update user set authentication_string=password('123456') where User='root';
mysql> exit;
mysql.server restart (if you not restart , connection will not work.)

সুতরাং আমি মনে করি, আপনার আপডেট কমান্ডটি সঠিক, তবে আপনাকে আপনার মাইএসকিএল সার্ভারটি পুনরায় চালু করতে হবে।


-1

এই সমস্যার জন্য, আমি একটি সাধারণ এবং অভদ্র পদ্ধতি ব্যবহার করেছি, ক্ষেত্রের নামটি পাসওয়ার্ডে নামকরণ করেছি, এর কারণ হ'ল আমি ভিজ্যুয়াল অপারেশন ত্রুটিতে ম্যাক নেভিচ্যাট প্রিমিয়াম সফ্টওয়্যারটি ব্যবহার করছি: 'ক্ষেত্রের তালিকায়' অজানা কলাম 'পাসওয়ার্ড', সফ্টওয়্যার নিজেই পাসওয়ার্ড ব্যবহার করে যাতে আমি সহজে কাজ করতে পারি না। সুতরাং, আমি ডাটাবেস কমান্ড লাইনে রুট, চালান

Use mysql;

এবং তারপরে ক্ষেত্রের নামটি সংশোধন করুন:

ALTER TABLE user CHANGE authentication_string password text;

সব পরে।

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