بيئتي المحلية هي:
مع تثبيت الخلية 5.7
Sudo apt-get install mysql-common mysql-server
عندما حاولت تسجيل الدخول إلى MySQL (عبر CLI):
mysql -u root -p
صادفت مشكلة دورية مع 3 خطوات.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
الحل: إعادة تشغيل الكمبيوتر.
مما أدى إلى خطأ آخر:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'.
ممكن مشكلة؟ كلمة مرور خاطئة للمستخدم "الجذر"!
الحل: إعادة تعيين كلمة المرور الجذر مع هذا البرنامج التعليمي .
مع كلمة المرور الصحيحة ومأخذ العمل ، هناك خطأ آخر.
mysql "ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded"
هنا توقفت أو حصلت بطريقة أو بأخرى على 1) مرة أخرى.
حصلت على حل!
عند إعادة تعيين كلمة مرور الجذر في الخطوة 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;
هذا سمح لي بتسجيل الدخول بنجاح!
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
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;
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
عندما ترى خطأ 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)
mysql -uroot # "-hlocalhost" is default
يمكن أن يؤدي إلى "ملف مفقود" أو خطأ slt.
mysql -uroot -h127.0.0.1
يعمل بشكل أفضل.
لقد وجدت العديد من الطرق لإنشاء ملف mysqld.sock
أو تغيير حقوق الوصول أو الارتباط به. لم تكن القضية بعد كل شيء.
my.cnf
القضية أيضا لم تكن هناك. إذا لم تكن متأكدًا ، فقد يساعدك ذلك .
يمكنك تجربة ما يلي يعمل بالنسبة لي.
بدء الخادم:
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 في أوبونتو
يمكنك تجربة هذه الخطوات:
إيقاف خدمة 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
يستخدم الأمر mysql
افتراضيًا مآخذ UNIX للاتصال بـ MySQL.
إذا كنت تستخدم MariaDB ، فأنت بحاجة إلى تحميل المكون الإضافي لمصادقة يونكس من جانب الخادم.
يمكنك القيام بذلك عن طريق تحرير التكوين [mysqld]
مثل هذا:
[mysqld]
plugin-load-add = auth_socket.so
اعتمادًا على التوزيع ، يوجد ملف التكوين عادةً في /etc/mysql/
أو /usr/local/etc/mysql/
لأوبونتو 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'
تسجيل الدخول الآن مع
جربه: Sudo mysql_secure_installation
العمل في أوبونتو 18.04