কীভাবে মাইএসকিউএল রুট পাসওয়ার্ড সন্ধান করবেন


167

আমি আমার মাইএসকিউএল রুট পাসওয়ার্ডটি বের করতে পারি না; আমি এটি কিভাবে খুঁজে পেতে পারি? এই পাসওয়ার্ডটি সংরক্ষিত আছে এমন কোন ফাইল রয়েছে?

আমি এই লিঙ্কটি অনুসরণ করছি তবে স্থানীয়ভাবে আমার কাছে ডিরেক্টডমিন ডিরেক্টরি নেই।


একটি সহজ Google অনুসন্ধান দ্বারা পাওয়া গেছে: dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
Arran

11
ডিফল্ট রুট পাসওয়ার্ডটি হ'ল - এর জন্য অপেক্ষা করুন - "মূল" (উদ্ধৃতি ব্যতীত), বা কোনও পাসওয়ার্ড নেই (এবং এটি কি মাইএসকিএল সার্ভারটি সত্যই আপনার)
নিকোলা বোগদানিভি

হ্যাঁ এটি আমার ল্যাপটপে আমার স্থানীয়
মাইএসকিএল

সুতরাং কেউ কি এই প্রশ্নটি পেরিয়ে প্রতিটি সঠিক এবং প্রাসঙ্গিক উত্তরে একটি ডাউনভোটটি ফেলে দিয়েছিলেন ?
ল্যানজ

উত্তর:


142

@ তুষারকে ধন্যবাদ আমি পুরানো পাসওয়ার্ড না জেনে রুট পাসওয়ার্ডটি পুনরায় সেট করতে পারি।

উবুন্টুতে আমি নিম্নলিখিতগুলি করেছি:

sudo service mysql stop
sudo mysqld_safe --skip-grant-tables --skip-syslog --skip-networking

তারপরে নতুন টার্মিনালে mysql চালান:

mysql -u root

এবং পাসওয়ার্ড পরিবর্তন করতে নিম্নলিখিত প্রশ্নগুলি চালান:

UPDATE mysql.user SET authentication_string=PASSWORD('password') WHERE User='root';
FLUSH PRIVILEGES;

মাইএসকিউএল ৫.7-এ, mysql.user টেবিল ক্ষেত্রের পাসওয়ার্ড ক্ষেত্রটি সরানো হয়েছে, এখন ক্ষেত্রের নামটি 'প্রমাণীকরণ_স্তরকরণ'।

মাইএসকিএল নিরাপদ মোড থেকে প্রস্থান করুন এবং এর মাধ্যমে মাইএসকিএল পরিষেবা শুরু করুন:

mysqladmin shutdown
sudo service mysql start

24
আমাকে mysqladmin -u root -p shutdownনতুন পাসওয়ার্ড সহ ব্যবহার করতে হয়েছিল ।
এসএল বার্থ - মনিকা

2
সুন্দর নির্দেশ প্রবাহ বিশেষত: তারপরে নতুন টার্মিনালে
মাইএসকিএল চালান

8
আমি এটা করতে পারব না mysql -u root। এটি ত্রুটি দেখায়Access denied
অবিনাশ রাজ

4
@ অবিনাশরাজ: এটি চেষ্টা করুন: সুডো মাইএসকিএল-মূল
অ্যালেন গিংরিচ

অসাধারণ. আমি আরএইচএল in তে কী কাজ করেছে তা বুঝতে পেরেছি: টার্মিনাল 1: সুডো সার্ভিস মাইএসকিএল স্টপ সুডো mysqld_safe --স্কিপ-গ্রান্ট-টেবিলগুলি - স্কিপ-সিসলগ --স্কিপ-নেটওয়ার্কিং টার্মিনাল 2: মাইএসকিএল-রুট আপডেট আপডেট মাইকিএলএল ব্যবহারকারী সেট পাসওয়ার্ড = পাসওয়ার্ড ('নতুন পাসওয়ার্ড') যেখানে ব্যবহারকারী = 'রুট'; ফ্ল্যাশ বেসামালিকাগুলি; mysqladmin -u root -p শাটডাউন দ্রষ্টব্য: একবার আপনি mysqladmin বন্ধ করার পরে, আপনি টার্মিনাল 1 এ নিরাপদ মোডের প্রস্থান দেখতে পাবেন su sudo পরিষেবা mysql শুরু এটি এটি এবং এটি নতুন পাসওয়ার্ডের সাথে একটি মোহন মত কাজ করে!
স্ট্যাকওভারফ্লো ব্যবহারকারী

65

আপনি হ্যাশ পাসওয়ার্ড দেখতে পারবেন না; কেবলমাত্র আপনি যা করতে পারবেন তা হ'ল এটি পুনরায় সেট করুন!

মাইএসকিউএল বন্ধ করুন:

sudo service mysql stop

অথবা

$ sudo /usr/local/mysql/support-files/mysql.server stop

এটি নিরাপদ মোডে শুরু করুন:

$ sudo mysqld_safe --skip-grant-tables

(উপরের লাইনটি সম্পূর্ণ কমান্ড)

প্রক্রিয়া শেষ না হওয়া অবধি এটি একটি চলমান কমান্ড হবে সুতরাং অন্য শেল / টার্মিনাল উইন্ডোটি খুলুন, পাসওয়ার্ড ছাড়াই লগ ইন করুন:

$ mysql -u root

mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';

মাইএসকিউএল 5.7 এবং তার বেশি:

mysql> use mysql; 
mysql> update user set authentication_string=password('password') where user='root'; 

মাইএসকিউএল শুরু করুন:

sudo mysql start

অথবা

sudo /usr/local/mysql/support-files/mysql.server start

আপনার নতুন পাসওয়ার্ডটি 'পাসওয়ার্ড'।


sudo /usr/local/mysql/support-files/mysql.server স্টপ sudo: /usr/local/mysql/support-files/mysql.server: কমান্ড পাওয়া যায় নি
ইসুর

এক্ষেত্রে কী করবেন?
ইসুরু

দেখে মনে হচ্ছে মাইএসকিএল সঠিকভাবে ইনস্টল করা নেই। এটি সঠিকভাবে আনইনস্টল করুন এবং পুনরায় ইনস্টল করুন।
tk_

অনেক ধন্যবাদ. আমার সাথে কিছুটা অদ্ভুত হয়ে গেছে mysql_secure_installationএবং মূলটি আর সহযোগিতা করছে না। authentication_stringসেটিংটি কী করে ?
হবে

3
পুনঃসূচনা করতে, mysqladmin -u root -p shutdownতারপরে নতুন পাসওয়ার্ড দিয়ে চেষ্টা করুনsudo service mysql start
ফোরামুলেটর

37

মাইএসকিউএল 5.7 এবং তারপরে মাইএসকিউএল লগ ফাইলে রুট সংরক্ষণ করে।

দয়া করে এটি চেষ্টা করুন:

sudo grep 'temporary password' /var/log/mysqld.log

আমার ক্ষেত্রে পাসওয়ার্ড এখানে ছিল না; তবে পরিবর্তে, /var/log/mysql/error.logমূল পাসওয়ার্ডটি ফাঁকা থাকার বিষয়ে একটি সতর্কতা রয়েছে - সুতরাং এই জাতীয় দিনটি আমার রক্ষা হয়েছিল :)
জনক বান্দারা

19

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

mysql -u root -p

আপনি যদি সঠিক পাসওয়ার্ড ব্যবহার করেন, আদৌ কার্যকর হবে না !!! এটি আপনি যেভাবেই রাখুন না কেন অ্যাক্সেস অস্বীকার করবে।

পরিবর্তে আপনি ব্যবহার করা প্রয়োজন

sudo mysql

এটি কোনও পাসওয়ার্ড নিয়ে কাজ করবে। তারপরে আপনার একবারে টাইপ করতে হবে

 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Password you want to use';

তারপরে লগ আউট করুন এবং রক্তাক্ত জিনিসটি অবশেষে আপনার পাসওয়ার্ড গ্রহণ করবে


17

আপনি এটি খুঁজে পাবেন না। এটি একটি ডাটাবেসে সংরক্ষণ করা হয়, যা অ্যাক্সেস করার জন্য আপনাকে রুট পাসওয়ার্ডের প্রয়োজন এবং এমনকি যদি আপনি কোনওভাবে অ্যাক্সেস পেয়ে থাকেন তবে এটি একটি-ওয়ে হ্যাশ দিয়ে হ্যাশ করা হয়। আপনি এটিকে পুনরায় সেট করতে পারেন: http://dev.mysql.com/doc/refman/5.0/en/resetting-permitted.html


14

উইন্ডোজ সিস্টেমে পাসওয়ার্ড পুনরায় সেট করতে এই পদক্ষেপগুলি অনুসরণ করুন

  1. টাস্ক ম্যানেজার থেকে মাইএসকিএল পরিষেবা বন্ধ করুন

  2. একটি পাঠ্য ফাইল তৈরি করুন এবং নীচের বিবৃতিটি পেস্ট করুন

মাইএসকিউএল 5.7.5 এবং তার আগের:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yournewpassword');


মাইএসকিউএল 5.7.6 এবং তার পরে:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'yournewpassword';

  1. হিসাবে সংরক্ষণ করুন mysql-init.txtএবং এটি স্থাপন 'C' drive

  2. কমান্ড প্রম্পট ওপেন করুন এবং নিম্নলিখিতটি পেস্ট করুন

C:\> mysqld --init-file=C:\\mysql-init.txt


2
এটি একটি লাইফ সেভার ছিল, দুর্দান্ত টিপ!
নিকোলাস ক্রেইডবার্গ

Centos7 এ কাজ করেছেন mysqld --init-file=/root/m.txt। আমি কমান্ড উপরে যোগ SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yournewpassword');করার /root/m.txt
দামোদর Bashyal

8

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

shell> mysql -u root --password=
mysql>

পাসওয়ার্ড পরিবর্তন করতে, ইউনিক্স শেলটি ফিরে পেয়ে টাইপ করুন:

shell> mysqladmin -u root --password= password root

নতুন পাসওয়ার্ডটি 'রুট'। এখন সার্ভারের সাথে সংযোগ করুন:

shell> mysql -u root --password=
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

ওফ, পাসওয়ার্ড বদলে গেছে। নতুনটি ব্যবহার করুন root:

shell> mysql -u root --password=root
...
blah, blah, blah : mysql welcome banner
...
mysql> 

বিঙ্গো! নতুন কিছু আকর্ষণীয় করুন

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

Maurycy


1
এটি এখন পাসওয়ার্ড ব্যবহার করছে না তবে এখন ডিফল্টরূপে প্রমাণিত সকেট। সুতরাং পাসওয়ার্ড পরিবর্তন করা এখন আর যথেষ্ট ভাল নয়।
কিট রামোস

7

অন্যান্য উত্তরগুলি ছাড়াও, সিপ্যানেল ইনস্টলেশনতে, মাইএসকিএল রুট পাসওয়ার্ড নামের একটি ফাইল সংরক্ষণ করা হয় /root/.my.cnf। (এবং সিপানেল পরিষেবাটি এটিকে আবার পরিবর্তিত করে পুনরায় সেট করে, সুতরাং এখানে অন্যান্য উত্তরগুলি সহায়তা করবে না)


6

আপনি মাইএসকিএল রুট পাসওয়ার্ড দেখতে পারেন, ভাল আমি এটি মাইএসকিএল 5.5 এ চেষ্টা করেছি তাই অন্যান্য নতুন সংস্করণ সম্পর্কে ভাল করে কাজ করতে না জানি না

nano ~/.my.cnf

4

এটি আমার পক্ষে কাজ করেছে:

টার্মিনালে নিম্নলিখিত টাইপ করুন

$ sudo mysql -u root -p

পাসওয়ার্ড দিন: // শুধু এন্টার টিপুন

MySQL>


দেখে মনে হয় যে মাইএসকিএল সার্ভার আর ডিফল্টভাবে পাসওয়ার্ড প্রমাণ ব্যবহার করে না। আপনি লগইন পদ্ধতি পরিবর্তন না করা পর্যন্ত অ্যাক্সেস পাওয়ার জন্য আপনাকে সুপার ব্যবহারকারী (sudo) হিসাবে মাইএসকিএল ক্লায়েন্ট শুরু করতে হবে।
কিট রামোস

4

মাইএসকিএল সার্ভারটি ইনস্টল করার পরে আমার জন্য যে ডিফল্ট পাসওয়ার্ডটি কাজ করেছিল তা হ'ল: mysql


2
হতে পারে সে প্রশ্নের উত্তর দেয় নি, তবে এখানে আসা অনেক লোক এটির সমস্যার সমাধান করতে পারে।
ওহাদ কোহেন

3

পদ্ধতিটি MySQL এর সংস্করণ অনুসারে পরিবর্তিত হয়। আপনার সংস্করণটির জন্য বর্ণিত পদ্ধতিটি অনুসরণ করুন:

  • ইঙ্গিতগুলি - আপনার মাইএসকিউএল * এর সংস্করণের নির্দেশিকা পৃষ্ঠার আগে পড়ুন

  • পদক্ষেপ 5: সিএমডি চালানোর পরিবর্তে, আপনার ডেস্কটপে কল করে সিডিএম.এক্সে একটি শর্টকাট তৈরি করুন। তারপরে শর্টকাটে ডান ক্লিক করুন এবং "প্রশাসক হিসাবে কার্যকর করুন" নির্বাচন করুন।

  • Step ধাপে: কমান্ডের প্রথম প্রস্তাবিত সংস্করণটি এড়িয়ে যান এবং দ্বিতীয়টি --deafults-file পরামিতি সহ সঞ্চালন করুন

  • কমান্ডটি কার্যকর করার পরে, সবকিছু ঠিকঠাক থাকলে, সিএমডি উইন্ডোটি খোলা থাকে এবং step ধাপের কমান্ডটি কার্যকর করা চালিয়ে যায়। কেবল উইন্ডোটি বন্ধ করুন ('x' ক্লিক করুন), এবং তারপরে টাস্ক ম্যানেজার থেকে মাইএসকিউএলটি জোর করে বন্ধ করুন।

  • এসকিউএল কমান্ডগুলির সাহায্যে ফাইলটি মুছুন এবং আবার মাইএসকিউএল শুরু করুন। পাসওয়ার্ড এখনই পরিবর্তন করা উচিত।

5.0 http://dev.mysql.com/doc/refman/5.0/en/resetting-permitted.html

5.1 http://dev.mysql.com/doc/refman/5.1/en/resetting-permission.html

... কেবল লিঙ্কটির সংস্করণটি পরিবর্তন করুন (5.5, 5.6, 5.7)


3

আপনার "হোস্টনাম" .err ফাইলের মধ্যে ডেটা ফোল্ডার মাইএসকিউএল কাজ করে, এর সাথে শুরু হওয়া স্ট্রিংটি দেখার চেষ্টা করুন:

"রুর @ লোকালহোস্টের জন্য একটি অস্থায়ী পাসওয়ার্ড তৈরি করা হয়"

তুমি ব্যবহার করতে পার

less /mysql/data/dir/hostname.err 

তারপরে স্ল্যাশ কমান্ডের পরে আপনি যে স্ট্রিংটি সন্ধান করতে চান তা অনুসরণ করুন

/"A temporary password"

তারপরে পরবর্তী ফলাফলটিতে যেতে n টিপুন।


1

এখানে প্রদত্ত উত্তরগুলি আমার পক্ষে কাজ করে বলে মনে হচ্ছে না, কৌশলটি পরিণত হয়েছিল: 'ইউএসএইচএসএল_নেটিভ_প্যাসওয়ার্ডের মাধ্যমে' পরীক্ষার 'মাধ্যমে সনাক্তকারী' রুট '@' লোকালহোস্ট ';

(এখানে সম্পূর্ণ উত্তর: https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_sket/ )


0

পদ্ধতি:

  • সেন্টস লিনাক্স 7
  • mysql Ver 14.14 ডিস্ট্রিবিউ 5.7.25

পদ্ধতি:

  1. দুটি শেল সেশন খুলুন, একটিতে লিনাক্স রুট ব্যবহারকারী হিসাবে এবং অন্যটি mysqlকমান্ডটি অ্যাক্সেস সহ ননরুট ব্যবহারকারী হিসাবে লগ ইন করুন ।

  2. আপনার মূল অধিবেশনে, সাধারণ মাইএসকিএলডি শ্রোতাকে থামান এবং একটি শ্রোতা শুরু করুন যা পাসওয়ার্ড প্রমাণীকরণকে ছাড়িয়ে যায় ( দ্রষ্টব্য: এটি একটি গুরুত্বপূর্ণ সুরক্ষা ঝুঁকি হিসাবে mysql কমান্ড অ্যাক্সেস সহ যে কেউ আপনার পাসওয়ার্ড ছাড়াই আপনার ডাটাবেসে অ্যাক্সেস করতে পারে You আপনি সক্রিয় শেল সেশনগুলি বন্ধ করতে চাইতে পারেন) এবং / অথবা এটি করার আগে শেল অ্যাক্সেস অক্ষম করুন):

    # systemctl stop mysqld
    # /usr/sbin/mysqld --skip-grant-tables -u mysql &

  3. আপনার ননরুট সেশনে, mysql এ লগ ইন করুন এবং মাইএসকিএল রুট পাসওয়ার্ড সেট করুন:

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

    mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
    Query OK, 0 rows affected, 1 warning (0.01 sec)

    mysql> quit;

  4. আপনার মূল অধিবেশনে, মাইএসকিএলএল পাসওয়ার্ডহীন দৃষ্টান্তটি মেরে ফেলুন এবং সাধারণ মাইএসকিএলডি শ্রোতাকে পরিষেবাতে পুনরুদ্ধার করুন:

    # kill %1
    # systemctl start mysqld

  5. আপনার ননরুট সেশনে, আপনি উপরে কনফিগার করা নতুন রুট পাসওয়ার্ডটি পরীক্ষা করুন:

    $ mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor. Commands end with ; or \g.
    ...
    mysql>


-2

আমি এটি অন্যভাবে সমাধান করেছি, এটি কারওর পক্ষে সহজ হতে পারে।

আমি এটি এইভাবে করেছি কারণ আমি নিরাপদ মোডে শুরু করার চেষ্টা করেছি তবে ত্রুটির সাথে সংযোগ করতে পারছি না: এরর 2002 (HY000): সকেট '/var/run/mysqld/mysqld.sock' (2) এর মাধ্যমে স্থানীয় মাইএসকিউএল সার্ভারের সাথে সংযোগ স্থাপন করতে পারি না 2

আমি যা করেছি তা হ'ল সাধারনত রুট হিসাবে সংযোগ স্থাপন করা:

$ sudo mysql -u root

তারপরে আমি একটি নতুন সুপার ব্যবহারকারী তৈরি করেছি:

mysql> grant all privileges on *.* to 'myuser'@'%' identified by 'mypassword' with grant option;
mysql> quit

তারপরে মাইউজার হিসাবে লগ ইন করুন

$ mysql -u myuser -p -h localhost

পাসওয়ার্ড পরিবর্তন করার চেষ্টা আমাকে ত্রুটি দেয় নি তবে আমার জন্য কিছুই করেনি তাই আমি বাদ দেওয়া এবং পুনরায় ব্যবহারকারী তৈরি করেছি

mysql> drop user 'root'@'localhost;
mysql> mysql> grant all privileges on *.* to 'root'@'localhost' identified by 'mypassword' with grant option;

মূল ব্যবহারকারী এখন নতুন পাসওয়ার্ড নিয়ে কাজ করছেন


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