65

rootMySQL のユーザーのパスワードを変更するにはどうすればよいですか?nullつまり、パスワードなし、または''MySQL コマンド ライン クライアントから変更できますか?

4

21 に答える 21

94

私と「5.7.11 MySQL Community Server」のために働いた:

use mysql;
update user set authentication_string=password(''), plugin='mysql_native_password' where user='root';

「auth_socket」に設定されていたため、「plugin」フィールドも変更する必要がありました。

その後mysql -u root、パスワードなしで接続できました。

于 2016-03-26T10:43:20.110 に答える
57

空のパスワードが必要な場合は、パスワードを null に設定し、パスワード ハッシュ関数を使用しないようにする必要があります。

コマンドラインで:

sudo service mysql stop
sudo mysqld_safe --skip-grant-tables --skip-networking &
mysql -uroot

MySQL の場合:

use mysql;
update user set password=null where User='root';
flush privileges;
quit;
于 2011-10-19T17:09:26.130 に答える
53
  • ユーザーrootとしてmysqlに接続します(次の2つの方法のいずれかを使用します)
    • rootとしてログインし、を使用してmysqlを起動しmysql -p、現在のrootパスワードを入力します
    • selfとしてログインし、を使用してmysqlを起動しmysql -u root -p、現在のrootパスワードを入力します
  • mysql> set password = password('');

終わり!ルートパスワードはありません。

于 2011-07-29T12:50:44.257 に答える
21
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('');
于 2014-02-16T07:06:33.960 に答える
14

次の 5 つの簡単な手順で、MySQL データベース サーバーのパスワードを回復できます。

ステップ 1 : MySQL サーバー プロセスを停止します。

ステップ # 2 : --skip-grant-tables オプションを使用して MySQL (mysqld) サーバー/デーモン プロセスを開始し、パスワードの入力を求めないようにします。

ステップ # 3 : root ユーザーとして mysql サーバーに接続します。

ステップ # 4 : 新しい mysql ルート アカウントのパスワードを設定します。つまり、mysql パスワードをリセットします。

ステップ # 5 : MySQL サーバーを終了して再起動します。

各ステップで入力する必要があるコマンドは次のとおりです (root ユーザーとしてログイン)。

ステップ 1 : mysql サービスを停止する

# /etc/init.d/mysql stop

出力:

Stopping MySQL database server: mysqld.

ステップ # 2 : パスワードなしで MySQL サーバーを起動します。

# mysqld_safe --skip-grant-tables &

出力:

[1] 5988
Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe[6025]: started

ステップ # 3 : mysql クライアントを使用して mysql サーバーに接続します。

# mysql -u root

出力:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.1.15-Debian_1-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>

ステップ # 4 : 新しい MySQL ルート ユーザー パスワードを設定する

mysql> use mysql;
mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit

ステップ # 5 : MySQL サーバーを停止します。

# /etc/init.d/mysql stop

出力:

Stopping MySQL database server: mysqld
STOPPING server from pid file /var/run/mysqld/mysqld.pid
mysqld_safe[6186]: ended
[1]+  Done                    mysqld_safe --skip-grant-tables

ステップ # 6 : MySQL サーバーを起動してテストする

# /etc/init.d/mysql start
# mysql      
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 
# mysql -u root -p

ソース: http://www.cyberciti.biz/tips/recover-mysql-root-password.html

于 2010-01-20T13:41:45.767 に答える
7

MySQL 8.0 の場合:

SET PASSWORD FOR 'root'@'localhost' = '';

于 2018-07-20T14:39:10.603 に答える
6

mysqlデータベースを直接編集するのは得策ではありません。

次の手順を好みます。

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY ''; 
mysql> flush privileges;
于 2017-09-22T08:18:08.270 に答える
1

user64141による回答

use mysql;
update user set password=null where User='root';
flush privileges;
quit;

MariaDB 10.1.5 では機能しませんでした (MySQL の代替品と思われます)。アップストリームの変更であるかどうかを確認するために MySQL 5.6 でテストしていませんが、私が得たエラーは次のとおりです。

エラー 1048 (23000): 列 'パスワード' を null にすることはできません

しかし、null を空の一重引用符または二重引用符に置き換えるとうまくいきました。

update user set password='' where User='root';

また

update user set password="" where User='root';
于 2015-07-24T19:06:27.853 に答える
0

ルートパスワードを知っていて、それをリセットしたいだけの場合は、次のようにします。

  • コントロール パネル > 管理ツール > サービスから MySQL サービスを開始します。(以前に停止した場合のみ!そうでない場合は、この手順をスキップしてください)

  • MySQL ワークベンチを起動します

  • このコマンド/SQL 行を入力してください

    ALTER USER 'root'@'localhost' PASSWORD EXPIRE;

他のユーザー パスワードをリセットするには、root の代わりに他のユーザー名を入力します。

于 2016-03-11T13:42:19.150 に答える
0

私はnodejsとwindows 10を使用しています。2つの答えの組み合わせがうまくいきました。

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY ''; 
mysql> flush privileges;

に続く:

restart;

これがまだ問題を抱えている他の人に役立つことを願っています.

于 2018-05-31T00:06:34.490 に答える