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

Как да промените паролата за root акаунт на MySQL на CentOS7?

Каква версия на mySQL използвате? Използвам 5.7.10 и имах същия проблем с влизането като root

Има 2 проблема - защо не мога да вляза като root, за да започна, и защо не мога да използвам 'mysqld_safe`, за да стартирам mySQL, за да нулирам root паролата.

Нямам отговор за настройката на root паролата по време на инсталацията, но ето какво правите, за да нулирате root паролата

Редактиране първоначалната root парола при инсталиране може да бъде намерена, като изпълните

grep 'temporary password' /var/log/mysqld.log

http://dev.mysql.com /doc/refman/5.7/en/linux-installation-yum-repo.html

  1. systemd сега се използва за грижа за mySQL вместо mysqld_safe (поради което получавате командата -bash: mysqld_safe: command not found грешка - не е инсталиран)

  2. user структурата на таблицата е променена.

Така че, за да нулирате root паролата, все пак стартирате mySQL с --skip-grant-tables опции и актуализирайте user таблица, но начинът, по който го правите, се промени.

1. Stop mysql:
systemctl stop mysqld

2. Set the mySQL environment option 
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"

3. Start mysql usig the options you just set
systemctl start mysqld

4. Login as root
mysql -u root

5. Update the root user password with these mysql commands
mysql> UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPassword')
    -> WHERE User = 'root' AND Host = 'localhost';
mysql> FLUSH PRIVILEGES;
mysql> quit

*** Edit ***
As mentioned my shokulei in the comments, for 5.7.6 and later, you should use 
   mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
Or you'll get a warning

6. Stop mysql
systemctl stop mysqld

7. Unset the mySQL envitroment option so it starts normally next time
systemctl unset-environment MYSQLD_OPTS

8. Start mysql normally:
systemctl start mysqld

Try to login using your new password:
7. mysql -u root -p

Справка

Както пише на http://dev.mysql.com /doc/refman/5.7/en/mysqld-safe.html ,

Което ви отвежда до http://dev .mysql.com/doc/refman/5.7/en/server-management-using-systemd.html където се споменава systemctl set-environment MYSQLD_OPTS= в долната част на страницата.

Командите за нулиране на паролата са в долната част на http:// dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изтрийте ред, ако таблицата съществува SQL

  2. Как мога да проверя кода на магазина в mysql и да актуализирам таблицата, ако резултатът върне вярно

  3. Как да изчислим маржа в MySQL

  4. Свързване с mysql с помощта на php

  5. Как да предотвратите състезание при онлайн резервация на хотел