Podrobný návod, jak obnovit heslo uživatele root serveru SQL.
Nejdůležitější uživatel serveru MySQL je určitě uživatel"root". Tento uživatel má vše oprávnění správce pro databáze (MySQL databases).
V případě, že již nevíte, jaké je heslo uživatele root MySQL, budete muset toto heslo resetovat pomocí několika jednoduchých kroků.
Tutoriál je vytvořen pro server MySQL nainstalovaný v operačním systému CentOS, ale postup je stejný pro ostatní distribuce Linux.
Jak obnovit heslo pro uživatele root serveru SQL
Chcete-li obnovit heslo pro uživatele root serveru SQL, je nejjednodušší metodou SSH (Secure Shell).
1. Přihlásíme se pomocí uživatele "root” do systému, na kterém je server MySQL. (uživatel root systému, nikoli serveru MySQL). Přihlaste se přímo z konzole nebo vzdáleně přes připojení ssh (S tmel ze systémů Windows).
2. Zastavit proces / MySQL.
service mysqld stop
nebo
/etc/init.d/mysqld stop
Výsledkem bude:
Stopping MySQL: [ OK ]
3. Spustíme server MySQL s možností "--skip-grant-tables
". Spouštění serveru MySQL/daemon proces bez hesla.
mysqld_safe --skip-grant-tables &
Výstup po příkazovém řádku výše:
[1] 3041
[root@server ~]# Starting mysqld daemon with databases from /var/lib/mysql
4. Připojíme se k serveru mysql s uživatelem "root", pomocí příkazu:
mysql -u root
Výstup:
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. Vyberte databázi mysql a nastavte nové heslo pro uživatele "root".
use mysql;
update user set password=PASSWORD("New_Password") where User='root';
flush privileges;
quit
Výsledky z výše uvedených příkazů:
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. Zastavíme a restartujeme službu / server MySQL
service mysqld stop
service mysqld start
Výsledek:
Starting MySQL: [ OK ]
Vše ukazuje obrázek níže proces resetování hesla uživatele"root“ serveru MySQL.
Nyní se můžeme připojit k MySQL (podle phpMyAdmin např.) s uživatelem „root“ pomocí nového hesla nastaveného výše.
Tutorial testovány CentOS 5.6 s MySQL Ver 14.12 Distrib 5.0.77, pro redhat-linux-gnu (i686) pomocí readline 5.1.