मैं mysql पासवर्ड सत्यापन बंद कैसे करूँ?


153

ऐसा लगता है कि मैंने अनजाने में MySQL 5.7 में पासवर्ड सत्यापन प्लगइन लोड किया हो सकता है। यह प्लगइन कुछ नियमों का पालन करने के लिए सभी पासवर्ड को मजबूर करने के लिए लगता है।

मैं इसे बंद करना चाहूंगा।

जैसा कि यहां कोई फायदा नहीं हुआ, मैंने वैरिडेट_पासवर्ड_लिफ्ट चर को बदलने की कोशिश की है ।

mysql> SET GLOBAL validate_password_length=4;
Query OK, 0 rows affected (0.00 sec)

mysql> SET PASSWORD FOR 'app' = PASSWORD('abcd');
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

मैं या तो प्लगइन को उतारना चाहता हूं या किसी तरह से इसे बाहर निकालना चाहता हूं।


9
क्या आपने पॉलिसी सेटिंग बदलने की कोशिश की है? SET GLOBAL validate_password_policy=LOW;
रिक्की

1
SET GLOBAL validate_password.policy=LOW;
बेलगामिया

जवाबों:


430

यहाँ मैं मान्य पासवर्ड प्लगइन को हटाने के लिए क्या कर रहा हूँ:

  1. रूट के रूप में mysql सर्वर पर लॉगिन करें mysql -h localhost -u root -p
  2. निम्नलिखित sql कमांड चलाएँ: uninstall plugin validate_password;
  3. यदि अंतिम पंक्ति काम नहीं करती है (नया mysql रिलीज़), तो आपको निष्पादित करना चाहिए UNINSTALL COMPONENT 'file://component_validate_password';

मैं उत्पादन प्रणाली के लिए इस समाधान की सिफारिश नहीं करूंगा। मैंने इस समाधान का उपयोग केवल विकास के उद्देश्य के लिए एक स्थानीय mysql उदाहरण पर किया।


18
इसे फिर से सक्षम करने के लिए, निम्नलिखित कमांड का उपयोग करें: INSTALL PLUGIN validate_password SONAME 'validate_password.so';
vchrizz

8
प्लगइन को हटाने के लिए आपको कम से कम एक बार grep 'password' /var/log/mysqld.log | tail -1और फिर एक सुरक्षित पासवर्ड सेट करना होगा /usr/bin/mysql_secure_installation। ऐसा करने के बाद आप ऊपर srayhunter से कमांड चला सकते हैं, फिर mysqladmin -u root -p'oldpassword' password newpassकिसी भी पासवर्ड का उपयोग करने के लिए चलाएं जो आप चाहते हैं।
specialk1st

2
प्लगइन को cracklib_password_checkवर्तमान MariaDB में कहा जाता है।
czerny

27
नोट: MySQL 8.0.4 में, validate_password प्लगइन को validate_password घटक के रूप में फिर से लागू किया गया था। उपर्युक्त # 2 क्वेरी के बजाय, रन:UNINSTALL COMPONENT 'file://component_validate_password';
हारून क्यूली

4
mysql> SET GLOBAL validate_password_policy = 0;
JREAM

41

मैं MySQL v 8.0.12 का उपयोग कर रहा हूं और पासवर्ड सत्यापन घटक को अक्षम करने के लिए कमांड है:

UNINSTALL COMPONENT 'file://component_validate_password';

इसे फिर से स्थापित करने के लिए, कमांड है:

INSTALL COMPONENT 'file://component_validate_password';

यदि आप केवल पासवर्ड सत्यापन प्लगइन की नीति बदलना चाहते हैं:

SET GLOBAL validate_password.policy = 0;   // For LOW
SET GLOBAL validate_password.policy = 1;   // For MEDIUM
SET GLOBAL validate_password.policy = 2;   // For HIGH

34

शरफी के उत्तर पर भवन, /etc/my.cnf फ़ाइल को संपादित करें और बस इस एक पंक्ति को जोड़ें:

validate_password_policy=LOW

कि ओपी द्वारा अनुरोध के अनुसार सत्यापन को पर्याप्त रूप से समाप्त करना चाहिए। आप शायद इस बदलाव के बाद mysqld को फिर से शुरू करना चाहेंगे। आपके OS के आधार पर, यह कुछ इस तरह दिखाई देगा:

sudo service mysqld restart

validate_password_policy या तो मान लेता है 0, 1, या 2 या शब्द LOW, MEDIUM और STRONG जो उन संख्याओं के अनुरूप हैं। डिफ़ॉल्ट मेडियम (1) है जिसमें पासवर्ड की आवश्यकता होती है जिसमें कम से कम एक ऊपरी केस अक्षर, एक निचला केस अक्षर, एक अंक और एक विशेष वर्ण होता है, और कुल पासवर्ड की लंबाई कम से कम 8 अक्षर होती है। LOW में परिवर्तन के रूप में मैं यहाँ सुझाव देता हूँ, तभी लंबाई की जाँच करेंगे, जिसे यदि अन्य मापदंडों के माध्यम से नहीं बदला गया है तो 8. की लंबाई की जाँच करेगा। यदि आप उस लंबाई की सीमा को छोटा करना चाहते हैं, तो आप validate_password_length भी जोड़ सकते हैं। my.cnf फ़ाइल।

स्तरों और विवरणों के बारे में अधिक जानकारी के लिए, mysql डॉक्टर देखें ।


MySQL 8 के लिए, संपत्ति "validate_password_policy" से बदलकर "validate_password.policy" हो गई है। नवीनतम जानकारी के लिए अद्यतन किए गए mysql डॉक्टर देखें ।


6
यदि आपको केवल एक अस्थायी परिवर्तन की आवश्यकता है, तो एक भी पासवर्ड सेट करने की अनुमति देने के लिए, आप उपयोग कर सकते हैंSET GLOBAL validate_password_policy=LOW;
रिक्की

1
यह मॉड्यूल को हटाने से बेहतर समाधान है।
मृगेश मिस्त्री

2
mysql: अज्ञात वैरिएबल 'validate_password_policy = LOW'
Amalgovinus

2
ऐसा लगता है कि नवीनतम MySQL में परिवर्तनशील नाम बदल गया है। @Amalgovinus, चर नाम "validate_password.policy" का उपयोग करने का प्रयास करें और देखें कि क्या यह आपके लिए काम करता है। और अगर ऐसा होता है, तो मैं अपना जवाब अपडेट करूंगा।
ktbos

6

Mariadb-10.1.24 (फेडोरा 24) में पासवर्ड जांच को अक्षम करने के लिए मुझे /etc/my.cnf.d/cracklib_password_check.cnf फ़ाइल में एक पंक्ति लिखनी होगी:

;plugin-load-add=cracklib_password_check.so

उसके बाद madadb सेवा को फिर से शुरू करें:

systemctl restart mariadb.service

4

आप इसे mysql कॉन्फ़िगरेशन फ़ाइल खुली /etc/my.cnfफ़ाइल में कॉन्फ़िगर कर सकते हैं । इस फ़ाइल में पासवर्ड नीति को कॉन्फ़िगर करने वाली सभी लाइनें उन लोगों की तरह टिप्पणी करती हैं

#validate-password=FORCE_PLUS_PERMANENT
#validate_password_length=10
#validate_password_mixed_case_count=1
#validate_password_number_count=1
#validate_password_policy=MEDIUM

आप जिन संपत्तियों को बदलना चाहते हैं उनके मूल्य में परिवर्तन और परिवर्तन करें।


2

यदि आप अपवाद बनाना चाहते हैं, तो आप निम्नलिखित "हैक" को लागू कर सकते हैं। इसके लिए एक उपयोगकर्ता की आवश्यकता है DELETEऔर सिस्टम टेबल के INSERTलिए विशेषाधिकार mysql.plugin

uninstall plugin validate_password;
SET PASSWORD FOR 'app' = PASSWORD('abcd');
INSTALL PLUGIN validate_password SONAME 'validate_password.so';

सिक्योरिटी डिस्क्लेमर को अस्वीकार करें: विचार करें, कि आप अपने पासवर्ड को छोटा या आसान क्यों बना रहे हैं और शायद इसे एक और अधिक जटिल के साथ बदलने पर विचार करें। हालांकि, मैं समझता हूं कि "यह 3 एएम है और बस काम करने की जरूरत है" क्षण, बस सुनिश्चित करें कि आप हैक की एक प्रणाली का निर्माण नहीं करते हैं, ऐसा न हो कि आप खुद हैक हो जाएं


2

Ktbos से उत्तर के लिए आगे:

मैंने mysqld.cnf फ़ाइल को संशोधित किया और mysql शुरू करने में विफल रहा। यह पता चला कि मैं गलत फ़ाइल को संशोधित कर रहा था!

इसलिए सुनिश्चित करें कि आपके द्वारा संशोधित फ़ाइल में [mysqld_safe] और [mysqld] जैसे खंड टैग हैं। उत्तरार्द्ध के तहत मैंने सुझाव दिया और लाइन जोड़ी:

validate_password_policy=LOW

यह पूरी तरह से पासवर्ड के भीतर विशेष पात्रों की आवश्यकता के मेरे मुद्दे को हल करने के लिए काम किया।


1

स्थापना रद्द करें:

mysql> uninstall plugin validate_password;

द्वारा अनइंस्टॉल किया गया प्लगइन प्रदर्शित नहीं होता है show plugins;

इंस्टॉल:

mysql> install plugin validate_password SONAME 'validate_password.so';

कॉन्फ़िगरेशन द्वारा अक्षम:

[mysqld]
validate_password = OFF

एक प्लगइन विन्यास द्वारा अक्षम किया जा सकता है केवल अगर स्थापित है।


0

मुझे उबंटू 18.04 पर मैसूर पर एक समस्या आ रही थी। जब मुझे एक नया उपयोगकर्ता बनाने की आवश्यकता थी, तो नीति हमेशा उच्च थी।

जिस तरह से मैंने जांच करने के लिए आने वाले सहयोगियों के लिए निष्क्रिय करने का तरीका पता लगाया, वह कम था।

रूट के रूप में mysql सर्वर पर लॉगिन करें

mysql -h localhost -u root -p

नए प्रकार के सत्यापन सेट करें

SET GLOBAL validate_password_policy=0; //For Low

Mysql को पुनरारंभ करें

sudo service mysql restart

1
आपको mysql शेल में यह "SET ..." कमांड लिखना होगा। गोले को कोसने के लिए नहीं।
kodmanyagha

0

कुछ इंस्टॉलेशन पर, आप इस कमांड को तब तक निष्पादित नहीं कर सकते हैं जब तक कि आपने रूट पासवर्ड रीसेट नहीं किया है। जब तक आप इस कमांड को निष्पादित नहीं करते, आप रूट पासवर्ड को रीसेट नहीं कर सकते। क्लासिक कैच -22।

अन्य उत्तरदाताओं द्वारा उल्लेख नहीं किया गया एक समाधान अस्थायी रूप से mysql कॉन्फ़िगरेशन के माध्यम से प्लगइन को अक्षम करना है। किसी मेंmy.cnf , में [mysqld]अनुभाग, जोड़ें:

skip-validate_password=1

और सर्वर को पुनरारंभ करें। पासवर्ड बदलें, और मान 0 पर सेट करें, और फिर से पुनरारंभ करें।


यह काम नहीं करता है। क्या आप बता सकते हैं कि यह किस mysql संस्करण पर लागू होता है?
डेव डोगा ओज

0

संदर्भ और भविष्य के लिए, किसी को यहां डॉक्‍टर https://dev.mysql.com/doc/mysql-secure-dep तैनाती-guide / 5.7 / en / secure-deployment-password-valueation.html पढ़ना चाहिए

mysqld.cnfउदाहरण के लिए, आपको अपनी फ़ाइल को संपादित करना चाहिए :

vim /etc/mysql/mysql.conf.d/mysqld.cnf

फिर, [mysqld] भाग में जोड़ें, निम्नलिखित:

plugin-load-add=validate_password.so
validate_password_policy=LOW

मूल रूप से, यदि आप अपना डिफ़ॉल्ट संपादित करते हैं, तो यह ऐसा दिखेगा:

[mysqld]
#
# * Basic Settings
#
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
plugin-load-add=validate_password.so
validate_password_policy=LOW

फिर, आप पुनः आरंभ कर सकते हैं:

systemctl restart mysql

यदि आप plugin-load-add=validate_password.soभाग को भूल जाते हैं , तो आप इसे पुनः आरंभ करने में त्रुटि करेंगे।

का आनंद लें !


-1

Mysql 8.0.7 के लिए, mysql निर्देशिका पर जाएं, और फिर उपयोग करें:

sudo bin/mysql_secure_installation

पासवर्ड विकल्प को कॉन्फ़िगर करने के लिए।


-2
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'organizer'@'localhost'  WITH GRANT OPTION;

CREATE USER 'username'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'organizer'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

mysql को रोकने / शुरू करने की कोई आवश्यकता नहीं है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.