mysql (মারিয়াডবি) এরর 1698 (28000): ব্যবহারকারীর 'রুট' @ 'লোকালহোস্ট' এর জন্য অ্যাক্সেস প্রত্যাখ্যান করা হয়েছে


23

আমি জুবুন্টু 15.04 এ কাজ করছি। আমি ইতিমধ্যে বিভিন্ন সিস্টেমে মারিয়াডিবি-সার্ভার ইনস্টল করেছি এবং ইনস্টলেশনের সময় সর্বদা একটি রুট পাসওয়ার্ড চেয়েছিল। এবার অবশ্য পাসওয়ার্ড চাওয়ার কথা মনে নেই। আমি যখন কোনও পাসওয়ার্ড (বা ফাঁকা পাসওয়ার্ড) ছাড়াই লগইন করার চেষ্টা করি তখন আমি Access denied for user 'root'@'localhost'ত্রুটিটি পাই । আমি এর মাধ্যমে প্যাকেজটিকে সম্পূর্ণ আনইনস্টল করার চেষ্টা করেছি

sudo apt-get remove mariadb-server
sudo apt-get purge mariadb-server

আমি যখন পুনরায় ইনস্টল করেছি, তখনও আমি রুট পাসওয়ার্ডের জন্য জিজ্ঞাসা করি নি।

আমি ব্যবহারকারীর 'রুট' @ 'লোকালহোস্ট' এর জন্য অস্বীকৃত অ্যাক্সেসকে ঠিক করতে কীভাবে মাইএসকিএলmysqld --skip-grant-tables থেকে এই পদ্ধতির চেষ্টা করেছি । আমি মাইএসকিএল ডাটাবেসে রুট ব্যবহারকারীর জন্য পাসওয়ার্ডটি পরিবর্তন করতে পারি - কমপক্ষে হ্যাশের মান পরিবর্তন হয় - তবে আমি এখনও মাইএসকিএল-সার্ভার পুনরায় চালু করার পরে নতুন পাসওয়ার্ড দিয়ে লগইন করতে পারি না। আমি এখনও একই ত্রুটি পেতে।

ব্যবহারকারী ডিবিয়ান-সিস-রক্ষণাবেক্ষণের অস্তিত্ব নেই। সুতরাং, আমি কোনও কিছু ঠিক করার জন্য এটি ব্যবহার করতে পারি না।

কোন ধারণা আমি আর কি চেষ্টা করতে পারি?


: Stackoverflow উপর একই প্রশ্ন সঙ্গে একটি সহায়ক থ্রেড stackoverflow.com/questions/39281594/...
পুনর্বহাল মনিকা - কেভিন

উত্তর:


36

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

sudo mysql -u root
use mysql;
update user set plugin='' where User='root';
flush privileges;
exit;

9
এই পদ্ধতির অ-স্পষ্ট "যাদু" হ'ল মূল অপারেটিং সিস্টেম ব্যবহারকারী plugin: auth_socketডিফল্টরূপে সক্ষম থাকলে কোনও পাসওয়ার্ড নির্দিষ্ট না করেই ডাটাবেসে লগ ইন করতে সক্ষম হয়। অন্য কথায়, --skip-grant-tablesঅতীতে মাইএসকিউএল সংস্করণগুলিতে যেমন প্রয়োজন হত তেমন ব্যবহার করার দরকার নেই । (এছাড়াও, প্রযুক্তিগতভাবে, এই পদক্ষেপটি "পাসওয়ার্ড পুনরায় সেট করা" নয়; এটি একটি প্লাগইন অক্ষম করছে))
বেন জনসন

1
+1, এর কারণ সম্পর্কে কি আপনি ব্যাখ্যা করতে পারেন?
গার্ড

4
এই পদ্ধতির কারণে পরে সমস্যা দেখা দেবে। আপনি যদি প্লাগ-ইনটি অক্ষম করে রাখেন তবে প্রতিদিনের ক্রোন জব ভাঙবে কারণ এটি ধরে নেওয়া হচ্ছে যে এটি সেই প্লাগ-ইনটি দিয়ে লগ ইন করতে পারে। বিস্তারিত জানার জন্য আমার উত্তর দেখুন।
কোলান

11

নতুন সেট-আপ সহ ধারণাটি হ'ল আপনার পাসওয়ার্ডগুলি ব্যবহার করা উচিত নয়। বিশদগুলির জন্য UNIX_SOCKET প্রমাণীকরণ প্লাগইন দেখুন ।

বিশেষত যা প্রাসঙ্গিক তা হ'ল উবুন্টু ১.0.০৪-তে /usr/share/doc/mariadb-server-10.0/README.Debian.gz এর বিষয়বস্তু :

নতুন ইনস্টলগুলিতে কোনও রুট পাসওয়ার্ড সেট করা নেই এবং কোনও ডিবিয়ান-সিস-রক্ষণাবেক্ষণকারী আর তৈরি করা হবে না। পরিবর্তে মারিয়াডিবি রুট অ্যাকাউন্টটি ইউনিক্স সকেট ব্যবহার করে প্রমাণীকরণের জন্য সেট করা হয়েছে, যেমন রুট বা সুডোর মাধ্যমে যে কোনও মাইএসকিএলডি প্রার্থনাটি ব্যবহারকারীকে মাইএসকিএলডি প্রম্পটটি দেখতে দেয়।

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

/Etc/mysql/debian.cnf এর শংসাপত্রগুলি ব্যবহারকারীকে নির্দিষ্ট করে যা init স্ক্রিপ্টগুলি দ্বারা সার্ভারটি বন্ধ করতে এবং লোগ্রোটেশন সম্পাদন করতে ব্যবহৃত হয়। এটি ডেবিয়ান-সিস্ট-রক্ষণাবেক্ষণকারী ব্যবহারকারী হিসাবে ব্যবহৃত হত যা রুট হিসাবে সরাসরি ব্যবহার করা হয় না সরাসরি চালানো যেতে পারে।

সুতরাং আপনি যদি সেই প্লাগইনটিকে রুটের জন্য অক্ষম করে এবং একটি পাসওয়ার্ড সেট করেন তবে দৈনিক ক্রোন কাজটি ভাঙবে কারণ এটি ধরে নেওয়া হচ্ছে এটি কোনও পাসওয়ার্ড ছাড়াই রুট হিসাবে লগ ইন করবে তবে প্লাগ-ইন দিয়ে।

পরে এটি বলে:

স্ক্রিপ্টগুলি চালানো উচিত কারণ ব্যবহারকারীর প্রয়োজনীয় অনুদান রয়েছে এবং ইউনিক্স_সকেটের মাধ্যমে সনাক্ত করা উচিত।

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


1
আপনি যে বর্ণনা করেছেন ঠিক সেই সমস্যার মুখোমুখি হয়েছি: "So if you disable that plug-in for root and set a password, the daily cron job will break as it's assuming it will log in as root without a password..."UNIX_SOCKET প্রমাণীকরণ প্লাগইন সক্ষম হওয়া (যেটি এখন ডিফল্ট) এর অ-স্পষ্টত জড়িতকরণটি হ'ল পাসওয়ার্ড সহ রুট ডাটাবেস ব্যবহারকারী হিসাবে প্রমাণীকরণের যার ক্ষমতা অক্ষম is কোথাও মারিয়্যাড.ব.কে / কেবি / এএন / এমআরডিবি / ইউনিক্স_সকেট-অটেনটিকেশন- প্লাগইনটিতে এই উল্লেখযোগ্য সীমাবদ্ধতার উল্লেখ নেই। তদনুসারে, এসএসএইচ এর মাধ্যমে রুট হিসাবে লগইন করা অসম্ভব।
বেন জনসন

2

আমি এই পোস্টের উত্তর অনুসরণ করে সমস্যার সমাধান করেছি:

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

সকলকে মূলের ফাঁকা স্ট্রিংয়ের জন্য mysql.user এর প্লাগইন ক্ষেত্রটি পরিবর্তন করতে হবে।


এই সমস্যাটি এখানে বর্ণিত হয়েছে: percona.com/blog/2016/03/16/…
antonu17

3
এই পদ্ধতির কারণে পরে সমস্যা দেখা দেবে। আপনি যদি প্লাগ-ইনটি অক্ষম করে রাখেন তবে প্রতিদিনের ক্রোন জব ভাঙবে কারণ এটি ধরে নেওয়া হচ্ছে যে এটি সেই প্লাগ-ইনটি দিয়ে লগ ইন করতে পারে। বিস্তারিত জানার জন্য আমার উত্তর দেখুন।
কোলান

1

আমি এই কমান্ডটি ইনস্টল করে ঠিক পরে চালিয়েছি:

$ sudo mysql_secure_installation

প্রথম ধাপে, পাসওয়ার্ড ফাঁকা, তাই কেবল এন্টার টিপুন।


1
ইতিমধ্যে সেট করা থাকলে এটি ফাঁকা নয়, যা আমার ভুলে যাওয়া পিডব্লিউটি রয়েছে… তাই এখনও লগ ইন করতে পারবেন না
ডেভ এভারিট

0

আমি প্রসারিত সঙ্গে একটি raapberry পাই উপর একই সমস্যা ছিল। আমার সমাধানটি হ'ল নিম্নলিখিতগুলি করে সমস্ত সুযোগ-সুবিধা সহ একটি নতুন ব্যবহারকারী তৈরি করা হয়েছিল:

sudo mysqld_safe --skip-grant-tables --skip-networking &
mysql -u root

MariaDB [(none)]> use mysql
MariaDB [mysql]> FLUSH PRIVILEGES;
GRANT ALL privileges ON mysql.* TO 'admin'@'localhost' with grant option;

এখন আমি লগইন করতে পারি এবং আমাদের সুপারিশর হিসাবে "প্রশাসক" ব্যবহারকারী user

আমি আশা করি এটি কারও সাহায্য করবে।


0

শুধু ব্যবহার করুন sudo mysql -u root- এটি


বিশদ: নতুন সংস্করণগুলি সিস্টেম প্রমাণীকরণ ব্যবহার করে মাইএসকিএল-তে প্রমাণীকরণ করে। সুতরাং আপনি যদি ওএসে সুডো করতে পারেন তবে ধরে নেওয়া যায় আপনি খুব মূল ডিবি। আপনি জারি করে এটি নিশ্চিত করতে পারেন sudo mysql -u root -e "USE mysql; SELECT User, Host, plugin FROM mysql.user;"। আপনার auth_socketএটির মতো কিছু দেখা উচিত (সম্ভবত অন্যান্য ডিস্ট্রোসের সাথেও )

+------+-----------+-------------+
| User | Host      | plugin      |
+------+-----------+-------------+
| root | localhost | unix_socket |
+------+-----------+-------------+

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