2012-11-20 7 views
8

के लिए एक्सेस अस्वीकृत मुझे अभी एक नया मैकबुक समर्थक (ओएस एक्स 10.8.2) मिला है और मैं इसे MySQL सेट अप करने का प्रयास कर रहा हूं। अब तक मैं इसे स्थापित करने में सक्षम हूं लेकिन मुझे अपनी रूट उपयोगकर्ता पहुंच (या उस मामले के लिए कोई भी उपयोगकर्ता) नहीं मिल सकता है। मैं अपने अन्य कंप्यूटर पर Python के लिए इसका उपयोग करने की योजना बना रहा हूं, मैं केवल MYSQL (कोई एमएएमपी) का उपयोग नहीं करता हूं और मैं इसे इस तरह से रखना पसंद करता हूं।MYSQL ERROR 1045

$ alias mysql=/usr/local/mysql/bin/mysql $ sudo /Library/StartupItems/MySQLCOM/MySQLCOM start $ alias mysqladmin=/usr/local/mysql/bin/mysqladmin

जब मैं mysql या mysql -u root -p दर्ज यह मुझे इस देता है::

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

या

ERROR 1045 (28000): Access denied for user 'jmitch'@'localhost' (using password: NO) पर निर्भर करता है

संदर्भ के लिए, मैं निम्नलिखित किया कौन सा पीएच मैं

MYSQL का उपयोग कर रहा हूं मेरी सिस्टम वरीयताओं में चल रहा है। आपके सहयोग के लिए धन्यवाद।

+0

http://www.howtoforge.com/reset-forgotten-mysql-root-password – Drew

उत्तर

21

हो सकता है कि अद्यतनकर्ता अद्यतन रूट रूट को ओवरराइट करें।

इसे फिर से स्थापित करने के लिए:

बंद करो mysqld deamons।

$ sudo service mysqld stop 

जाओ MySQL के लिए/bin निर्देशिका

$ cd /usr/bin 

प्रारंभ इस विकल्प के साथ एक mysql deamon:

$ sudo mysqld_safe --skip-grant-tables 

खुला एक और टर्मिनल और इस पर अमल करने के लिए एक mysql सत्र खोलने:

$ mysql 

mysql> use mysql; 

see Note1 below for next line. 
mysql> UPDATE user SET password=PASSWORD('YOUR_NEW_PASSWORD_HERE') WHERE user = 'root'; 

mysql> exit; 

अब मार डालो mysqld_safe प्रक्रिया और पुन: प्रारंभ mysqld सामान्य रूप से:

$ sudo service mysqld start 

Note1:password संस्करण 5.7 से पहले तालिका mysql.user में स्तंभ नाम है। इसके बाद यह authentication_string बन गया। तदनुसार अपना अपडेट स्टेटमेंट बदलें।

+12

'$ sudo सेवा mysql stop' रिटर्न' sudo: सेवा: कमांड नहीं मिला – jmitchel3

+0

sudo mysqld_safe --skip में डिमन चला रहा है -ग्रैंट-टेबल मोड की वास्तव में आवश्यकता नहीं हो सकती है, मैंने इसके बिना कोशिश की और फिर भी यह मेरी समस्या हल हो गई (यह मैक 10.9 पर था) – Basav

+0

यह मेरे लिए ओएस एक्स मैवरिक्स 10.9 पर काम करता है, जब 'mysql में टाइप करते समय बहुत से एक्सेस अस्वीकार किए जाते हैं -यू रूट -पी ', धन्यवाद! – raunay

2

मुझे माउंटेन शेर पर टर्मिनल के माध्यम से एमएएमपी के MySQL तक पहुंचने का प्रयास करने का एक ही मुद्दा था।

--no-defaults ध्वज ने मेरे लिए इसे हल किया।

/Applications/MAMP/Library/bin/mysql --no-defaults -u root -proot -h localhost 
5

पर मैक OSX 10.9 मावेरिक्स मैं समर्थन-फ़ाइलों के बजाय निर्देशिका mysqld_safe और सेवा लिपि में 'mysql.server' स्क्रिप्ट का इस्तेमाल किया।

$sudo ./mysql.server stop 
$sudo ./mysql.server start --skip-grant-tables 
$ mysql 
mysql> use mysql; 
mysql> UPDATE user SET password=PASSWORD('YOUR_NEW_PASSWORD_HERE') WHERE user = 'root'; 
mysql> exit; 
$sudo ./mysql.server stop 
$sudo ./mysql.server start 
+0

मेरे पास 'mysql' नामक कोई डेटाबेस नहीं है, मेरे पास दो डेटाबेस हैं: 'info_schema' और' test'। मैंने इस कमांड के माध्यम से कनेक्ट किया: 'mysql -h127.0.0.1' सिर्फ' mysql' के माध्यम से मुझे यह त्रुटि मिल रही थी: 'त्रुटि 2002 (HY000): सॉकेट'/tmp/mysql के माध्यम से स्थानीय MySQL सर्वर से कनेक्ट नहीं हो सकता है। सॉक '(2) ' – Saurabh

1

मैं इसे MySQL 5.7 के लिए जोड़ना चाहता हूं बस प्रमाणीकरण_स्ट्रिंग कॉलम को बदलना काम नहीं करता है। ऐसा इसलिए है क्योंकि MySQL वास्तव में मूल प्रमाणीकरण के लिए उन मानों का उपयोग नहीं करता है, यह एक प्लगइन का उपयोग करता है। जहां तक ​​मैं इस प्लगइन को बता सकता हूं कि यह सत्यापित करता है कि आप मेजबान खाते पर भी रूट हैं (इसलिए आपको mysql -u रूट sudo करना है)।

एक ही रास्ता मैं काम करने के लिए इस प्राप्त करने में सक्षम था इस चलाने के लिए किया गया था:

UPDATE mysql.user 
SET authentication_string=PASSWORD(''), plugin='' 
WHERE mysql.user = 'root'; 

यह भी ध्यान दिया जाना चाहिए कि 5.7 के लिए सरकारी MySQL प्रलेखन कभी नहीं इस का उल्लेख है। इस दस्तावेज के बाद पत्र में आपको कहीं भी नहीं मिलता है।

+0

मैं ओएस एक्स 10.12.3 पर 5.7 * चला रहा हूं और अब प्रश्न की त्रुटि प्राप्त करने के लिए' mysql stop/start' उपनाम का उपयोग नहीं कर सकता। आपका उपरोक्त उत्तर वादा करता है, लेकिन देता है: 'त्रुटि 1054 (42 एस 22): अज्ञात कॉलम' mysql.user '' जहां खंड 'में? –

संबंधित मुद्दे