রুট হিসাবে phpmyadmin প্রবেশ করতে পারবেন না (মাইএসকিউএল 5.7)


66

আমি উবুন্টু ডেস্কটপ 16.04 ব্যবহার করছি (15.10 থেকে আপগ্রেড করা হয়েছে)।

আমি কাছ থেকে phpmyadmin ইনস্টল করেছি apt-get install phpmyadmin। আমি যদি যাই তবে এটি কাজ করে তবে আমি localhost/phpmyadminএটি রুট হিসাবে লগ ইন করতে পারি না।

আমি এটির জন্য অনেক অনুসন্ধান করেছি। আমি অনেক উত্স পেয়েছি যার মধ্যে তারা /etc/phpmyadmin/config.inc.phpব্যবহারকারীর এবং পাসওয়ার্ডকে 'রুট' এবং '' (পাসওয়ার্ডের জন্য খালি) দিয়ে পরিবর্তন এবং প্রতিস্থাপন করার পরামর্শ দেয় । তবে আমার config.inc.phpওদের থেকে আলাদা। আমার ফাইলে উদাহরণস্বরূপ, সেখানে ব্যবহারকারী এবং পাসওয়ার্ড জন্য কোন লাইন নেই এবং এটা অন্য ফাইল যা থেকে স্বয়ংক্রিয়ভাবে এটি পায় বলে মনে হয় /etc/phpmyadmin/config-db.php। এটি সত্ত্বেও, আমি সেই ফাইলটিতে ব্যবহারকারী এবং পাসওয়ার্ড পরিবর্তন করেছি তবে এখন আমি এই ত্রুটিটি পেয়েছি:

#1698 - Access denied for user 'root'@'localhost'

এখন আমার কি করা উচিত?


Phpmyadmin সংস্করণ: 4.5.4.1deb2ubuntu1
mysql Ver 14.14 ডিস্ট্রিবিউট 5.7.12, লিনাক্সের জন্য (x86_64) এডিটলাইন র‌্যাপার ব্যবহার করে


কোন মাইএসকিউএল সংস্করণ?
রায়েল গুগেলিন চুনহা

প্রশ্ন আপডেট হয়েছে
মোস্তফা আহঙ্গারহা

সহজ উপায় অনুসন্ধান লগইন এবং pathword মধ্যে /etc/mysql/debian.cnf - উবুন্টু 16,04
CL-R

উত্তর:


127

মাইএসকিউএল 5.7 সুরক্ষিত মডেলটি পরিবর্তন করেছে: এখন মাইএসকিউএল rootলগইন দরকার একটি sudo

অর্থাৎ, phpMyAdmin শংসাপত্রগুলি ব্যবহার করতে সক্ষম হবে নাroot

সবচেয়ে সহজ, নিরাপদ এবং স্থায়ী সমাধানটি নতুন ব্যবহারকারী তৈরি করবে এবং প্রয়োজনীয় সুযোগ-সুবিধা দেবে।

1. মাইএসকিএল সংযোগ করুন

sudo mysql --user=root mysql

২. আসল পাসওয়ার্ড তৈরি করুন

নীচের পদক্ষেপগুলিতে আমি some_passএকটি নমুনা পাসওয়ার্ড হিসাবে ব্যবহার করব । দয়া করে আপনার পাসওয়ার্ডের মাধ্যমে এটি প্রতিস্থাপন করুন! SOME_PASSপাসওয়ার্ড হিসাবে ব্যবহার করবেন না !

৩. পিএইচপিএমআইএডমিনের জন্য একটি ব্যবহারকারী তৈরি করুন

নিম্নলিখিত কমান্ডগুলি চালিত করুন ( some_passপছন্দসই পাসওয়ার্ড দ্বারা প্রতিস্থাপন ):

CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

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

৪. alচ্ছিক এবং অনিরাপদ: দূরবর্তী সংযোগের অনুমতি দিন

মনে রাখবেন : প্রত্যন্ত ব্যবহারকারীকে সমস্ত সুযোগ-সুবিধা পাওয়ার অনুমতি দেওয়া একটি সুরক্ষা উদ্বেগ এবং বেশিরভাগ ক্ষেত্রে এটির প্রয়োজন হয় না

এটি মাথায় রেখে, আপনি যদি এই ব্যবহারকারীর দূরবর্তী সংযোগের সময় একই সুবিধা পেতে চান তবে অতিরিক্তভাবে চালনা করুন ( some_passপদক্ষেপ # 2 তে ব্যবহৃত পাসওয়ার্ড দ্বারা প্রতিস্থাপন ):

CREATE USER 'phpmyadmin'@'%' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

5. পিএইচপিএমআইএডমিন আপডেট করুন

ব্যবহার sudo, সম্পাদনা /etc/dbconfig-common/phpmyadmin.confফাইল নিম্নলিখিত বিভাগে ব্যবহারকারী / পাসওয়ার্ড মান আপডেট (প্রতিস্থাপন some_passধাপ # 2 ব্যবহৃত পাসওয়ার্ড দ্বারা):

# dbc_dbuser: database user
#       the name of the user who we will use to connect to the database.
dbc_dbuser='phpmyadmin'

# dbc_dbpass: database user password
#       the password to use with the above username when connecting
#       to a database, if one is required
dbc_dbpass='some_pass'

2
আমি তদন্ত করব। এরই মধ্যে কর্মপরিকল্পনা হিসাবে, আপনি একটি নতুন ব্যবহারকারী যুক্ত করতে পারেন এবং সমস্ত অনুমতি প্রদান করতে পারেন এবং তারপরে এটি phpmyadmin কনফিগারেশন ফাইলটিতে যুক্ত করতে পারেন।
রায়েল গুগেলিন চুনহা

9
ভালবাসা পেয়েছি যে মাইএসকিউএল আপগ্রেডের পরে জিনিসগুলি ভঙ্গ করে। আমার ওয়ার্কবেঞ্চে আনন্দের সাথে রুটটি ব্যবহার করা হয়েছিল এবং এখন মনে হচ্ছে একমাত্র সমাধান হ'ল কমান্ড লাইনে "sudo mysql", একটি নতুন ব্যবহারকারী তৈরি করা, সমস্ত একই সুযোগ সুবিধা প্রদান করা এবং ওয়ার্কবেঞ্চে এটি ব্যবহার করা। মূঢ়।
অ্যান্ডিস

3
@ মোস্তফাআহঙ্গারহা তদন্তের পরে, আমি দেখতে পেয়েছি যে ফাঁকা পাসওয়ার্ড অনুমোদিত, তবে rootব্যবহারকারীর সর্বদা sudo5.7 ব্যবহারের প্রয়োজন । সুতরাং, আমি সমস্ত সুযোগ-সুবিধা সহ একটি নতুন ব্যবহারকারী তৈরি করতে গাইডের উত্তরটি আপডেট করেছি।
রায়েল গুগেলিন চুনহা

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

2
@ ড্যান - এটি আমার সবচেয়ে বড় গ্রিপ - কোনও সতর্কতা ছাড়াই উবুন্টু ১ 16.০৪ এ উন্নীত করার পরে এটি আমার স্থানীয় উন্নয়নের পরিবেশকে ভেঙে দিয়েছে। নতুন ইনস্টলেশনগুলির জন্য এটি ডিফল্ট হওয়ায় আমি আপত্তি করি না তবে আপডেট ইনস্টল করার আগে কমপক্ষে জিজ্ঞাসা করতে পারি।
অ্যান্ডিস

10

Phpmyadmin (উবুন্টু 16.04LTS) দিয়ে মারিয়াডিবি ব্যবহার করার সময় আমি একই সমস্যার মুখোমুখি হয়েছিলাম।

পূর্বশর্ত:

1) মারিয়াডিবি ইনস্টল করুন

sudo apt-get -y install mariadb-server mariadb-client
sudo mysql_secure_installation (answer to some interactive questions):
    Enter current password for root (enter for none): <enter>
    Set root password: n
    Remove anonymous users: n
    Disallow root login remotely: n
    Remove test database and access to it: n
    Reload privilege tables now: Y

আপনি যদি আনইনস্টল করতে চান mariaDB:

sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-5.5 mysql-client-core-5.5
sudo rm -rf /etc/mysql /var/lib/mysql
sudo apt-get autoremove
sudo apt-get autoclean

2) phpmyadmin ইনস্টল করুন

sudo apt-get -y install phpmyadmin (and answer some interactive questions)
    Configuring phpmyadmin:
        Web server to reconfigure automatically: apache2
        Configure database for phpmyadmin with dbconfig-common: Yes
        MySQL application password for phpmyadmin: <blank>

3) অ্যাপাচি 2 তে, পিএইচপিএমইডমিনে একটি প্রতীকী লিঙ্ক তৈরি করুন

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
sudo a2enconf phpmyadmin.conf
sudo service apache2 restart

ঠিক আছে, এখন, আপনি যদি রায়েলের নির্দেশাবলী অনুসরণ করেন তবে আপনি লগ ইন করতে সক্ষম হবেন phpmyadmin, তবে কমপক্ষে আমার জন্য, একটি লাল বার্তা আসার সাথে সাথে আমি নতুন ডেটাবেস তৈরি করতে সক্ষম হইনি: No privileges(বা কিছু অনুরূপ বার্তা)

সমাধানটি ছিল phpmyadmin পুনরায় কনফিগার করা এবং কিছু ইন্টারেক্টিভ প্রশ্নের উত্তর দিয়ে।

sudo dpkg-reconfigure phpmyadmin
<Ok>
Reinstall database for phpmyadmin: <Yes>
Connection method for MySQL database server for phpmyadmin: TCP/IP
Host name of the MySQL database server for phpmyadmin: localhost
Port number for the MySQL service: 3306
MySQL database name for phpmyadmin: phpmyadmin
<Ok>
MySQL username for phpmyadmin: root
MySQL application password for phpmyadmin: pass  # OR ANY PASSWORD YOU WANT
Password confirmation: pass
Name of the database's administrative user: root
Web server to reconfigure automatically: apache2
An error occurred while installing the database: ignore

এখন আপনি যদি phpmyadmin ( localhost/phpmyadmin) ব্যবহার করে কানেক্ট করার চেষ্টা করেন

username: root
password: pass

আপনি ডাটাবেস তৈরি করতে সক্ষম হবেন।


1
আপনার উত্তর করার জন্য আপনাকে ধন্যবাদ। তবে পুরোটির পরিবর্তে শেষ অংশটি ভাগ করে নেওয়া কি ভাল ছিল না? আমার মনে হয় বাকিটা এখানে কি কাজে লাগে না?
মোস্তফা অহঙ্গারহা

@ মোস্তফাআহঙ্গারহায় পোস্টটি কিছুটা দীর্ঘ হতে পারে তবে উত্তরটি যে প্রসঙ্গে দেওয়া হয়েছে তা আমি সর্বদা জানতে চাই।
ড্যান কোস্টিনেল

sudo dpkg-reconfigure phpmyadmin মারিয়্যাডবি এবং আনইস্টলিং মাইএসকিএল ইনস্টল করার সাথে দৌড়ানোর কোনও সংযোগ আছে কি ? যদি হ্যাঁ, তবে আপনার তথ্য কার্যকর হতে পারে (কারণ আপনি মাইএসকিএল অপসারণের পরামর্শ দিচ্ছেন যা আমি ডিবি ব্যবহার করছি এবং আমি এটি ব্যবহার করব)। যদি তা না হয় তবে প্রসঙ্গ হিসাবে এটি দেওয়ার কোনও মানে নেই। আমি যদি ভুল হয় তবে আমাকে সংশোধন করুন।
মোস্তফা অহংগার

2
আমি কেবল পুনর্গঠনটি অনুসরণ করেছি এবং এখন এটি কার্যকর হয়।
cWisperer

মূল অ্যাকাউন্টের জন্য কোনও পাসওয়ার্ড না রাখা কি ভাল ধারণা?
কুর্ডপেজ

6

মাইএসকিএল 5.7 এর জন্য উবুন্টুতে 16.04 এ সারণির তথ্য নীচে চেক করুন এবং প্রয়োজনীয় সেটিংস সম্পাদন করুন:

mysql>  SELECT User, Host, plugin FROM mysql.user;
+------------------+-----------+-----------------------+
| User             | Host      | plugin                |
+------------------+-----------+-----------------------+
| root             | localhost | auth_socket           |
| mysql.session    | localhost | mysql_native_password |
| mysql.sys        | localhost | mysql_native_password |
| debian-sys-maint | localhost | mysql_native_password |
| phpmyadmin       | localhost | mysql_native_password |
| root             | %         | mysql_native_password |
+------------------+-----------+-----------------------+

রুটে auth_sket প্লাগইন রয়েছে কিনা তা পরীক্ষা করে নিচে কমান্ডের নীচে চলুন:

mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;

এটি পরবর্তী মাইএসকিউএল aptআপডেট হওয়া পর্যন্ত কাজ করবে । অর্থাৎ উবুন্টুতে প্রতিটি মাইএসকিউএল আপডেটের পরে আপনাকে এটি প্রয়োগ করতে হবে।
রায়েল গুগেলিন চুনহা

6

যদি ফাইপ্যাডমিন সংযোগ করতে না পারে তবে এটির অনুমোদন প্রক্রিয়াটির কারণে হতে পারে auth_socket। আপনি এটির মতো নিয়মিত পাসওয়ার্ড ব্যবহার করতে এটি পরিবর্তন করতে পারেন:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'my_password';

আমি এখন উবুন্টু 18.04 এর একটি পরিষ্কার ইনস্টল নিয়ে এটির সাথে লড়াই করে যাচ্ছিলাম এবং এটিই এটি কার্যকর করেছে। আরও একটি ব্যাখ্যা এখানে একটি শালীন নিবন্ধ আছে:

https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/


3

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

root@raspberrypi:# sudo mysql --user=root mysql
use mysql;
CREATE USER 'phpmyadmin'@'%' IDENTIFIED BY 'some_password';
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

শুভেচ্ছা সহ


1
উবুন্টুকে জিজ্ঞাসা করুন স্বাগতম! জিজ্ঞাসা করুন উবুন্টু কেবল উবুন্টুর জন্য, দয়া করে রাস্পবিয়ান (দেবিয়ান ভিত্তিক) সম্পর্কে উত্তর পোস্ট করবেন না।
ফসলিনাক্স

2
@ বাবাশু এই সমাধানটি রস্পিয়ান নির্দিষ্ট নয়, এটি মারিয়াডিবি নির্দিষ্ট।
থমাস ওয়ার্ড

ধন্যবাদ! এখনও নতুন ডাটাবেস তৈরি করার কোনও বিকল্প নেই।
বিপদ 89

2

আমার একই সমস্যা ছিল, আমি বেশিরভাগ পরামর্শ অনুসরণ করেছি এবং এর কোনওটিই আমার পক্ষে কার্যকর হয়নি! আমার সমস্যাটি একই ছিল যখন আমি আমার ব্রাউজারে http: // লোকালহোস্ট / phpmyadmin খোলার সময় এটিতে বিশদ লগ করার জন্য জিজ্ঞাসা করেছিল।

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

# 1698 - ব্যবহারকারীর 'রুট' @ 'লোকালহোস্ট' এর জন্য অ্যাক্সেস অস্বীকার করা হয়েছে

এটি যা গ্রহণ করেছে তা phpmyadminব্যবহারকারীর হিসাবে ব্যবহার করা ছিল , rootপরিচিত পাসওয়ার্ড সহ নয় এবং এটি আমাকে প্রবেশ করতে দিয়েছিল।


3
আপনার মানে ব্যবহারকারী নাম "phpmyadmin" হওয়া উচিত?
মোস্তফা আহঙ্গারহা

1
হ্যাঁ এটি আমার পক্ষে কাজ করেছিল
প্লুটসিকি

এবং আমার জন্য যা একটি টিউটোরিয়াল অনুসরণ করেছে, পাসওয়ার্ডটি ছিল "কিছু_পাস" হাহা। ধন্যবাদ!
মার্সেলো ইগিল

@ মার্সেলোজিগিল আমি আমার উপরের উত্তরে বেশ কয়েকটি সতর্কতা রেখেছি যাতে লোকজনকে some_passসত্যিকারের পাসওয়ার্ড দিয়ে প্রতিস্থাপন করতে বলা হয়!
রায়েল গুগেলিন চুনহা

1

রায়েল কুনহাকে উল্লেখ করে:

হ্যাঁ তার সমাধান কাজ করে, এবং আমি অন্যদের চেষ্টা করেছি। তবে, কোনও কনফিগারেশন ফাইলে উন্মুক্ত পাসওয়ার্ড থাকা কোনও ব্যবহারকারীকে উল্লেখ করা /etc/dbconfig-common/phpmyadmin.confযেমন সিস্টেম-ব্যাপী ক্রিয়াকলাপের জন্য সুরক্ষা ত্রুটির মতো লাগে।

সুতরাং আমি বরং সম্পর্কিত MariaDB 10.1.xবিষয়গুলিতে পরামর্শ দেব (কিছু_ ব্যবহারকারী এবং কিছু_পাস আপনার সাথে সামনে আসতে পারে এমন কিছু হবে):

# mysql -u root
use mysql;
CREATE USER 'some_user'@'%' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON \*.\* TO 'some_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

এবং phpadmin সেটআপ ছেড়ে (4) হিসাবে।

পরে আপনার নিজের শংসাপত্রগুলি দিয়ে phpmyadmin এ লগ ইন করুন

আমার নিজস্ব সেটআপগুলিতে আমি সুরক্ষার প্রয়োজনে উপরের '%' কে 'লোকালহোস্ট' দ্বারা প্রতিস্থাপন করি, তবে আপনার সার্ভারে যদি আপনার 3306 বন্দরটি বন্ধ থাকে যা অগত্যা আপনাকে কোনও সুরক্ষা ঝুঁকি না দেয়।


0

কেবল নীচে কোড উবুন্টু 18.04, উপরের পিএইচপি 7 এবং মাইএসকিএল 5.7 এর জন্য কাজ করে

CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

'Phpmyadmin' প্রতিস্থাপন করবেন না। অন্য কোনও ব্যবহারকারীর তৈরির মতো নতুন সুবিধা তৈরির মতো পুরো অধিকার নেই, সেই ব্যবহারকারীর মতো ডাটাবেস সুবিধাগুলি বরাদ্দ করুন। শুধুমাত্র পিএইচপিএমইডমিন ব্যবহারকারী সম্পূর্ণ অ্যাক্সেস পাবেন।


-2

আপনি যদি মাইএসকিউএল পৃথকভাবে ইনস্টল করেন তবে এটি sudo / opt / lampp / lampp স্টপ পরিষেবাটি mysql স্টপ sudo / opt / lampp / lampp স্টার্ট নীচে ব্যবহার করুন

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