মাইএসকিউএলে পাসওয়ার্ডহীন অ্যাক্সেস সক্ষম করুন


15

আমি কীভাবে মাইএসকিউএল এর জন্য আমার পাসওয়ার্ড মুছতে পারি? আমি ডাটাবেসের সাথে সংযোগ করার জন্য একটি পাসওয়ার্ড চাই না। আমার সার্ভারটি উবুন্টু চলছে।


যেমন আগ্রহের বিষয়, আপনি কেন একটি পাসওয়ার্ড চান না?
জন গার্ডেনিয়ার

উদাহরণস্বরূপ আমি যখন "dpkg-reconfigure phpmyadmin" চালাই তখন আমি ত্রুটিগুলিতে চলে যাই। এটি অ্যাক্সেস অস্বীকৃত রুট @ লোকালহোস্ট "পাসওয়ার্ড: না" শেষ সহ 1045 ত্রুটি দিয়ে থামবে।
Lacek

উত্তর:


29

ব্যক্তিগতভাবে, আমি পরিবর্তে একটি পাসওয়ার্ড সেট করা এবং /root/.my.cnf এ এটি সংরক্ষণ করা ভাল বলে মনে করি:

প্রথম:

mysqladmin -u root password 'asdfghjkl'

তারপরে রুটের .my.cnf ফাইলটি সম্পাদনা করুন:

[client]
password = asdfghjkl

নিশ্চিত করুন chmod 0600 .my.cnf

এখন আপনার কাছে একটি পাসওয়ার্ড রয়েছে তবে আপনাকে এর জন্য আর অনুরোধ করা হবে না। আমার ডিফল্ট মাইএসকিউএল সার্ভার ইনস্টল করা প্রতিটি মাইএসকিউএল সার্ভারের জন্য একেবারে এলোমেলো অনন্য পাসওয়ার্ড, .my.cnf ফাইলে এইভাবে সংরক্ষণ করা হয়।


1
আমি পাসওয়ার্ড অপসারণ বনাম স্বয়ংক্রিয়ভাবে আপনাকে অনুমোদনের জন্য আপনার পরিবেশ সেটিংসের সাথে দৃ strongly়ভাবে সম্মত।
জোরডাচি

2
.My.cnf এ পাসওয়ার্ডের চারপাশে আপনার উদ্ধৃতিগুলির প্রয়োজন হতে পারে। এটি আমার পক্ষে ছাড়া কাজ করে না।
ব্যবহারকারী 67641

1
@ ব্যবহারকারী 6764641১: সংস্করণ এবং আপনার পাসওয়ার্ডের মধ্যে কিসের উপর নির্ভরশীল হতে পারে ... আমার সমস্ত বর্ণমালার দীর্ঘ র্যান্ডম স্ট্রিং (কোনও বিশেষ অক্ষর নেই) এবং এর কোন উদ্ধৃতি প্রয়োজন নেই।
ফ্রেইহিট

2
আপনার যদি /root/.my.cnf তৈরি করতে হয় তবে এটির জন্য স্পষ্টভাবে 0600 এর অনুমতি নির্ধারণ করা অন্য কোনও ব্যবহারকারী স্নাপ করতে পারবে না তা নিশ্চিত হওয়া উচিত। বেশিরভাগ সময় সাধারণ ব্যবহারকারী / রুটে অবতরণ করতে পারে না, তবে অতিরিক্ত প্যারানোয়া প্রায় সর্বদা সাজানো থাকে।
ডেল অ্যান্ডারসন

নিখোঁজ mv ./+%Y%m%dmys db.sql mys OUTPUT` মধ্যে mysqldump এবং gzip
সিদ্ধার্থ

9

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

5.7.6 এবং তার পরে

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

5.7.5 এবং তারও আগের জন্য

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

* এটি কার্যকর হওয়ার জন্য একটি ডিবি পুনরায় চালু (লিঙ্কে নির্দেশাবলী দেখুন) দরকার।

sudo service mysql restart

এই ক্ষেত্রে, "ফ্ল্যাশ সুবিধাগুলি" ভুলে যাবেন না;
মার্কো রামোস

@ মায়োসেফ - দয়া করে উত্তরটি উত্তর হিসাবে চিহ্নিত করুন যদি এটি আপনার সমস্যার সমাধান করে (ভোটের সংখ্যার নীচে সবুজ চেকমার্কে ক্লিক করুন)।
জেভ

আমি ভেবেছিলাম যে আমি কেবল ইউনিক্স সকেটের জন্য খালি পাসওয়ার্ড ব্যবহার করতে পারি এবং লুপব্যাক না করে, তবে এটি সম্ভব নয়। unix_socketপ্লাগ-ইন একটি কিছুটা ভিন্ন জিনিস আছে।
বেসিন

9

হ্যাঁ, কম পাসওয়ার্ডই ভাল জিনিস হতে পারে। তবে প্রত্যেকের জন্য কেবল ডাটাবেস খুলবেন না।

ইউনিক্স_সকেটের মাধ্যমে:

grant usage on *.* to 'root'@'localhost' identified via unix_socket;

এটি আপনাকে স্থানীয়ভাবে লগ ইন করা রুট ব্যবহারকারীদের জন্য পাসওয়ার্ডহীন মাইএসকিএল অ্যাক্সেস দেয়। BTW। সাম্প্রতিক উবুন্টু / ডিবিয়ান রিলিজগুলিতে এটি ডিফল্ট।

some_user@box: mysql -u root  # denied
root@box: mysql               # good
some_user@box: sudo mysql     # good, if "some_user" has sudo rights.

ব্যাখ্যামূলক স্লাইডস: https://www.slideshare.net/ottokekalainen/less-passwords-more-security-unix-sket-authentication- এবং-other-mariadb-hardening- tips


2
এসএফ স্বাগতম! সুদৃশ্য প্রথম উত্তর: পরিষ্কার, একটি ভাল সংক্ষিপ্তসার, আরও অনুসন্ধানের জন্য একটি লিঙ্ক এবং এটি উত্তরগুলির বিদ্যমান কর্পাসে কিছু যুক্ত করে। আমি আপনার প্রথম উত্সাহ হতে পেরে আনন্দিত, এবং আমি আশা করি আপনি এই মত আরও উত্তর লিখতে কাছাকাছি থাকুন।
ম্যাডহ্যাটার

স্লাইডগুলি ঠিক আছে, তবে এটি আসল ডকুমেন্টেশন: mariadb.com/kb/en/library/authentication-plugin-unix-sket
জনি জেডি

5

আপনি এটি করতে পারেন:

grant all privileges on *.* to 'root'@'localhost' identified by '';

1

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

এটা কি কাজ করে?

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