コマンドラインを使用してデータベースユーザーのパスワードを更新しようとしていますが、機能しません。これは私が使用しているコードです:
mysql> UPDATE user SET password=PASSWORD($w0rdf1sh) WHERE user='tate256';
誰かがこのコードの何が問題なのか教えてもらえますか?
コマンドラインを使用してデータベースユーザーのパスワードを更新しようとしていますが、機能しません。これは私が使用しているコードです:
mysql> UPDATE user SET password=PASSWORD($w0rdf1sh) WHERE user='tate256';
誰かがこのコードの何が問題なのか教えてもらえますか?
回答:
コードでは、パスワードを一重引用符で囲んでみてください。あるいは、mysqlのドキュメントに従って、以下が機能するはずです-
SET PASSWORD FOR 'jeffrey'@'localhost' = PASSWORD('cleartext password');
FLUSH PRIVILEGES;
最後の行は重要です。そうしないと、残念ながらパスワードの変更は有効になりません。
編集:
私は地元でテストを実行しました、そしてそれはうまくいきました-
mysql> set password for 'test' = PASSWORD('$w0rdf1sh');
Query OK, 0 rows affected (0.00 sec)
私のバージョンは5です。次のコマンドを使用してバージョンを確認できます-
SHOW VARIABLES LIKE "%version%";
5.7.18-0ubuntu0.16.04.1
ALTER USER
例:
ALTER USER 'username' IDENTIFIED BY 'password';
理由:
SET PASSWORD ... = PASSWORD('auth_string')
構文はMySQL5.7.6で非推奨になり、将来のMySQLリリースで削除される予定です。
SET PASSWORD ... = 'auth_string'
構文は非推奨ではありませんが、ALTER USER
パスワードを割り当てるための推奨ステートメントになりました。
ALTER USER ... IDENTIFIED BY ...
正確には何をしますか?どのように異なりますUPDATE ... SET ...
かINSERT INTO ...
?
ALTER USER ... IDENTIFIED BY ...
データベースのユーザー権限を構成するSQLステートメントです。UPDATE
そしてINSERT
名前のように、更新レコードを示唆し、データベース内のテーブルにレコードを挿入異なる機能を持っています。
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'USER 'root' IDENTIFIED BY
注:uはrootユーザーとしてログインする必要があります
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('your password');
これは、WAMPv3.0.6の更新された回答です。
UPDATE mysql.user
SET authentication_string=PASSWORD('MyNewPass')
WHERE user='root';
FLUSH PRIVILEGES;
MySQL 5.7.6より前では、これはコマンドラインから機能します。
mysql -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('$w0rdf1sh');"
テストするmysqlのインストールはありませんが、あなたの場合はそうなると思います
mysql -e "UPDATE mysql.user SET Password=PASSWORD('$w0rdf1sh') WHERE User='tate256';"
これは私にとってはうまくいきます。MYSQLWebページからソリューションを入手しました
MySQLでは、以下のクエリを実行します。
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'New_Password';
ログインルートはです/usr/local/directadmin/conf/mysql.conf
。次に、フォローしてみてください
UPDATE mysql.user SET password=PASSWORD('$w0rdf1sh') WHERE user='tate256' AND Host='10.10.2.30';
FLUSH PRIVILEGES;
ホストはmysqlホストです。