Урок стъпка по стъпка, за да научите как да възстановите root паролата на SQL сървър.
Най-важният потребител на сървър MySQL определено е потребителят "root". Този потребител има всичко административни привилегии за бази данни (MySQL databases).
В случай, че вече не знаете каква е потребителската парола на MySQL root, ще трябва да следвате няколко прости стъпки, за да нулирате тази парола.
Урокът е направен за сървър MySQL инсталиран на операционната система CentOS, но процесът е същият за други дистрибуции Linux.
Как да възстановим паролата за root потребител на SQL сървър
За да възстановите паролата за root потребител на SQL сървър, най-простият метод е чрез SSH (Secure Shell).
1. Влизаме с потребителя "root” към системата, на която е MySQL сървърът. (root потребител на системата, а не на MySQL сървъра). Влезте директно от конзолата или дистанционно чрез връзка SSH (By маджун от системите Windows).
2. Спрете процеса / MySQL.
service mysqld stop
или
/etc/init.d/mysqld stop
Резултатът ще бъде:
Stopping MySQL: [ OK ]
3. Стартираме MySQL сървъра с опцията "--skip-grant-tables
". Стартиране на MySQL сървър/daemon процес без парола.
mysqld_safe --skip-grant-tables &
Изходът след командния ред по-горе:
[1] 3041
[root@server ~]# Starting mysqld daemon with databases from /var/lib/mysql
4. Свързваме се към mysql сървъра с потребителя "root", използвайки командата:
mysql -u root
Резултатът от командата:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1
Server version: 5.0.77 Source distribution
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql>
5. Изберете базата данни mysql и задайте новата парола за потребителя "root".
use mysql;
update user set password=PASSWORD("New_Password") where User='root';
flush privileges;
quit
Резултати от горните команди:
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> update user set password=PASSWORD("123456") where User='root';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 3 Changed: 0 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
Bye
[root@server ~]#
6. Спираме и рестартираме услугата / сървъра MySQL
service mysqld stop
service mysqld start
Резултати:
Starting MySQL: [ OK ]
Снимката по-долу показва всичко Процесът за възстановяване на паролата на потребителя "root” на сървъра MySQL.
Сега можем да се свърже с MySQL (чрез PhpMyAdmin напр.) с "root" потребител, използвайки новата парола, зададена по-горе.
Инструкция тествани CentOS 5.6 с MySQL версия 14.12 Distrib 5.0.77, за redhat-linux-gnu (i686), използвайки readline 5.1.