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


382

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

আমি যখন রুট ব্যবহারকারীর সাথে মাইএসকিউএল ডাটাবেসে লগইন করার চেষ্টা করি তখন আমি ত্রুটিটি পাই:

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

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

আমি mysql.user টেবিলটিতে দেখেছি এবং নিম্নলিখিতটি পেয়েছি:

+------------------+-------------------+
| user             | host              |
+------------------+-------------------+
| root             | %                 |
| root             | 127.0.0.1         |
| amavisd          | localhost         |
| debian-sys-maint | localhost         |
| iredadmin        | localhost         |
| iredapd          | localhost         |
| mysql.sys        | localhost         |
| phpmyadmin       | localhost         |
| root             | localhost         |
| roundcube        | localhost         |
| vmail            | localhost         |
| vmailadmin       | localhost         |
| amavisd          | test4.folkmann.it |
| iredadmin        | test4.folkmann.it |
| iredapd          | test4.folkmann.it |
| roundcube        | test4.folkmann.it |
| vmail            | test4.folkmann.it |
| vmailadmin       | test4.folkmann.it |
+------------------+-------------------+

আপনি দেখতে পাচ্ছেন যে, রুটের অ্যাক্সেস থাকা উচিত।

সার্ভারটি বেশ সহজ, যেহেতু আমি এখনই এটির জন্য সমস্যার সমাধান করার চেষ্টা করেছি ..

এটি অ্যাবাচি, মাইএসকিউএল এবং পিএইচপি সহ উবুন্টু 16.04.1 এলটিএস চালাচ্ছে, যাতে এটি ওয়েবসাইটগুলি এবং আইআরডমেল 0.9.5-1 হোস্ট করতে পারে, যাতে এটি মেইল ​​হোস্ট করতে পারে।

আইআরকিউএল ডাটাবেসে লগ ইন করা আমি আইআরডমিল ইনস্টল করার আগে ঠিকঠাক কাজ করে। আমি চেষ্টা করেছিলাম, কেবল আইআরডমিল ইনস্টল করেছি, কিন্তু তারপরে রুটও কাজ করে না ...

যদি কেউ আমাকে বলতে পারে যে আমি কীভাবে আমার মাইএসকিউএল লগইন সমস্যাটি সমাধান করব বা বিদ্যমান মাইএসকিউএল ইনস্টলের শীর্ষে আমি কীভাবে আইআরডমেল ইনস্টল করব। এবং হ্যাঁ আমি ইনস্টলেশন টিপস চেষ্টা করেছিলাম এবং কনফিগার ফাইলগুলিতে সেই পরিবর্তনগুলি খুঁজে পাচ্ছি না can't


আমি এই লিঙ্কটি অনুসরণ করেছি এবং প্রথম বিকল্পটি আমার পক্ষে কাজ করেছে: Askubuntu.com/questions/763336/…
মিকেল আরহেলগার

3
sudo mysql_secure_installation
সের্গেই পোনোমারেভ

উত্তর:


1119

উবুন্টু, মাইএসকিএল এর মতো কিছু সিস্টেম ডিফল্টরূপে ইউএনআইএক্স auth_sket প্লাগইন ব্যবহার করছে

মূলত এর অর্থ: db_users এটি ব্যবহার করে, সিস্টেম ব্যবহারকারীর শংসাপত্রগুলি দ্বারা "লেখক" হবে rootনিম্নলিখিতটি করে আপনার ব্যবহারকারীকে এভাবে সেট আপ করা হয়েছে তা আপনি দেখতে পারবেন :

$ sudo mysql -u root # I had to use "sudo" since is new installation

mysql> USE mysql;
mysql> SELECT User, Host, plugin FROM mysql.user;

+------------------+-----------------------+
| User             | plugin                |
+------------------+-----------------------+
| root             | auth_socket           |
| mysql.sys        | mysql_native_password |
| debian-sys-maint | mysql_native_password |
+------------------+-----------------------+

আপনি কোয়েরিতে দেখতে পাচ্ছেন, rootব্যবহারকারী auth_socketপ্লাগইনটি ব্যবহার করছে

এটি সমাধানের জন্য 2 টি উপায় রয়েছে:

  1. mysql_native_passwordপ্লাগইনটি ব্যবহার করতে আপনি রুট ব্যবহারকারীকে সেট করতে পারেন
  2. আপনি নিজের db_userসাথে একটি নতুন তৈরি করতে পারেন system_user(প্রস্তাবিত)

বিকল্প 1:

$ sudo mysql -u root # I had to use "sudo" since is new installation

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

$ service mysql restart

বিকল্প 2: (আপনার ব্যবহারকারীর নামটি দিয়ে YOUR_SYSTEM_USER প্রতিস্থাপন করুন)

$ sudo mysql -u root # I had to use "sudo" since is new installation

mysql> USE mysql;
mysql> CREATE USER 'YOUR_SYSTEM_USER'@'localhost' IDENTIFIED BY '';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'YOUR_SYSTEM_USER'@'localhost';
mysql> UPDATE user SET plugin='auth_socket' WHERE User='YOUR_SYSTEM_USER';
mysql> FLUSH PRIVILEGES;
mysql> exit;

$ service mysql restart

মনে রাখবেন যে আপনি # 2 বিকল্পটি ব্যবহার করলে আপনাকে সিস্টেমের ইউজারনেম হিসাবে মাইএসকিএলে কানেক্ট করতে হবে ( mysql -u YOUR_SYSTEM_USER)

দ্রষ্টব্য: কিছু সিস্টেমে (উদাহরণস্বরূপ, দেবিয়ান প্রসারিত) 'অথ_সকেট' প্লাগইনটিকে 'ইউনিট_সকেট' বলা হয় , সুতরাং সংশ্লিষ্ট এসকিউএল কমান্ডটি হওয়া উচিত:UPDATE user SET plugin='unix_socket' WHERE User='YOUR_SYSTEM_USER';

আপডেট: @ অ্যান্ডির মন্তব্য থেকে মনে হয় যে mysql 8.xx আপডেট হয়েছে / প্রতিস্থাপন করেছে auth_socketকারণ এটি পরীক্ষা করার জন্য caching_sha2_passwordআমার কাছে mysql 8.xx এর একটি সিস্টেম সেটআপ নেই, তবে উপরের পদক্ষেপগুলি আপনাকে বিষয়টি বুঝতে সহায়তা করবে। উত্তর এখানে:

মাইএসকিউএল ৮.০.৪ এর মধ্যে একটি পরিবর্তন হ'ল নতুন ডিফল্ট প্রমাণীকরণ প্লাগইন হ'ল 'ক্যাচিং_শ্যা_পাসওয়ার্ড'। নতুন 'YOUR_SYSTEM_USER' এর এই লেখক প্লাগইন থাকবে এবং আপনি এখন "মাইএসকিএল-ইউ YOUR_SYSTEM_USER -p" দিয়ে ব্যাশ শেল থেকে লগইন করতে পারেন এবং প্রম্পটে এই ব্যবহারকারীর জন্য পাসওয়ার্ড সরবরাহ করতে পারেন। "আপডেট আপডেট ব্যবহারকারী সেট প্লাগইন" পদক্ষেপের প্রয়োজন নেই। 8.0.4 ডিফল্ট অনুমোদন প্লাগইন আপডেটের জন্য দেখুন, https://mysqlserverteam.com/mysql-8-0-4-new-default-authentication-plugin-caching_sha2_password/


5
বিকল্প 1 আমার জন্য কাজ করেছে। তবে তখন আমারও দৌড়াতে হবে sudo gedit /etc/phpmyadmin/config.inc.php। তারপরে আমি অনুসন্ধান করেছিলাম AllowNoPasswordএবং উভয় লাইনকে এতে সংঘাতবদ্ধ করেছি। তারপরে আমি পাসওয়ার্ড ছাড়াই রুট হিসাবে লগইন করতে সক্ষম হয়েছি।
জো

7
বিকল্প 2 কাজ করে। আমি মনে করি একটি নতুন ব্যবহারকারীর তৈরি করা এবং সেখানে থাকার জন্য মূল ব্যবহার ছেড়ে দেওয়া সর্বদা সেরা অনুশীলন!
পাসিন্ডুজে

2
IDENTIFIED BY ''বিট সম্ভবত হওয়া উচিতIDENTIFIED BY 'YOUR_PASSWD'
YakovL

4
অবশেষে, একটি উত্তর যা আসলে কাজ করে !! এখানে একটি জিলিয়ন উত্তর আছে যা বলছে mysqld_safe --skip-grant-tables, এবং এটি কাজ করছে না।
স্টিয়ার্ট

4
ঠিক আছে, এটি কিভাবে করবেন, যদি sudo mysql -u root -pআমাকে letুকতে না দেয়?
হ্রভোয়ে টি

173

এখানে চেক করুন:

এমওয়াইএসকিউএল এর নতুন সংস্করণ এটি এভাবে করে।

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

সঠিক উপায় হ'ল সুবিধার্থে আমার-স্কুলে লগইন করা sudo

$ sudo mysql -u root -p

এবং তারপরে পাসওয়ার্ডটি আপডেট করে:

$ ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new-password';

এটি একবার stop and startমাইএসকিএল সার্ভার হয়ে গেলে ।

$  sudo service mysql stop
$  sudo service mysql start

সম্পূর্ণ বিশদ জন্য আপনি এই লিঙ্কটি উল্লেখ করতে পারেন ।

কোন সন্দেহের জন্য মন্তব্য করুন।


4
এটি উবুন্টু 18 ব্যবহার করে আমার জন্য কাজ করেছে Thanks ধন্যবাদ অনেক অনেক ধন্যবাদ।
পিটার ড্রিননান

10
উবুন্টুতেও কাজ করেছেন 18.04
sgtkuncoro

2
ঠিক আমি খুঁজছেন ছিল কি. ধন্যবাদ :) উবুন্টু 18
মান্থান_আডমান

2
এটি মোহন হিসাবে কাজ করেছে, লুবন্তু 19.04
Kvvaradha

3
এটি ভাল কাজ করে। লিঙ্কটি দরকারী।
kjohri

9

আমার উইন্ডোজ 10 ডেস্কটপে পুট্টির মাধ্যমে ইন্টারেক্ট করছি এমন একটি ডেবিয়ান 8 ভিএম-তে আমার এই সমস্যাটি ছিল।

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

sudo service mysql restart
sudo mysql # logs in automatically into MariaDB
use mysql;
update user set plugin='' where user='your_user_name';
flush privileges;
exit;
sudo service mysql restart # restarts the mysql service

উপরেরটি যদি আপনার পক্ষে বেশ কার্যকর না হয় তবে উপরের জেটাকুর পোস্টে বর্ণিত পদক্ষেপগুলি অনুসরণ করুন ( জেটাকু ) তারপরে আমার পদক্ষেপগুলি অনুসরণ করুন।

এখন আপনি একটি দূরবর্তী টার্মিনাল ক্লায়েন্ট ব্যবহার করতে সক্ষম হবেন এবং কমান্ডটি ব্যবহার করে নিরাপদে মাইএসকিএল-এ লগইন করতে পারেন:

mysql -u your_user_name -p

যখন জিজ্ঞাসা করা হয় তখন পাসওয়ার্ড টাইপ করুন


এটা সহজ. ঠিক আছে, কেবল প্রথম
কমান্ডই

7

আমি মাইএসকিএল সংযোগটি সরিয়ে দেওয়ার পরামর্শ দিচ্ছি -

আপডেট - এটি মাইএসকিএল সংস্করণ 5.5 এর জন্য, যদি আপনার সংস্করণটি আলাদা হয় তবে দয়া করে সেই অনুযায়ী প্রথম লাইনটি পরিবর্তন করুন

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

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

sudo apt-get update
sudo apt-get install mysql-server

@ জিনগারট হয়ত আবার কিছু ইনস্টল করার সময় আপনাকে অবহেলা করা এমন কিছু সমস্যাগুলির কারণ হতে পারে
এমিনেম 347

@ পিজে ব্রুননেট সম্ভবত আপনার মাইকিউএল এর সংস্করণটি আলাদা করতে পারে
এমিনেম 347

যথেষ্ট উপযুক্ত, তবে একটি সর্ব-উদ্দেশ্য সমাধান সেরা।
পিজে ব্রুনেট

6

এখানে কোনও সমাধান না করে কয়েক ঘন্টা লড়াই করার পরে, এটি আমার পক্ষে কাজ করেছে তখন আমি একটি ইউটিউব ভিডিও পেয়েছি যেখানে এটি বলে যে পাসওয়ার্ড কলামটি এখন প্রমাণীকরণ_আরক্ষক হিসাবে পরিচিত। সুতরাং আমি নিম্নলিখিত হিসাবে আমার পাসওয়ার্ড পরিবর্তন করতে সক্ষম হয়েছিল: প্রথম টার্মিনাল থেকে mysql এ

sudo mysql

তারপরে মাইএসকিএল এর ভিতরে মাইএসকিএল> যা টাইপ করুন

mysql> use mysql
mysql> update user set authentication_string=PASSWORD("mypass") where user='root';
mysql> flush privileges;
mysql> quit;

এই মুহুর্তে আপনি mysql এর বাইরে আপনার সাধারণ টার্মিনাল জায়গায় ফিরে এসেছেন। এটি কার্যকর করার জন্য আপনাকে মাইএসকিএল পুনরায় চালু করতে হবে। এই ধরণের জন্য নিম্নলিখিত:

sudo service mysql restart

পড়ুন এই ভিডিও লিঙ্ক ভাল বোঝার জন্য


5

ধাপ 1. sudo mysql -u root -p

ধাপ ২. USE mysql;

ধাপ 3. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'admin';

এখানে 'অ্যাডমিন' হ'ল আপনার নতুন পাসওয়ার্ড, আপনি এটি পরিবর্তন করতে পারবেন।

পদক্ষেপ 4। exit

ধন্যবাদ। তুমি পেরেছ.


5

সুডোর দরকার নেই

ডাটাবেসটি 2 সমস্ত সুবিধাযুক্ত অ্যাকাউন্ট দিয়ে শুরু করা হয়: প্রথমটি "রুট" যা অ্যাক্সেসযোগ্য এবং দ্বিতীয়টি আপনার ব্যবহারকারীর নাম (কমান্ড সহ পরীক্ষা করুন whoami)।

রুট অ্যাকাউন্টে অ্যাক্সেস সক্ষম করতে আপনাকে আপনার ব্যবহারকারীর নাম দিয়ে লগইন করতে হবে

mysql -u $(whoami)

এবং ম্যানুয়ালি রুটের জন্য পাসওয়ার্ড পরিবর্তন করুন

use mysql;
set password for 'root'@'localhost' = password('YOUR_ROOT_PASSWORD_HERE');
flush privileges;
quit

'রুট' হিসাবে লগইন করুন

mysql -u root -p

আপনি মাইএসকিএলের আসল সংস্করণটির সঠিক উত্তরটি, ধন্যবাদ!
হুগো এস

3

প্রথম পদক্ষেপ: /etc/phpmyadmin/config.inc.php এ যান এবং তারপরে আপনার যে সমস্ত লাইন AllowNoPassword পাওয়া যায় তাতে কোনও অসুবিধা লাইন যান। দ্বিতীয় পদক্ষেপ: আপনার মাইএসকিএল ডিফল্ট অ্যাকাউন্টে লগইন করুন

mysql -u root -p
use mysql;
update user set plugin="" where user='root';
flush privilege;

এবং যে সব!


3

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

mysql --user=root mysql
CREATE USER 'some_user'@'%' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'some_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

3

আমিও প্রথম প্রথম একই সমস্যার মুখোমুখি হয়েছিলাম।

এখন এটি স্থির করা হয়েছে:

প্রথমত, আপনি /etc/mysql/mysql.conf.d/mysqld.cnfফাইলটি অনুলিপি করুন এবং এতে অতীতে গেছেন /etc/mysql/my.cnf

আপনি আদেশ দ্বারা এটি করতে পারেন:

sudo cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/my.cnf

এবার পাসওয়ার্ডটি বিশ্রাম দিন:

আপনার টার্মিনালে নিম্নলিখিত কমান্ডগুলি ব্যবহার করুন:

sudo service mysql stop 
sudo service mysql start
sudo mysql -u root

এখন আপনি মাইএসকিএল কনসোলের ভিতরে রয়েছেন।

তারপরে আমাদের মূল পাসওয়ার্ডটি পুনরায় সেট করতে কিছু প্রশ্ন লিখি

USE mysql
update mysql.user set authentication_string=password('newpass') where user='root' and Host ='localhost';
update user set plugin="mysql_native_password"; 
flush privileges;
quit

এখন আমরা পরিষ্কার করতে পারি /etc/mysql/my.cng

উপরের ফাইলটি আপনার সম্পাদকে খুলুন এবং ফাইলের পুরো লাইনগুলি সরিয়ে দিন।

এর পরে মাইএসকিএল পুনরায় চালু করা যাক:

sudo mysql service restart 

এখন নতুন তৈরি পাসওয়ার্ড সহ mysql ব্যবহার করা যাক:

sudo mysql -u root -p

অবশেষে আপনার নতুন তৈরি পাসওয়ার্ড লিখুন।


1
ভাল কাজ! কিন্তু আপনার উত্তর আপডেট করা প্রয়োজন !! /etc/mysql/my.cnf এবং /etc/mysql/my.cng নয় এবং পরিষেবাটির জন্য পুনরায় সূচনা করুন তার সুডো সার্ভিস
মাইএসকিএল

3

আমি এখানে কয়েক ঘন্টা গবেষণার পরে আমার সমাধানটি খুঁজে পেয়েছি।

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

sudo service mysql stop

মাইএসকিউএল পরিষেবা ডিরেক্টরি করুন।

sudo mkdir /var/run/mysqld

মাইএসকিউএল ব্যবহারকারীকে পরিষেবা ডিরেক্টরিতে লেখার অনুমতি দিন।

sudo chown mysql: /var/run/mysqld

অনুমতি চেক বা নেটওয়ার্কিং ছাড়াই মাইএসকিউএল ম্যানুয়ালি শুরু করুন।

sudo mysqld_safe --skip-grant-tables --skip-networking &

একটি পাসওয়ার্ড ছাড়া লগ ইন করুন।

 mysql -uroot mysql

পাসওয়ার্ড আপডেট করুন

UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='%';
EXIT;

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

sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown

মাইএসকিউএল পরিষেবাটি সাধারণত শুরু করুন।

sudo service mysql start

যখন আমার আর কিছু হবে না তখন এটি আমার কাছে একটি এসএসকিএল প্রম্পট পেয়েছিল! ধন্যবাদ!
ইউজারএক্স

2

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

যদি আপনাকে রুটের জন্য একটি নতুন পাসওয়ার্ড সেট করতে হয় তবে মাইএসকিউএল এর সাইটটিতে এটি কীভাবে করা যায় সে সম্পর্কে দুর্দান্ত ডকুমেন্টেশন রয়েছে: http://dev.mysql.com/doc/refman/5.7/en/resetting-permitted.html

আমি এখানে প্রক্রিয়াটি দেখাব না কারণ উপরের লিঙ্কে মাইএসকিএল ডকুমেন্টেশন এটি পরিষ্কার এবং সংক্ষিপ্ত


অ্যাঞ্জারটির জন্য ধন্যবাদ, তবে আমি এটি কাজ করতে পারিনি, সুতরাং আমি পরিবর্তে একটি পিজিএসকিউএল ডাটাবেস সহ আইআরডমেলটি ইনস্টল করতে বেছে নিয়েছি।
ফোকম্যান

রজার ফোকম্যান! আপনি যেভাবেই আপনার সমস্যার সমাধান করেছেন তা জেনে রাখা ভাল।
ক্রিশ্চিয়ান গোনালভেস

লিঙ্কগুলি বিরতি। mysql.com এর বিগত কয়েক বছরে অনেকগুলি ভাঙা লিঙ্ক রয়েছে। আপনার এখানে প্রাসঙ্গিক তথ্য অনুলিপি করে আটকানো উচিত, যা উত্সটি দান করেন ততক্ষণ ঠিক is
হংস 22

1

OS: Ubuntu18.04

MySQL: 5.7

  1. যোগ skip-grant-tablesmysqld.cnf ফাইল শেষ

  2. সিপি my.cnf

sudo cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/my.cnf
  1. পাসওয়ার্ড পুনরায় সেট করুন
(base)   ~ sudo service mysql stop 
(base)   ~ sudo service mysql start
(base)   ~ mysql -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.25-0ubuntu0.18.04.2 (Ubuntu)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed, 3 warnings
mysql> update mysql.user set authentication_string=password('newpass') where user='root' and Host ='localhost';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

mysql> update user set plugin="mysql_native_password"; 
Query OK, 0 rows affected (0.00 sec)
Rows matched: 4  Changed: 0  Warnings: 0

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

mysql> quit
Bye
  1. skip-grant-tablesmy.cnf থেকে অপসারণ করুন
(base)   ~ sudo emacs /etc/mysql/mysql.conf.d/mysqld.cnf 
(base)   ~ sudo emacs /etc/mysql/my.cnf                 
(base)   ~ sudo service mysql restart
  1. মাইএসকিএল খুলুন
(base)   ~ mysql -uroot -ppassword 
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.25-0ubuntu0.18.04.2 (Ubuntu)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
  1. পাসওয়ার্ড নীতি পরীক্ষা করুন
mysql> select @@validate_password_policy;
+----------------------------+
| @@validate_password_policy |
+----------------------------+
| MEDIUM                     |
+----------------------------+
1 row in set (0.00 sec)


mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_dictionary_file    |        |
| validate_password_length             | 8      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+
6 rows in set (0.08 sec)!
  1. এর কনফিগারেশন পরিবর্তন করুন validate_password
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.05 sec)

mysql> set global validate_password_mixed_case_count=0;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_number_count=3;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_special_char_count=0;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_length=3;
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_dictionary_file    |       |
| validate_password_length             | 3     |
| validate_password_mixed_case_count   | 0     |
| validate_password_number_count       | 3     |
| validate_password_policy             | LOW   |
| validate_password_special_char_count | 0     |
+--------------------------------------+-------+
6 rows in set (0.00 sec)

নোট আপনি জানেন যে আপনি কি কারণে ত্রুটি হয়েছে? validate_password_policy?

নীতিটি পূরণ করতে বা নীতি পরিবর্তন করতে আপনার পাসওয়ার্ডটি পুনরায় সেট করার সিদ্ধান্ত নেওয়া উচিত।


0

আমার সাথেও এটি ঘটেছে। সমস্যাটি মাইএসকিএল রেপো যা লিনাক্স ডিস্ট্রো নিয়ে ইতিমধ্যে আসে with সুতরাং আপনি যখন সহজভাবে এটি করেন: $ sudo apt install mysql-server এটি তাদের ডিফল্ট রেপো থেকে মাইএসকিএল ইনস্টল করে যা এই সমস্যা দেয়। সুতরাং এটি অতিক্রম করার জন্য আপনাকে সেই ইনস্টল করা মাইএসকিএল আনইনস্টল করতে হবে $ sudo apt remove mysql* --purge --auto-remove

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


0

আমার ক্ষেত্রে,

dev@Dev-007:~$ mysql -u root -p
Enter password: 
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

আমি নিশ্চিত যে আমার পাসওয়ার্ডটি সঠিক ছিল অন্যথায় ত্রুটি কোড হবে ERROR 1045 (28000): Access denied for user

সুতরাং আমি সুডো ব্যবহার করে পুনরায় চালু করছি,

dev@Dev-007:~$ sudo mysql -u root -p

এবার এটি আমার পক্ষে কাজ করেছে। দেখতে ডক্স

এবং তারপরে রুট পাসওয়ার্ড পরিবর্তন করুন,

mysql> alter user 'root'@'%' identified with mysql_native_password by 'me123';
Query OK, 0 rows affected (0.14 sec)

mysql> 

তারপরে সার্ভারটি পুনরায় চালু করুন sudo /etc/init.d/mysql restart

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