• Дигитални аксесоари
  • сървър
  • Дигитален живот
  • Политика за поверителност
  • Свържете се с нас
  1. Home
  2. сървър
  3. „Грешка при установяване на връзка с база данни“ MySQL/MariaDB ...

„Грешка при установяване на връзка с база данни“ MySQL/MariaDB ...

Rsdaa 22/01/2022 1008

Научете за грешката MySQL/MariaDB „Грешка при установяване на връзка с база данни“ или „Не може да се свърже със сървъра на база данни“ и как да поправите тази грешка.

Уверете се, че MySQL работи

Ако MySQL е спрял да работи, скриптовете и уебсайтовете няма да могат да се свържат. На Linux сървър можете да видите дали MySQL работи, като използвате командата:

Това ще върне списък с работещи процеси, които имат "mysql" в името. Списъкът ще включва командата, която току-що изпълнихте. Ако MySQL работи, той ще включва и MySQL процеса.

Ако MySQL/MariaDB не работи, ще видите само вашата команда grep в списъка.

Стартирайте MySQL/MariaDB с командата:

CentOS 7 (MariaDB): systemctl start mariadbUbuntu и Debian (MySQL): service mysql start или /etc/init.d/mysqld start

Уверете се, че използвате правилното потребителско име и парола за вашия MySQL потребител. Те са различни от вашите идентификационни данни за вход в IONOS. Необходимите потребителско име и парола се задават, когато създавате базата данни MySQL.

Ще трябва също да зададете правилното име на хост.

Проверете връзката с базата данни от командния ред

След като разберете, че MySQL/MariaDB работи, следващата стъпка е да се свържете от командния ред с командата:

Трябва да бъдете подканени да въведете паролата на основния потребител на MySQL. По подразбиране паролата за root MySQL потребител е същата като оригиналната root парола за вашия сървър.

Забележка

Ако промените паролата за потребителя на root сървъра, това няма да промени паролата за потребителя на root MySQL.

След като въведете паролата, трябва да се озовете в MySQL/MariaDB клиента, който трябва да изглежда по следния начин:

Добре дошли в монитора на MariaDB. Командите завършват с ; или \g.Вашият идентификатор на връзка с MariaDB е 4172 Версия на сървъра: 5.5.44-MariaDB MariaDB ServerCopyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab и други. Въведете 'help;' или '\h' за помощ. Въведете '\c', за да изчистите текущия оператор за въвеждане. MariaDB [(няма)]>

Ако имате проблеми с установяването на MySQL връзка с различно потребителско име и парола, направете този тест втори път, като замените root с друго потребителско име.

Ако вместо да влезете в клиента, получите грешка като тази:

ГРЕШКА 1045 (28000): Достъпът е отказан за потребител 'root'@'localhost' (използване на парола: ДА)

Вие не въвеждате правилната парола за потребителското име. Проверете дали изписването на потребителското име и паролата е правилно. Имайте предвид, че потребителското име е чувствително към малки и главни букви - Root не е същото като root.

Продавайте на съществуващия си уебсайт или блог

Проверете потребителското име на MySQL

Струва си да проверите, за да сте сигурни, че използвате правилния правопис и главни букви за потребителското име. За да изброите всички потребители на MySQL/MariaDB, влезте в клиента на командния ред като root с командата:

След това избройте всички потребители на MySQL и техните хостове с командата:

изберете хост, потребител от mysql.user;

Това ще ви покаже потребителското име точно както е създадено, както и местоположението (хост), от което е разрешено да се свързва.

Нулирайте паролата на MySQL на потребителя

Забележка

Бъдете внимателни, когато използвате тази команда, особено когато нулирате паролата на основния MySQL потребител.

За да нулирате паролата на MySQL/MariaDB на потребител, влезте в клиента на командния ред като root с командата:

След това нулирайте паролата на потребителя с командата:

update mysql.user set password = MD5('(new_password)') where user = "jdoe";

Заменете new_password с новата парола и jdoe с потребителското име.

Уверете се, че потребителят има правилните привилегии

Ако сте сигурни, че потребителското име и паролата са правилни, проблемът може да е, че потребителят няма правилните привилегии (грантове) за тази база данни.

За да проверите привилегиите на даден потребител (грантове), влезте в клиента на командния ред като root с командата:

След това покажете разрешенията на потребителя с командата:

покажи безвъзмездни средства за 'jdoe'@'localhost';

Заменете jdoe с потребителското име. Ако е приложимо, променете localhost на името на хоста.

Трябва да получите списък с привилегиите, които потребителят има за съответната база данни. Трябва да изглежда нещо подобно:

+------------------------------------------------ -------------------------------------------------- --------------------+| ПРЕДОСТАВЯНЕ НА ИЗПОЛЗВАНЕ НА *.* НА 'jdoe'@'localhost', ИДЕНТИФИЦИРАН С ПАРОЛА '*CD2BAEA88178935C438649F12126752DB1B24D7B' || ПРЕДОСТАВЯЙТЕ ВСИЧКИ ПРИВИЛЕГИИ НА `example_database`.* НА 'jdoe'@'localhost'|+------------------------------ -------------------------------------------------- -------------------------------------+

Имайте предвид, че този потребител има всички привилегии на база данни с име example_database.

Ако на потребителя не са предоставени привилегии за никакви бази данни, ще видите само нещо подобно:

+------------------------------------------------ -------------------------------------------------- ----------+| Безвъзмездни средства за jdoe@localhost |+------------------------------------------ -------------------------------------------------- ----------------+| ПРЕДОСТАВЯНЕ НА ИЗПОЛЗВАНЕ НА *.* НА 'jdoe'@'localhost', ИДЕНТИФИЦИРАН С ПАРОЛА '*00E247AC5F9AF26AE0194B41E1E769DEE1429A29' |+---------------------------- -------------------------------------------------- --------------------------------+1 ред в набор (0,00 сек)

Имайте предвид, че този потребител има само USAGE привилегии на ".", и няма привилегии на никакви бази данни.

Проверете връзката с базата данни от мрежата

Използвайте прост скрипт, за да тествате дали вашата база данни ще приеме връзката. Създайте файл, наречен database-connection-test.php със следното съдържание:

Заменете думата парола с паролата на основния потребител на MySQL.

Поставете този файл във вашата уеб директория, след което го посетете в браузър. Ако можете да се свържете с root MySQL потребителско име и парола, тогава знаете, че вашата база данни приема връзки.

Ако имате проблеми с установяването на MySQL връзка с различно потребителско име и парола, направете този тест втори път, като замените root с другото потребителско име и парола с паролата.

Забележка

Не забравяйте да изтриете този файл, след като приключите с тестовете си.

Проверете името на хоста на MySQL

Ако скриптът се хоства на същия сървър като MySQL базата данни (напр. вашият Linux Cloud Server), името на хоста е localhost по подразбиране.

За да проверите отново MySQL името на хоста, влезте в клиента на командния ред като root с командата:

След това покажете името на хоста с командата:

ПОКАЖЕТЕ ПРОМЕНЛИВИ, КЪДЕ Име на променлива = 'име на хост';

Ако вашият скрипт има достъп до отдалечена база данни, името на хоста ще бъде URL адресът на тази база данни.


PREV: Apache показва, че работи, какво не е наред с моя виртуален хост ...

NEXT: Настройте уебсайт и виртуални хостове Apache в Ubuntu - Orangeable

Popular Articles

Hot Articles

Navigation Lists

Back to Top