Error decode JSON exrate
Когато работите с MySQL СУБД, е изключително важно да знаете как да промените паролата на потребителя. Изглежда, че тази задача може да бъде решена само ако имате права на суперпотребител. Но дори и обикновен потребител може да промени паролата при определени обстоятелства. В тази статия ще ви разкажем как да го направите при нормални обстоятелства.
Можете да промените паролата на потребител по различни начини. В средата на MySQL има две команди за тази задача - SET PASSWORD
и ALTER USER
. Нека ви разкажем подробно за всеки от тези два метода.
В началото на тази година MySQL има две основни версии. Първата е остаряла, но все още се поддържа (това е версия 5.7), а най-актуалната в момента е версия 8.0. Как да разберете версията на MySQL? Можете да направите това със специална команда, която трябва да се изпълни в терминала:
$ mysql –version
Както можете да видите от изображението по-горе, използва се версия 8.0.28, но е важно да се отбележи, че ALTER USER
е от значение само за предишните версии на MySQL.В по-новите версии можете да използвате и двете версии.
За да влезете в конзолата, трябва да влезете в MySQL, като използвате потребителското си име и парола. Когато даден потребител вече е оторизиран в сървъра, трябва да извършвате всички действия от негово име. Когато MySQL се използва за първи път, трябва да използвате правата на root.
Командата за влизане като root:
$ mysql -u root –p
След това ще се появи подкана за въвеждане на парола. Остава да въведете паролата, да натиснете клавиша Enter, като веднага след това ще се зареди интерфейсът на MySQL с всички налични команди.
Особеност на MySQL е, че тя има отделен хост, към който е свързан даден акаунт. Нека отбележим трите основни хоста:
Localhost позволява само локално влизане в системата без възможност за отдалечена връзка, % означава, че акаунтът може да се използва от всеки хост, IP адрес/име на домейн означава, че акаунтът може да се използва само на избраното име на домейн/IP адрес.
За да разберем типа на хоста на акаунта, трябва да изпълним следната SQL заявка:
$ SELECT user, host FROM mysql.user
На горната снимка на екрана виждаме, че потребителят alex има хост от %. Този хост трябва да се използва при смяна на паролата. Потребителите в MySQL и цялата информация за тях се съхраняват в базата данни на mysql в таблицата user.
Можете също така да промените паролата с командата SET PASSWORD
. За да промените паролата на потребител alex с хост % на somepassword666, трябва да използвате следната команда:
$ SET PASSWORD FOR 'alex'@'%' = 'somepassword666';
Можете да промените кода на потребителя, като използвате друга команда - ALTER USER
. За да сменим паролата на потребителя alex с хост % с другапарола666, ще изпълним SQL заявка:
$ ALTER USER 'alex'@'%' IDENTIFIED BY 'anotherpassword666';
Моля, обърнете внимание, че потребителското име и хостът са затворени в единични кавички, без които MySQL няма да може да разпознае низа.
Сега възстановете кеша за привилегии:
$ FLUSH PRIVILEGES;
След като сте променили паролата, привилегиите и сте нулирали кеша, трябва да извършите проверка на влизането като потребителя, чиято парола е променена.
Излезте от
MySQL shell, като изпълните командата exit
:
$ exit
Сега влезте в шела:
$ mysql -u alex -p
Ако видите системния промпт, докато влизате в системата, значи сте направили всичко правилно, което означава, че паролата е била успешно променена.