MySQL v5.7を使用してMySQLの「root」パスワードを変更するには?

MySQL v5.7を使用してMySQLの「root」パスワードを変更するには?

現在の環境:

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'

私は何を逃したことがありませんか?

ベストアンサー1

MySQL 5.7では、テーブルフィールドpasswordのフィールドがmysql.user削除され、フィールド名はですauthentication_string

まずデータベースを選択します。

mysql> use mysql;

次にテーブルを表示します。

mysql> show tables;

テーブルを探してuserそのフィールドを表示できます。

mysql> describe user;

passwordPasswordというフィールドがなく、Passwordというフィールドがあることがわかりますauthentication_string。したがって、次のようにします。

update user set authentication_string=password('XXXX') where user='root';

@Rui F Ribeiroが提案したように、以下を実行することもできます。

mysql> SET PASSWORD FOR 'root' = PASSWORD('new_password');

おすすめ記事