Mysql
 sql >> база данни >  >> RDS >> Mysql

Нулирайте Root паролата на MySQL Server

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

Справочното ръководство за MySQL съдържа подробни стъпки за това как да нулирате паролата за root, които са както следва:

Процедурата под Windows:

  1. Влезте в системата Windows, където MySQL работи като администратор.
  2. Спрете MySQL сървъра, ако работи. За сървър, който работи като услуга на Windows, отидете на мениджъра на услугите:

    Меню Старт -> Контролен панел -> Административни инструменти -> Услуги

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

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

  3. Създайте текстов файл и поставете следните команди в него всяка на един ред:
    UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
    FLUSH PRIVILEGES;
    
    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
    
    Save the file with any name. For this example the file will be C:\mysql-init.txt.
  4. Open a console window to get to the DOS command prompt: Start Menu -> Run -> cmd
  5. If MySQL is installed in C:\mysql. If MySQL is installed in another location, adjust the following commands accordingly. At the DOS command prompt, execute this command:
    C:\> C:\mysql\bin\mysqld-nt --init-file=C:\mysql-init.txt

    Съдържанието на файла, наречен с опцията --init-file, се изпълнява при стартиране на сървъра, като се променя root паролата. След като сървърът стартира успешно, трябва да изтриете C:\mysql-init.txt.

    Ако сте инсталирали MySQL с помощта на съветника за инсталиране на MySQL, може да се наложи да посочите опция --defaults-file:

    C:\> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt.exe"
             --defaults-file="C:\Program Files\MySQL\MySQL Server 5.0\my.ini"
             --init-file=C:\mysql-init.txt

    Подходящата настройка --defaults-file може да бъде намерена с помощта на Services Manager:

    Меню Старт -> Контролен панел -> Административни инструменти -> Услуги

    Намерете услугата MySQL в списъка, щракнете с десния бутон върху нея и изберете опцията Properties. Полето Път към изпълнимия файл съдържа настройката --defaults-file. Не забравяйте да предоставите аргумента --init-file с пълния системен път към файла, независимо от текущата ви работна директория

  6. Спрете MySQL сървъра, след което го рестартирайте в нормален режим отново. Ако MySQL сървърът се изпълнява като услуга, стартирайте го от прозореца на Windows Services. Ако стартирате сървъра ръчно, използвайте всяка команда, която обикновено използвате.
  7. Свържете се с MySQL сървъра, като използвате новата парола. Също така не забравяйте да изтриете файла mysql-init.txt, когато сте готови.

За Unix и Linux среда, процедурата за нулиране на root паролата е както следва:

  1. Влезте в системата Unix като root потребител на Unix или като същия потребител, като сървъра на mysqld работи.
  2. Намерете .pid файла, който съдържа идентификатора на процеса на сървъра. Точното местоположение и име на този файл зависят от вашата дистрибуция, име на хост и конфигурация. Често срещани местоположения са /var/lib/mysql/, /var/run/mysqld/ и /usr/local/mysql/data/. Обикновено името на файла има разширение .pid и започва с mysqld или с името на хоста на системата.

    Спрете MySQL сървъра, като изпратите нормално убийство (не kill -9) на процеса mysqld, като използвате името на пътя на файла .pid в следната команда:

    shell> kill `cat /mysql-data-directory/host_name.pid`

    Обърнете внимание на използването на обратни отметки вместо кавички напред с командата cat; те карат изходът на cat да бъде заменен с командата kill.

  3. Създайте текстов файл и поставете следната команда в него на един ред:
    UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
    FLUSH PRIVILEGES;

    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');

    Запазете файла с произволно име. За този пример файлът ще бъде ~/mysql-init.

  4. Рестартирайте MySQL сървъра със специалната опция --init-file=~/mysql-init:
    shell> mysqld_safe --init-file=~/mysql-init &

    Съдържанието на init-файла се изпълнява при стартиране на сървъра, като се променя root паролата. След като сървърът стартира успешно, трябва да изтриете ~/mysql-init.

  5. Рестартирайте сървъра нормално. Свържете се с MySQL сървър, като използвате новата парола.

Като алтернатива, на всяка платформа, mysql клиентът може да се използва за задаване на новата парола, въпреки че това е по-малко сигурен начин за нулиране на паролата (подробни инструкции тук):

  1. Спрете mysqld и го рестартирайте с опциите --skip-grant-tables --user=root (Потребителите на Windows пропускат частта --user=root).
  2. Свържете се със сървъра mysqld с тази команда:
    shell> mysql -u root
  3. Издайте следните изрази в клиента mysql:
    mysql> UPDATE mysql.user SET Password=PASSWORD('newpwd')
        ->                   WHERE User='root';
    mysql> FLUSH PRIVILEGES;

    Заменете 'newpwd' с действителната root парола, която искате да използвате.

  4. Трябва да можете да се свържете с новата парола.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Left Join не връща всички редове

  2. Инсталирайте Mtop (MySQL Database Server Monitoring) в RHEL/CentOS 6/5/4, Fedora 17-12

  3. SQL:Намерете максималния запис за група

  4. INSERT IGNORE срещу INSERT ... ПРИ АКТУАЛИЗИРАНЕ НА ДУБЛИРАН КЛЮЧ

  5. грешка:'Не мога да се свържа с локален MySQL сървър чрез сокет '/var/run/mysqld/mysqld.sock' (2)' -- Липсва /var/run/mysqld/mysqld.sock