Текущая среда:
mysql> show variables like "%version%";
+-------------------------+------------------------------+
| Variable_name | Value |
+-------------------------+------------------------------+
| innodb_version | 5.7.13 |
| protocol_version | 10 |
| slave_type_conversions | |
| tls_version | TLSv1,TLSv1.1 |
| version | 5.7.13 |
| version_comment | MySQL Community Server (GPL) |
| version_compile_machine | x86_64 |
| version_compile_os | Linux |
+-------------------------+------------------------------+
8 rows in set (0.01 sec)
Пароль Изменить команду пользователя:
mysql> update user set password=PASSWORD("XXXX") where user="root";
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
Я что-то пропустил?
mysql
в безопасном режиме. тогда вы можете изменить пароль rootОтветы:
В MySQL 5.7
password
поле в полеmysql.user
таблицы было удалено, теперь имя поляauthentication_string
.Сначала выберите базу данных:
А затем покажите таблицы:
Вы найдете
user
таблицу и увидите ее поля:Вы поймете, что нет названного поля
password
, поле пароля названоauthentication_string
. Итак, просто сделайте это:Как предлагает @Rui F Ribeiro, вы также можете запустить:
источник
SET PASSWORD FOR 'root' = PASSWORD('new_password');
MySQL способ изменить пароль
SET PASSWORD
см. Справочное руководство по MySQL 5.7 / ... / Синтаксис SET PASSWORD
Принятый ответ от Рахула показывает, как обновить пароль с
DML
заявлением.Предупреждение: это не официальный и поддерживаемый способ. Это может вызвать проблемы, если вы не знаете, что делаете. Не стоит забывать
FLUSH PRIVILEGES
.Прекратите использовать FLUSH PRIVILEGES
Пожалуйста , используйте
GRANT
,REVOKE
,SET PASSWORD
, или ,RENAME USER
а не прямые заявления DML.Обновление: синтаксис SET PASSWORD ... = PASSWORD ('auth_string') устарел с MySQL 5.7.6 и будет удален в следующем выпуске MySQL.
источник
mysqladmin -u user-name password -p "oldpassword" "newpass"
если вы можете войти, попробуйте это не
""
будет работать попробуйте''
одинарную цитатуupdate user set password=PASSWORD("newpass") where User='ENTER-USER-NAME-HERE';
источник
authentication_string
В моем случае
Поэтому я думаю, что ваша команда обновления верна, но вам нужно перезапустить сервер MySQL.
источник
Для этой проблемы я использовал простой и грубый метод, переименуйте имя поля в пароль, причина в том, что я использую премиум-программное обеспечение mac navicat при визуальной ошибке операции: Неизвестный столбец «пароль» в поле «Список», Само программное обеспечение использует пароль, поэтому я не могу легко работать. Поэтому я рутаюсь в командную строку базы данных, запускаю
А затем измените имя поля:
Ведь нормально.
источник