it-swarm.asia

فشل MySQL على: mysql "خطأ 1524 (HY000): لم يتم تحميل المكون الإضافي" auth_socket "

بيئتي المحلية هي:

  • أوبونتو الطازجة 16.04
  • مع PHP 7
  • مع تثبيت الخلية 5.7

    Sudo apt-get install mysql-common mysql-server
    

عندما حاولت تسجيل الدخول إلى MySQL (عبر CLI):

mysql -u root -p

صادفت مشكلة دورية مع 3 خطوات.

1) أولا كان بعض قضية مأخذ التوصيل

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'

الحل: إعادة تشغيل الكمبيوتر.

مما أدى إلى خطأ آخر:

2) مع وصول مرفوض

ERROR 1698 (28000): Access denied for user 'root'@'localhost'.

ممكن مشكلة؟ كلمة مرور خاطئة للمستخدم "الجذر"!

الحل: إعادة تعيين كلمة المرور الجذر مع هذا البرنامج التعليمي .

مع كلمة المرور الصحيحة ومأخذ العمل ، هناك خطأ آخر.

3) البرنامج المساعد المصادقة غير صحيحة

mysql "ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded"

هنا توقفت أو حصلت بطريقة أو بأخرى على 1) مرة أخرى.

81
Tomáš Votruba

حصلت على حل!

عند إعادة تعيين كلمة مرور الجذر في الخطوة 2) ، يمكنك أيضًا تغيير المكون الإضافي للمصادقة إلى mysql_native_password:

use mysql;
update user set authentication_string=PASSWORD("") where User='root';
update user set plugin="mysql_native_password" where User='root';  # THIS LINE

flush privileges;
quit;

هذا سمح لي بتسجيل الدخول بنجاح!


حل الرمز الكامل

1. تشغيل أوامر باش

1. أولاً ، قم بتشغيل هذه الأوامر bash

Sudo /etc/init.d/mysql stop # stop mysql service
Sudo mysqld_safe --skip-grant-tables & # start mysql without password
# enter -> go
mysql -uroot # connect to mysql

2. ثم قم بتشغيل أوامر mysql => انسخ هذا الصق إلى CLI يدوياً

use mysql; # use mysql table
update user set authentication_string=PASSWORD("") where User='root'; # update password to nothing
update user set plugin="mysql_native_password" where User='root'; # set password resolving to default mechanism for root user

flush privileges;
quit;

3. تشغيل المزيد من الأوامر باش

Sudo /etc/init.d/mysql stop 
Sudo /etc/init.d/mysql start # reset mysql
# try login to database, just press enter at password Prompt because your password is now blank
mysql -u root -p 

4. قضية المقبس (من تعليقاتك)

عندما ترى خطأ socket ، يأتي المجتمع مع حلين ممكنين:

Sudo mkdir -p /var/run/mysqld; Sudo chown mysql /var/run/mysqld
Sudo mysqld_safe --skip-grant-tables &

(بفضلCerin)

أو

mkdir -p /var/run/mysqld && chown mysql:mysql /var/run/mysqld  

(بفضلPeter Dvukhrechensky)


المسارات العمياء وأخطاء الحافة المحتملة

استخدم 127.0.0.1 بدلاً من المضيف المحلي

mysql -uroot # "-hlocalhost" is default

يمكن أن يؤدي إلى "ملف مفقود" أو خطأ slt.

mysql -uroot -h127.0.0.1

يعمل بشكل أفضل.

تخطي مشكلة مأخذ التوصيل

لقد وجدت العديد من الطرق لإنشاء ملف mysqld.sock أو تغيير حقوق الوصول أو الارتباط به. لم تكن القضية بعد كل شيء.

تخطي الملف my.cnf

القضية أيضا لم تكن هناك. إذا لم تكن متأكدًا ، فقد يساعدك ذلك .

245
Tomáš Votruba

يمكنك تجربة ما يلي يعمل بالنسبة لي.

بدء الخادم:

Sudo service mysql start

الآن ، انتقل إلى مجلد جورب:

cd /var/run

نسخ احتياطي للجورب:

Sudo cp -rp ./mysqld ./mysqld.bak

إيقاف الخادم:

Sudo service mysql stop

استعادة جورب:

Sudo mv ./mysqld.bak ./mysqld

ابدأ mysqld_safe:

 Sudo mysqld_safe --skip-grant-tables --skip-networking &

ماي mysql شل:

 mysql -u root

غير كلمة السر:

وبالتالي ، أولا اختيار قاعدة البيانات

mysql> use mysql;

الآن أدخل أدناه سؤالين:

mysql> update user set authentication_string=password('123456') where user='root';
mysql> update user set plugin="mysql_native_password" where User='root'; 

الآن ، كل شيء سيكون على ما يرام.

mysql> flush privileges;
mysql> quit;

للفحص:

mysql -u root -p

فعله!

N.B, After login please change the password again from phpmyadmin

تحقق الآن من hostname/phpmyadmin

Username: root

Password: 123456

لمزيد من التفاصيل ، يرجى مراجعة كيفية إعادة تعيين كلمة المرور المنسية phpmyadmin في أوبونتو

17
Bablu Ahmed

يمكنك تجربة هذه الخطوات:

إيقاف خدمة Mysql 1st Sudo /etc/init.d/mysql stop

تسجيل الدخول كجذر بدون كلمة مرور Sudo mysqld_safe --skip-grant-tables &

بعد تسجيل الدخول إلى محطة mysql ، يجب عليك تنفيذ أوامر أكثر:

use mysql;

UPDATE mysql.user SET authentication_string=PASSWORD('[email protected]*^G'), plugin='mysql_native_password' WHERE User='root';

flush privileges;

Sudo mysqladmin -u root -p -S /var/run/mysqld/mysqld.sock shutdown

بعد إعادة تشغيل خادم mysql الخاص بك إذا كنت لا تزال تواجه خطأ ، يجب عليك زيارة: إعادة تعيين MySQL 5.7 root password Ubuntu 16.04

8
Inderpal Singh

يستخدم الأمر mysql افتراضيًا مآخذ UNIX للاتصال بـ MySQL.

إذا كنت تستخدم MariaDB ، فأنت بحاجة إلى تحميل المكون الإضافي لمصادقة يونكس من جانب الخادم.

يمكنك القيام بذلك عن طريق تحرير التكوين [mysqld] مثل هذا:

[mysqld]
plugin-load-add = auth_socket.so

اعتمادًا على التوزيع ، يوجد ملف التكوين عادةً في /etc/mysql/ أو /usr/local/etc/mysql/

6
rustyx

لأوبونتو 18.04 ومايكل 5.7

  • الخطوة 1: Sudo mkdir/var/run/mysqld؛

    الخطوة 2: سودو تشاون mysql/فار/المدى/mysqld

    الخطوة 3: Sudo mysqld_safe --skip-grant-tables & quit (استخدم إنهاء إذا تم تعليقه)

تسجيل الدخول إلى mysql دون كلمة مرور

  • الخطوة 4: سودو mysql - المستخدم = الجذر mysql

    الخطوة 5: SELECT user ، certification_string ، plugin ، Host FROM mysql.user؛

    الخطوة 6: ALTER USER 'root' @ 'localhost' معرّفة بـ mysql_native_password BY 'root'

تسجيل الدخول الآن مع

  • mysql -u الجذر -p
2
arunava maiti

جربه: Sudo mysql_secure_installation

العمل في أوبونتو 18.04

0
Gorcer