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


101

আমি আমার মাইএসকিউএল রুট পাসওয়ার্ডটি পুনরায় সেট করার চেষ্টা করছি। আমি mysqld_safe --skip-अनुदान-টেবিলগুলি চালিয়েছি, রুট পাসওয়ার্ড আপডেট করেছি এবং ব্যবহারকারীর টেবিলটি সেখানে আছে কিনা তা পরীক্ষা করে দেখেছি। মাইএসকিএল ডিমনটি পুনরায় চালু করার পরে আমি নতুন সেট করা পাসওয়ার্ডটি দিয়ে সাইন ইন করার চেষ্টা করেছি এবং এখনও ব্যবহারকারীর 'রুট' ত্রুটির জন্য অ্যাক্সেস প্রত্যাখ্যান করেছি। আমি সম্পূর্ণরূপে মাইএসকিএল অপসারণ এবং পুনরায় ইনস্টল করার চেষ্টা করেছি (মাই সিএনএফ ফাইলটি মুছে ফেলা সহ) এবং এখনও ভাগ্য নেই। আমি পরবর্তী কি করতে পারি সে সম্পর্কে কারও কি কোনও পরামর্শ আছে?

আগাম ধন্যবাদ


4
দয়া করে আপনার আসল ত্রুটি পোস্ট করুন
বিশ্বনাথ ডালভী

17
যদি আপনার লক আউট না থাকে তবে SET PASSWORD FOR 'root'@'localhost' = PASSWORD('somepassword'); এটি সবচেয়ে নিরাপদ।
সাবজেন্টন

আমি আমার এক সার্ভারে পাসওয়ার্ড পরিবর্তন করতে ভিডিওতে পদক্ষেপগুলি অনুসরণ করেছি youtu.be/gFo5DV_pSg8
প্রেমের


4
সার্ভার সংস্করণ: 8.0.20-0ubuntu0.20.04.1 (উবুন্টু) এরর 1064 (42000): আপনার এসকিউএল সিনট্যাক্সে আপনার একটি ত্রুটি রয়েছে; 'রুট' @ 'লোকালহোস্ট' = পাসওয়ার্ড ("সাম্প্রতিক শব্দ") 1 লাইনে 'পাসওয়ার্ড ("1") "এর নিকটবর্তী সঠিক সিনট্যাক্সের জন্য আপনার মাইএসকিউএল সার্ভার সংস্করণের সাথে সম্পর্কিত যা ম্যানুয়ালটি পরীক্ষা করুন;
discipleartem

উত্তর:


133
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mypass');
FLUSH PRIVILEGES;

7
এটি 5.7 এ আমার জন্য কাজ করছে যখন স্বীকৃত উত্তরটি নয়।
স্টুপকিড 19

4
আপনার মাইএসকিউএল রুট পাসওয়ার্ড ফাঁকাতে সেট করা থাকলে এটি সঠিক সমাধান।
fschuindt

4
> আপডেট করুন mysql.user SET প্রমাণীকরণ_string = পাসওয়ার্ড ('MyNewPass') যেখানে ব্যবহারকারী = 'রুট'; > ফ্ল্যাশ সুনাম; মাইএসকিউএল সংস্করণ 5.7.x এ মাইএসকিএল টেবিলের মধ্যে আর কোনও পাসওয়ার্ড ক্ষেত্র নেই। এটি প্রমাণীকরণ_ স্ট্রিং দিয়ে প্রতিস্থাপন করা হয়েছিল।
রবার্ট অ্যান্টনি এস ট্রিবিয়ানা

4
এটি আমাকে একটি ঠিক আছে, কিন্তু আসলে কিছুই করবেন না
ফ্রিডো

4
FLUSH PRIVILEGESডাটাবেস সার্ভারটি আরম্ভ না করে কার্যকর পরিবর্তন আনতে এটির জন্য একটি অতিরিক্ত কমান্ডের প্রয়োজন ।
নেটভিচিস

64

মাইএসকিউএল রেফারেন্স ম্যানুয়াল থেকে এটি দেখুন:

প্রথম লগইন মাইএসকিএল:

# mysql -u root -p

তারপরে মাইএসকিএল প্রম্পটে রান করুন:

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

তারপরে

FLUSH PRIVILEGES;

আরও তথ্যের জন্য এই পৃষ্ঠাটি দেখুন: রুট পাসওয়ার্ড পুনরায় সেট করা: ইউনিক্স সিস্টেম


আমি একটি ত্রুটি পেয়েছি "আপনি নিরাপদ আপডেট মোড ব্যবহার করছেন এবং ব্যবহারকারীর পাসওয়ার্ড আপডেট করার সময় আপনি WHERE ছাড়াই কোনও টেবিল আপডেট করার চেষ্টা করেছিলেন ..." এই ত্রুটিটি সম্পর্কে কীভাবে কাজ করা যায় তার জন্য স্ট্যাকওভারফ্লো.com/ প্রশ্নগুলি / 11448068/… দেখুন ।
জো বরিস্কো 23

ত্রুটি 1064 (42000): আপনার এসকিউএল সিন্টেক্সে আপনার একটি ত্রুটি রয়েছে; পরীক্ষা ম্যানুয়াল যে অধিকার সিনট্যাক্স জন্য আপনার মাইএসকিউএল সার্ভার সংস্করণে অনুরূপ কাছাকাছি '(' MyNewPass ') ব্যবহার করতে ব্যবহারকারী যেখানে =' এ লাইন 1 রুট ''
discipleartem

31
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

আপনি মাইএসকিউএল ডকুমেন্টেশনে রুট পাসওয়ার্ড পুনরায় সেট করতে পারেন ।


এই ক্যোয়ারীটি আমার জন্য কাজ করা হয়েছে তবে নতুন পাসওয়ার্ড কাজ করছে না (অ্যাক্সেস অস্বীকৃত)। আমি কেবল রুট ব্যবহারকারী Askubuntu.com/a/784347/160368 পুনরায় তৈরি করার পরে এটি কাজ করা শুরু ।
এইচএলসিএস

4
MySQL 8.0.20 এ এবং এই কমান্ডটি ব্যবহার করে ডেটা ফোল্ডার শুরু করার পরে আমার পক্ষে কাজ করেmysqld --initialize --console
এ হেন্তেটি

27

এটি WAMP v3.0.6 এবং তার জন্য আপডেট হওয়া উত্তর

> UPDATE mysql.user 
> SET authentication_string=PASSWORD('MyNewPass') 
> WHERE user='root';

> FLUSH PRIVILEGES;

মাইএসকিউএল সংস্করণ 5.7.x এ মাইএসকিএল সারণীতে পাসওয়ার্ডের আর কোনও ক্ষেত্র নেই। এটি প্রমাণীকরণ_ স্ট্রিং দিয়ে প্রতিস্থাপন করা হয়েছিল। (এটি টার্মিনাল / সিএলআইয়ের জন্য)

UPDATE mysql.user SET authentication_string=PASSWORD('MyNewPass') WHERE user='root';

FLUSH PRIVILEGES;

(এটি যদি পিএইচপিএমওয়াই অ্যাডমিন বা কোনও মাইএসকিএল জিইউআইয়ের জন্য থাকে)


এই উত্তরটি এমন কয়েকজনের মধ্যে একজন যারা বলেছেন যে mysql.userটেবিলটি আপডেট করা উচিত। লক্ষ্য করুন যে আপনি যদি অন্য কোনও ডাটাবেস ব্যবহার করেন ( useকমান্ড দ্বারা নির্ধারিত ), আপনি একটি ত্রুটি পাবেন যে সারণীর userঅস্তিত্ব নেই। ধন্যবাদ জনাব!
আলেকসান্দার

4
আমার জন্য কাজ কর . আমি 5.7.x ব্যবহার করছি, কোনও mysql.userটেবিল নেই। অন্যান্য উত্তর-তারিখের হয়
Siwei সেন申思维


আমি এটিকে আবার
ঘুরিয়েছি

0 টি সারি প্রভাবিত হয়েছে, সারি মিলছে: 3 পরিবর্তন হয়েছে: 0 ...?
ট্রেইনোসিস

22

খুঁজে পেয়েছি! আমি পাসওয়ার্ডটি পরিবর্তন করার সময় হ্যাশ করতে ভুলে গিয়েছিলাম। আমি আমার প্রশ্নের সমাধানের জন্য এই ক্যোয়ারীটি ব্যবহার করেছি:

update user set password=PASSWORD('NEW PASSWORD') where user='root';

আমি ভুলে গিয়েছিলাম PASSWORD('NEW PASSWORD')এবং কেবল নতুন পাসওয়ার্ডটি সরল পাঠ্যে রেখেছি


নিশ্চিত হয়ে নিন যে আপনি ফিরে এসেছেন এবং অন্যদের সমাধান দেখার অনুমতি দেওয়ার জন্য আপনার উত্তরটি স্বীকার করেছেন
ভুত জাজো

4
dev.mysql.com/doc/refman/5.0/en/resetting-permitted.html আপনার কীভাবে তা সন্ধান করে তা কীভাবে এটি করতে হয় তা দেখায় --init-file=
সাবজেন্টন

4
কোনও ধারণা কেন আমি যখন একই কমান্ডটি ব্যবহার করি, নীচের ত্রুটিটি ফিরে আসে? 'ক্ষেত্রের তালিকা' অজানা কলাম 'পাসওয়ার্ড': ত্রুটি 1054 (42S22)
আদ্রিয়ান এম

4
আপনার এসকিউএল সিনট্যাক্সে আপনার একটি ত্রুটি রয়েছে; পরীক্ষা ম্যানুয়াল যে অধিকার সিনট্যাক্স জন্য আপনার মাইএসকিউএল সার্ভার সংস্করণে অনুরূপ কাছাকাছি '(' নতুন পাসওয়ার্ড ') যেখানে ব্যবহারকারী =' এ লাইন 1 রুট '' ব্যবহার করতে
discipleartem

21

নীচের পদক্ষেপগুলি অনুসরণ করুন।

ধাপ 1. বন্ধ করুন mysql

ধাপ ২. sudo mysqld_safe --skip-grant-tables

ধাপ 3.mysql -u root

পদক্ষেপ 4।use mysql;

পদক্ষেপ 5।show tables;

পদক্ষেপdescribe user;

পদক্ষেপ 7।update user set authentication_string=password('1111') where user='root';

1111 পাসওয়ার্ড দিয়ে লগইন করুন


4
flush privilegesশেষ পদক্ষেপ হিসাবে গুরুত্বপূর্ণ।
খোম নাজিদ

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

যদি mysqld আরম্ভ না হয় এবং পিআইডি ফাইল /var/run/mysqld/mysqld.pid থেকে mysqld_safe mysqld এর ডাটাবেসের সাথে এই mysqld ডিমনটির মতো বার্তাটি শেষ হয়: এমকিডিআর / var / চালান / মাইএসকিএলডি chomod 777 / var / রান / mysqld এবং ভিক্ষা থেকে সমস্ত শুরু করুন
jokermt235

18

আমি প্রায় পাশাপাশি অনুসন্ধান করেছি এবং সম্ভবত কিছু উত্তর কিছু পরিস্থিতিতে উপযুক্ত,

আমার পরিস্থিতি একটি উবুন্টু 18.04.2 এলটিএস সিস্টেমে MySQL 5.7:

(মূল অধিকার পান)

$ sudo bash

(রুট ডিবি ব্যবহারকারীর জন্য পাসওয়ার্ড সেট আপ করুন + পদক্ষেপে সুরক্ষা প্রয়োগ করুন)

# mysql_secure_installation

(সকেটের স্থানে পাসওয়ার্ডের মাধ্যমে মূল ব্যবহারকারীকে অ্যাক্সেস দিন)

(+ সম্পাদনা: আপাতত আপনাকে আবার পাসওয়ার্ড সেট করা দরকার?)

(এটি 'মাইক্রিটপ্যাসওয়ার্ড' এ সেট করবেন না !!!)

# mysql -u root

mysql> USE mysql;
mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> set password for 'root'@'localhost' = PASSWORD('mySecretPassword'); 
mysql> FLUSH PRIVILEGES;
mysql> exit;

# service mysql restart

এই দুর্দান্ত উত্তরের জন্য জেটাকু (এবং এরিক ) কে অনেক ধন্যবাদ ( কয়েক ঘন্টা অনুসন্ধানের পরে ...)

উপভোগ করুন :-ড

এস।

সম্পাদনা (2020):

এই পদ্ধতিটি আর কাজ করে না, ভবিষ্যতের রেফারেন্সের জন্য এই প্রশ্নটি দেখুন ...


এটি এখন পর্যন্ত সেরা উত্তর, কমপক্ষে mysql সার্ভার 5.7 এর জন্য।
জোল্টন হাজদা

সেরা উত্তর। ধন্যবাদ.
লুসিয়ানো ফ্যান্টুজি

11

মাইএসকিউএল 8.0.4+ এ

বর্তমানের রুট ব্যবহারকারী আপডেট করতে:

select current_user();
set password = 'new_password';

অন্যান্য ব্যবহারকারী আপডেট করতে:

set password for 'otherUser'@'localhost' = 'new_password';

পাসওয়ার্ড আপডেট করার আগে পাসওয়ার্ড নীতি সেট করতে:

set global validate_password.policy = 0;
set password = 'new_password';
set password for 'otherUser'@'localhost' = 'new_password';

রুট পাসওয়ার্ড আপডেট করার অন্যান্য / আরও ভাল উপায়:

mysql_secure_installation

5.x প্রমাণীকরণের সাথে লেগে থাকতে চান যাতে আপনি এখনও উত্তরাধিকার অ্যাপ্লিকেশন ব্যবহার করতে পারেন?

চালু my.cnf

default_authentication_plugin = mysql_native_password

রুট আপডেট করতে:

set global validate_password.policy = 0;
alter user 'root'@'localhost' identified with mysql_native_password by 'new_password';

7

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

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

https://dev.mysql.com/doc/mysql-windows-excerpt/5.7/en/resetting-permission-windows.html


ত্রুটি 1064 (42000): আপনার এসকিউএল সিন্টেক্সে আপনার একটি ত্রুটি রয়েছে; ডান সিনট্যাক্সের জন্য আপনার মাইএসকিউএল সার্ভার সংস্করণের সাথে সম্পর্কিত ম্যানুয়ালটি পরীক্ষা করুন 'মাইনিউপাস'-এর কাছাকাছি আইডেন্টিফাইড বাই মাইনিউপাস' লাইনের 1
ট্রায়োনেসিস


অবশ্যই, মাইএসকিএল ক্লিপটি পেতে আমার সার্ভার + মাইএসকিএল-রুট
পি

6

আপনাকে পাসওয়ার্ডটি পুনরায় সেট করতে হবে! ম্যাক অসক্স (পরীক্ষিত এবং কাজ করা) এবং উবুন্টুর জন্য পদক্ষেপ

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

$ 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';

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

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

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


আমি একটি বার্তা পেয়েছি: কোনও ডাটাবেস নির্বাচিত হয়নি
মিমৌনি

: @Mimouni এই চেষ্টা stackoverflow.com/questions/21944936/...
tk_

5

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

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

মাইএসকিউএল 5.7.5 এবং তার আগেরটির জন্য:

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

3

বর্তমান সর্বশেষতম মাইএসকিএল সংস্করণ (8.0.16) এর জন্য, এই উত্তরগুলির কোনওটিই আমার পক্ষে কার্যকর হয়নি।

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

update user set authentication_string='test' where user='root';

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


2

একটি সাধারণ ত্রুটি যা আমি সময়ে সময়ে চালাচ্ছি, তা হ'ল আমি -pবিকল্পটি ভুলে গেছি, সুতরাং আপনি কি নিশ্চিত যে ব্যবহার করেছেন:

mysql -u root -p

2

মাইএসকিউএল 5.7 এ, পাসওয়ার্ডটি 'প্রমাণীকরণ_ স্ট্রিং' দিয়ে প্রতিস্থাপন করা হয়েছে।

ব্যবহার

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

2

মাইএসকিউএল পাসওয়ার্ড পরিবর্তনের জন্য মাইসক্ল্যাডমিন কমান্ড-লাইনটি ইউটিলিটি ব্যবহার করে :

mysqladmin --user=root --password=oldpassword password "newpassword"

সূত্র


1

@ কেটিএর কাছ থেকে উত্তরটির চেষ্টা করেছিলাম কিন্তু আমার পক্ষে কাজ করে নি।

আমি মাইএসকিউএল 8.0 ব্যবহার করছি

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

mysql> SET PASSWORD FOR 'root'@'localhost' = 'yourpassword'


4
দয়া করে আপনার কোডটিতে কিছু ব্যাখ্যা যুক্ত করুন - এটি কীভাবে সাত বছরের পুরানো প্রশ্নের সমাধান করবে?
নিকো হাজে

মনে হচ্ছে সিনট্যাক্সটি সাত বছরে পরিবর্তিত হয়েছে। এটা তোলে) পাসওয়ার্ড দিয়ে পাসওয়ার্ড (মোড়কে না dev.mysql.com/doc/refman/8.0/en/set-password.html
kangkyu

পাসওয়ার্ড হ্যাশটি 41-সংখ্যার হেক্সাডেসিমাল সংখ্যা হওয়া উচিত
মিমৌনি

1

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

sudo mysqladmin -u root password 'my password'

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


এটি পুরানোটি না জেনে mysql রুট ব্যবহারকারীর পাসওয়ার্ডটি পুনরায় সেট করতে ব্যবহার করা যেতে পারে। তবে নিশ্চিত হয়ে নিন যে এই পাসওয়ার্ডটি Aug 07 16:21:55 ubuntupc sudo[93250]: user : TTY=pts/0 ; PWD=/home/user ; USER=root ; COMMAND=/usr/bin/mysqladmin -u root password 'my password'
লগড

0

সমস্ত মোড়ানো পরিষেবা বন্ধ করুন, মোড়ানো থেকে প্রস্থান করুন।

নোটপ্যাড খুলুন তারপরে টাইপ করুন> 'রুট' @ 'লোকালহোস্ট' = পাসওয়ার্ড ('') জন্য সেট পাসওয়ার্ড;

তারপরে এটি সি তে সংরক্ষণ করুন: যে কোনও নাম দিয়ে ড্রাইভ করুন .. এই "সি: /example.txt" এর মতো

এখন আপনার "wamp" ফলদার wamp> বিন> mysql> mysql (আপনার সংস্করণ)> আমার ক্ষেত্রে পথ বিন "C: amp wamp \ bin \ mysql \ mysql5.6.17 \ bin"

এখন আপনার পাথ অনুলিপি করুন (সিটিআরএল + আর) দিয়ে সিএমডি চালান তারপর "সেন্টিমিডি" টাইপ করুন (প্রবেশ করুন)

সিডি টাইপ করুন তারপরে সিএমডি এবং টিপুন পাথের উপর ডান ক্লিক করুন (প্রবেশ করুন) এখন টাইপ করুন (mysqld --init-file = C:। উদাহরণ.txt) তারপর বন্ধনীগুলি ছাড়াই (প্রবেশ করুন)

তারপরে পিসি পুনরায় চালু করুন বা টাস্কম্যাগার খুলুন এবং mysqld.exe হত্যা করুন

মোড়ানো শুরু করুন এবং আপনার পাসওয়ার্ড সরানো হবে ...


0

ম্যাকোএস ব্যবহারকারীদের জন্য, আপনি যদি নিজের মূল পাসওয়ার্ডটি ভুলে যান তবে @ থেহারাকের উত্তর ( https://stackoverflow.com/a/28601069/5628856 ) ভাল তবে আরও কিছু কৌশল রয়েছে:

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

sudo mysqld_safe --skip-grant-tables

আপনার জন্য কাজ করতে পারে না।

আপনাকে নিশ্চিত করতে হবে যে সিস্টেম শুরুর কনফিগারেশনের সাথে কমান্ড লাইন আর্গুমেন্টগুলি একই রকম।

নিম্নলিখিত কমান্ডটি আমার পক্ষে কাজ করে:

/usr/local/mysql/bin/mysqld --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid --keyring-file-data=/usr/local/mysql/keyring/keyring --early-plugin-load=keyring_file=keyring_file.so --skip-grant-tables

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

ps aux | grep mysql

আপনার নিজের পরীক্ষা করতে।


0

অথবা কেবল ইন্টারেক্টিভ কনফিগারেশন ব্যবহার করুন:

sudo mysql_secure_installation

-1

উবুন্টুতে,

sudo dpkg-reconfigure mysql-server-5.5 

5.5আপনার বর্তমান সংস্করণটি প্রতিস্থাপন করুন এবং আপনাকে নতুন রুট পাসওয়ার্ডের জন্য জিজ্ঞাসা করা হবে।


কোন ওএসে? এর কোন মানে নেই.
খোম নাজিদ

-1
  1. ম্যাকে ওপেন সিস্টেম পছন্দসমূহ> মাইএসকিউএল।
  2. মাইএসকিউএল এর কনফিগারেশন বিভাগে ডাটাবেস আরম্ভ করার জন্য পরীক্ষা করুন।
  3. প্রম্পটে পাসওয়ার্ড পরিবর্তন করুন। ডাটাবেস সূচনা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.