MySQL পাসওয়ার্ডের মেয়াদ শেষ হয়ে গেছে। সংযোগ করতে পারছি না


87

আমি সবেমাত্র আমার ম্যাকটি মুছে ফেলেছি এবং এল ক্যাপিটানের একটি নতুন ইনস্টল করেছি। আমি এখন মাইএসকিএলে সংযোগের জন্য লড়াই করছি। একটি ওয়েব সার্ভার সেটআপ প্রক্রিয়াটি পেরিয়ে যাওয়ার পরে, আমি একটি সাধারণ পিএইচপি পরীক্ষা ফাইল তৈরি করেছি:

<?php
  $conn = new mysqli("127.0.0.1", "root", "xxxxxxxx");
  if ($conn->connect_error) echo "Connection failed: " . $conn->connect_error; 
  else echo "Connected successfully";
  phpinfo();
?>

আমি যখন এটি চালাব, আমি এই ত্রুটিটি পেয়েছি:

Warning: mysqli::mysqli(): (HY000/1862): Your password has expired. To log in you must change it using a client that supports expired passwords. in /Users/rich/Documents/DESIGN/test/index.php on line 3
Connection failed: Your password has expired. To log in you must change it using a client that supports expired passwords.

আমি আগে কখনও কোনও সংযোগ থেকে সেই প্রতিক্রিয়া দেখিনি। আমি সংযোগ না দিতে পারলে কীভাবে আমি এটি ঠিক করব?

সম্পাদনা

টার্মিনালে আমি কমান্ডটি প্রবেশ করলাম:

mysql -u root -p

এটি আমার পাসওয়ার্ড (বর্তমানের পাসওয়ার্ড) সম্পর্কে জিজ্ঞাসা করেছিল যা আমি রেখেছি mys

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

আমি কীভাবে পাসওয়ার্ডটি পুনরায় সেট করব ALTER USER?


আমারও একই সমস্যা হচ্ছে।
রোহান সানাপ

এটি সত্যিই বিরক্তিকর যে একটি পুরো পরিষেবা এই কারণে বন্ধ হয়ে যেতে পারে
tofutim

4
চলমান চেষ্টা করুন/usr/local/mysql/bin/mysqladmin -u root -p password
কনার জোঁক

4
@ কননরলিচ হোমব্রিউয়ের মারিয়াডিবির মেয়াদোত্তীর্ণ রুট পাসওয়ার্ডটি পুনরায় সেট করার চেষ্টা করে ঘন্টা ব্যয় করেছেন, তবে এটি আমার জন্য এটি স্থির করে দিয়েছে - ধন্যবাদ!
অ্যালেক্স হলসগ্রোভ 21 '45

উত্তর:


179

সুতরাং আমি অবশেষে সমাধানটি নিজেই খুঁজে পেয়েছি।

প্রথমত আমি টার্মিনালে গিয়ে টাইপ করেছি:

mysql -u root -p

এটি আমার বর্তমান পাসওয়ার্ডের জন্য জিজ্ঞাসা করেছিল যা আমি টাইপ করেছি এবং এটি আমাকে আরও মাইএসকিএল কমান্ড সরবরাহ করতে অ্যাক্সেস দিয়েছে। আমি এখান থেকে যা কিছু চেষ্টা করেছি তা এই ত্রুটিটি দিয়েছে:

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

এটি বিভ্রান্তকর কারণ কারণ আমি ALTER USERবিবৃতিটি ব্যবহার করে পাসওয়ার্ডটি পুনরায় সেট করার কোনও উপায় দেখতে পেলাম না , তবে আমি আরও একটি সহজ সমাধান পেয়েছি:

SET PASSWORD = PASSWORD('xxxxxxxx');


এটি কি সঠিকভাবে কাজ করেছে? ভবিষ্যতে এই পদক্ষেপগুলি অনুসরণ করার পরে এটি কোনও ত্রুটি দিয়েছে?
রোহান সানাপ

অনেক ধন্যবাদ! এটি আমার জন্যও কাজ করেছিল। আমাকে প্রচুর ঘন্টা বাঁচিয়েছে।
টিবিজে

4
আমি মাইএসকিউএল এর 5..7.৯ সংস্করণ ব্যবহার করি এবং এটি এখন মাইএসকিউএল কমান্ড প্রম্পট থেকে এই ত্রুটি বার্তাটি হিসাবে অবহিত করা হয়েছে: সতর্কতা (কোড 1287): 'সেট পাসওয়ার্ড = পাসওয়ার্ড (' <ਪਲੇিনটেক্সট_প্যাসওয়ার্ড> ')' অবচয় করা হয়েছে এবং এতে সরানো হবে ভবিষ্যতের মুক্তি দয়া করে এর পরিবর্তে SET PASSWORD = '<ਪਲੇিনটেক্সট_প্যাসওয়ার্ড>' ব্যবহার করুন
ফাবিয়ানো

আমি দুঃখিত যে এটি আমার পক্ষে কাজ করে নি তবে পিয়োটার এন দ্বারা পোস্ট করা পরিবর্তক ব্যবহারকারী কাজ করেছেন। সম্ভবত মাইএসকিউএলের বিভিন্ন সংস্করণে অপারেটিং।
এমজি বিকাশকারী

89

প্রথমত, আমি ব্যবহার করি:

 mysql -u root -p

'রুট' এর জন্য আমার বর্তমান পাসওয়ার্ড দেওয়া। পরবর্তী:

mysql> ALTER USER `root`@`localhost` IDENTIFIED BY 'new_password',
       `root`@`localhost` PASSWORD EXPIRE NEVER;

'new_password'ব্যবহারকারী 'রুট' এর জন্য একটি নতুন পাসওয়ার্ডে পরিবর্তন করুন ।
এটি আমার সমস্যার সমাধান করেছে।


4
ত্রুটি পেতে: ERROR 1064 (42000): আপনার এসকিউএল সিন্টেক্সে আপনার একটি ত্রুটি রয়েছে; 'মাইক্রোসফট' @ 'লোকালহোস্ট' পরিচয় 'নতুন পাসওয়ার্ড', 'রুট' @ 'লোকালহোস্ট' পাসওয়ার্ড '
কেতাভ চোটালিয়া

এটি ভাল কাজ করেছে। 'আপনার_পাসওয়ার্ড', 'ব্যবহারকারীর' @ '%' পাসওয়ার্ড এক্সপায়ারের কাছ থেকে ব্যবহারকারীর ব্যবহারকারীর নাম '@'% 'সনাক্তকরণ করুন;
দ্য লিজেন্ডারিকপি কোডার

4
ত্রুটি পাওয়া: ERROR 1805 (HY000): Column count of mysql.user is wrong. Expected 45, found 46. The table is probably corrupted
পুলকিত পাহওয়া

52

mysqladmin -u [username] -p passwordওএস এক্স এল ক্যাপিটান এবং মাইএসকিউএল 5.7.12 কমিউনিটি সার্ভারে আমার জন্য কাজ করেছে। উদাহরণ:

$ /usr/local/mysql/bin/mysqladmin -u root -p password
Enter password:
New password:
Confirm new password:
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

এটি প্যাভন সাচির উত্তরের মতো, তবে পাসওয়ার্ডের অনুরোধগুলির সাথে।

আমার ত্রুটিটি ছিল "# 1862 - আপনার পাসওয়ার্ডের মেয়াদ শেষ হয়ে গেছে log পিএইচপিএমআইএডমিন লগইন স্ক্রিনে প্রথমবার।


ওএস এক্স এল ক্যাপিটাল এবং মাইএসকিউএল 5.17.13 আমার জন্যও কাজ করেছেন! এর জন্য ধন্যবাদ!
জেকে

4
এটি উল্লেখ করার মতো যে "পাসওয়ার্ড" শব্দটি কোনও স্থানধারক নয় , তবে "রুট" আপনি যে ব্যবহারকারীর নাম আপডেট করতে চান তার নাম:mysqladmin -u [username] -p password
এলোমেলো_

এটি লিনাক্সে (আপাতদৃষ্টিতে) আমার পক্ষে কাজ করেছে (ফেডোরা 25)। ধন্যবাদ
অবিনাশ মিটু

হাল্লুজা !! সেরা আদেশ সর্বদা আমি সর্বত্র তাকিয়ে ছিলাম কিন্তু শেষ পর্যন্ত এটিই এর সমাধান করেছে solved আপনাকে অনেক ধন্যবাদ
কনার জোঁক

19

মাইএসকিউএল পাসওয়ার্ডের মেয়াদ শেষ

পাসওয়ার্ড পুনরায় সেট করা কেবলমাত্র অস্থায়ীভাবে সমস্যার সমাধান করবে। মাইএসকিউএল 5.7.4 থেকে 5.7.10 (আরও ভাল সুরক্ষার জন্য উত্সাহ দিতে - মাইএসকিউএল দেখুন: পাসওয়ার্ড মেয়াদোত্তীকরণ নীতি ) ডিফল্ট default_password_lifetimeভেরিয়েবলের মান হয় 360 (1 বছর-ইশ)। এই সংস্করণগুলির জন্য, আপনি যদি এই পরিবর্তনশীল (বা স্বতন্ত্র ব্যবহারকারীর অ্যাকাউন্টগুলিতে) কোনও পরিবর্তন না করেন তবে সমস্ত পাসওয়ার্ড 360 দিনের পরে শেষ হবে

সুতরাং কোনও স্ক্রিপ্ট থেকে আপনি এই বার্তাটি পেতে পারেন: "আপনার পাসওয়ার্ডটির মেয়াদ শেষ হয়ে গেছে log লগ ইন করতে আপনাকে অবশ্যই এমন ক্লায়েন্ট ব্যবহার করে পরিবর্তন করতে হবে যা মেয়াদ উত্তীর্ণ পাসওয়ার্ডগুলিকে সমর্থন করে।"

স্বয়ংক্রিয় পাসওয়ার্ডের মেয়াদ শেষ হওয়া বন্ধ করতে, রুট হিসাবে লগ ইন করুন ( mysql -u root -pতারপরে, ক্লায়েন্টগুলির জন্য যা স্বয়ংক্রিয়ভাবে সার্ভারের সাথে সংযুক্ত হয় (যেমন স্ক্রিপ্টস) পাসওয়ার্ডের মেয়াদোত্তীর্ণ সেটিংস পরিবর্তন করুন:

ALTER USER 'script'@'localhost' PASSWORD EXPIRE NEVER;

বা আপনি সমস্ত ব্যবহারকারীর জন্য স্বয়ংক্রিয় পাসওয়ার্ডের মেয়াদ শেষ করতে অক্ষম করতে পারেন :

SET GLOBAL default_password_lifetime = 0;

মন্তব্যে মার্টাদিনের দ্বারা চিহ্নিত হিসাবে , সেটিংসের গোষ্ঠীর my.cnfঅধীনে, মাইএসকিউএল স্টার্টআপে পড়া কোনও ফাইলে এই স্থায়ীটি যুক্ত করার জন্য permanent [mysqld]এর অবস্থানmy.cnf আপনার সেটআপের উপর নির্ভর করে (যেমন উইন্ডোজ, বা ওএস এক্সের হোমব্রিউ, বা কোনও ইনস্টলার), এবং আপনি ইউনিক্স বা গ্লোবালটিতে এই ব্যবহারকারী-ব্যবহারকারী চান কিনা:

[মাইএসকিএলডি] default_password_lifetime = 0 (এখানে অন্যান্য সেটিংসও থাকতে পারে ...)

কনফিগারেশন ফাইলগুলিতে মাইএসকিউএল ডক্স দেখুন ।


4
ইতিমধ্যে মেয়াদোত্তীর্ণ পাসওয়ার্ড সহ, কেবলমাত্র বিশ্বব্যাপী সেটিংসই আমার পক্ষে কাজ করেছিল।
মার্টিনাস

4
আপনি এই প্যারামিটারটিকে /etc/mysql/my.cnf এ, mysqld এর অধীনে যুক্ত করতে পারেন; ডিফল্ট_পাসওয়ার্ড_লাইফটাইম = 0 অন্যথায়, মাইএসকিএল পুনরায় চালু হওয়ার পরে আপনি আবার একই ত্রুটি পাবেন।
মেরতায়দিন

4
আপনাকে ধন্যবাদ ডেভ এভারিট এবং @মারতায়দিন!
ওয়েবএমডাব্লু

11

ম্যাক ওএস এক্স ক্যাপ্টেনে মাইএসকিএল ইনস্টল করার সময় আমি সম্প্রতি একই সমস্যাটি পেরেছি। আমি এখানে সঠিক উত্তর খুঁজে পাইনি, সুতরাং এই উত্তরটি যুক্ত করুন।

বর্তমান সংস্করণগুলিতে মাইএসকিউএল, যখন আপনি মাইএসকিএল ইনস্টল করেন তখন একটি অস্থায়ী পাসওয়ার্ড তৈরি করে। নিচের মত mysqladmin ইউটিলিটি ব্যবহার করে একটি নতুন পাসওয়ার্ড সেট করতে এই পাসওয়ার্ডটি ব্যবহার করুন;

/ usr / স্থানীয় / mysql / bin / mysqladmin -u root -p '<আপনার অস্থায়ী পাসওয়ার্ড>' পাসওয়ার্ড '<আপনার নতুন পাসওয়ার্ড>'

আশা করি এটি আপনাকে এবং অন্যদের সহায়তা করে।


7

লগ ইন করতে কেবল মাইএসকিউএল ওয়ার্কবেঞ্চটি ডাউনলোড করুন It এটি আপনাকে অবিলম্বে এবং স্বয়ংক্রিয়ভাবে পাসওয়ার্ড পরিবর্তন করতে অনুরোধ করবে।


4

নিরাপদ মোডে MYSQL শুরু করুন

mysqld_safe --skip-grant-tables &

MYSQL সার্ভারে সংযুক্ত করুন

mysql -u root

পাসওয়ার্ড পুনরায় সেট করতে এসকিউএল কমান্ডগুলি চালান:

use mysql;
SET GLOBAL default_password_lifetime = 0;
SET PASSWORD = PASSWORD('new_password');

শেষ পদক্ষেপ, আপনার মাইএসকিএল পরিষেবাটি পুনরায় চালু করুন


4

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

ALTER USER `root`@`localhost` IDENTIFIED BY 'new_password', `root`@`localhost` PASSWORD EXPIRE NEVER;

4

সতর্কতা: এটি যে কোনও ব্যবহারকারীকে লগইন করার অনুমতি দেবে

আমাকে অন্য কিছু চেষ্টা করতে হয়েছিল। যেহেতু আমার মূল পাসওয়ার্ডটির মেয়াদ শেষ হয়ে গেছে এবং পরিবর্তন করা কোনও বিকল্প ছিল না কারণ এটি

Column count of mysql.user is wrong. Expected 45, found 46. The table is probably corrupted

অস্থায়ীভাবে এর skip-grant-tablesঅধীনে যুক্ত [mysqld]করা my.cnfএবং মাইএসকিএল পুনরায় চালু করা কৌশলটি করেছিল


4

উইন্ডোজে phpmyadmin এ ভেরিয়েবলগুলি দেখুন: ডিফল্ট_পাসওয়ার্ড_লাইফটাইম, এবং এটিকে 0 এ স্যুইচ করুন (360 এর পরিবর্তে), উপভোগ করুন।

মাইএসকিউএল থেকে আবার 360 দিন সময় নেওয়া তার পক্ষে সম্ভব, সুতরাং মাইআইএনআইতে যুক্ত করুন:

[mysqld]
default_password_lifetime=0

এবং মাইএসকিএল পুনরায় চালু করুন।


ডিফল্ট_পাসওয়ার্ড_লাইফটাইমের চেয়ে এটি আবার 360 দিন সময় নেয়, সুতরাং my.ini এ যুক্ত করুন:
লরেন্ট জমিঙ্কা


1

--স্কিপ-অনুদান-সারণী বিকল্পের সাথে মাইএসকিউএল সার্ভার পুনরায় আরম্ভ করুন এবং তারপরে একটি নতুন রুট পাসওয়ার্ড সেট করুন

$ mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET password=PASSWORD("NEWPASSWORD") WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit

এখন আপনার যদি প্রয়োজন হয় তবে পাসওয়ার্ডের মেয়াদ শেষ না হয়ে mysql.user টেবিলটি (ফিল্ড পাসওয়ার্ড_এক্স্পায়ার্ড = 'এন') আপডেট করতে পারেন।


আমি যখন প্রথম কমান্ডটি প্রবেশ করি তখন আমি mysql -u rootএই ত্রুটিটি ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
পাই

রেকর্ডের জন্য আমি প্রথম কমান্ডটি পরিবর্তন করে mysql -u root -pতারপরে প্রবেশ করতে পেরেছিলাম তখন আমার কাছে যে পাসওয়ার্ডটি You must reset your password using ALTER USER statement before executing this statement.
রেখেছিল

আপনি কীভাবে ALTER USER ব্যবহার করে পাসওয়ার্ডটি পুনরায় সেট করবেন জানেন? আমি মাইএসকিএলের সাথে তেমন ভাল নই (আমি নোডজেএস / মঙ্গোডিবি ব্যক্তির চেয়ে বেশি)।
ক্যারিবো কোড

1

এই সমস্ত উত্তর মাইএসকিউএল অ্যাক্সেস করতে লিনাক্স কনসোল ব্যবহার করছে।

আপনি যদি উইন্ডোতে থাকেন এবং ডাব্লুএইচএএমপি ব্যবহার করেন তবে আপনি মাইএসকিউএল কনসোলটি খুলতে শুরু করতে পারেন ( click WAMP icon->MySQL->MySQL console)।

তারপরে এটি আপনাকে আপনার বর্তমান পাসওয়ার্ডটি প্রবেশ করার জন্য অনুরোধ করবে it

এবং তারপর টাইপ করুন SET PASSWORD = PASSWORD('some_pass');


1

সেরা সহজ সমাধান:

[PATH MYSQL]/bin/mysql -u root
[Enter password]
SET GLOBAL default_password_lifetime = 0;

এবং তারপরে সূক্ষ্ম কাজ করে।


1

এই কাজটি আমার জন্য:

সূত্র: https://www.diariodeunprogramador.net/fallo-al-conectar-mysql- আপনার- পাসওয়ার্ড- এক্সপ্রায়ার্ড /

রুট হিসাবে লগইন করুন:

mysql -u root -p

এবং তারপরে আপনি সমস্ত ব্যবহারকারীর পাসওয়ার্ডগুলির স্বয়ংক্রিয় মেয়াদোত্তীকরণ নিষ্ক্রিয় করেছেন:

SET GLOBAL default_password_lifetime = 0;

0

পাসওয়ার্ডের মেয়াদোত্তীর্ণতা মাইএসকিউএল 5.6 বা 5.7 এ একটি নতুন বৈশিষ্ট্য।

উত্তরটি পরিষ্কার: একটি ক্লায়েন্ট ব্যবহার করুন যা মেয়াদোত্তীর্ণ পাসওয়ার্ড পরিবর্তন করতে সক্ষম (আমার মনে হয় সিকোয়েল প্রো এটি করতে পারে)।

মাইএসকিউএল লাইব্রেরি স্পষ্টতই মেয়াদোত্তীর্ণ পাসওয়ার্ড পরিবর্তন করতে সক্ষম নয়।

আপনার যদি লোকালহোস্টের সীমাবদ্ধ অ্যাক্সেস থাকে এবং আপনার কাছে কেবল কনসোল ক্লায়েন্ট রয়েছে, মানক MySQL ক্লায়েন্ট এটি করতে পারে।


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

0

মাইএসকিউএল কনসোলটি খুলুন এবং SET PASSWORD = 'আপনার পাসওয়ার্ড' টাইপ করুন; এবং তারপরে ENTER কী টিপুন যা ব্যবহারকারীর রুটের জন্য আপনার সংজ্ঞায়িত পাসওয়ার্ড সেট করবে।

আপনি কেবল SET PASSWORD = '' লিখতে পারেন; যা রুট ব্যবহারকারীর জন্য পাসওয়ার্ড ফাঁকা হিসাবে সেট করবে।



0

কেবল মাইএসকিউএল ওয়ার্কবেঞ্চ খুলুন এবং [ইনস্ট্যান্স] স্টার্টআপ / শাটডাউন চয়ন করুন এবং স্টার্ট সার্ভারে ক্লিক করুন। এটা আমার জন্য কাজ করেছে

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