各方法には適用可能な状況があり、特定の状況に応じて適切な方法を選択してください。どちらの方法を選択する場合でも、パスワードをリセットした後は必ず一時ユーザーを削除し、すぐにサービスを再起動してくださいMySQL
。
1.mysqladmin
パスワードをリセットするために使用します
-
故障中
# systemctl 启动的使用这个停止 $ sudo systemctl stop mysql # mac 本机,可以使用这个或可视化界面停止 $ sudo mysql.server stop
-
mysqld_safe
コマンドを使用してMySQL
サービスを開始し、権限チェックをスキップします。実行後に Enter キーを押す必要がある場合があります。$ sudo mysqld_safe --skip-grant-tables &
-
MySQL
サービスにログインし、mysqladmin
コマンドを使用してパスワードをリセットします。# 无需密码,会直接登入 $ mysql -u root # 刷新权限 mysql> FLUSH PRIVILEGES; # 这里的 'new_password' 是要设置的新密码,可以根据需要进行修改。此命令将修改 root 用户在本地 MySQL 服务上的密码。 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; # 修改好后退出 MySQL mysql> exit
-
サービスを停止し
MySQL
、パスワードを再設定してログインします# 1、停止 MySQL 服务上面有,第一条就是 # 2、重启启动 MySQL 服务,并使用密码登入 # systemctl 启动的使用这个重新启动 $ sudo systemctl start mysql # mac 本机,可以使用这个或可视化界面启动 $ sudo mysql.server start # 3、密码登录 $ mysql -u root -p # 附:如果再次使用 mysql -u root 这样免密登录是不成功的,停止重启后会失效。
2.mysqld
パスワードをリセットするために使用します
-
故障中
# systemctl 启动的使用这个停止 $ sudo systemctl stop mysql # mac 本机,可以使用这个或可视化界面停止 $ sudo mysql.server stop
-
mysqld_safe
コマンドを使用してMySQL
サービスを開始し、権限チェックをスキップし、実行後に Enter キーを押します。$ sudo mysqld_safe --skip-grant-tables &
-
MySQL
サービスにログインし、root
権限を持つ新しい一時ユーザーを作成します。# 无需密码,会直接登入 $ mysql -u root # 刷新权限 mysql> FLUSH PRIVILEGES; # 创建一个临时用户 temp_root 及 temp_password mysql> CREATE USER 'temp_root'@'localhost' IDENTIFIED BY 'temp_password'; # 设置权限 mysql> GRANT ALL PRIVILEGES ON *.* TO 'temp_root'@'localhost' WITH GRANT OPTION; # 修改好后退出 MySQL mysql> exit
-
サービスを停止し
MySQL
、パスワードログインを再開し、ALTER
コマンドを使用してroot
ユーザーパスワードを変更します。# 1、停止 MySQL 服务上面有,第一条就是 # 2、重启启动 MySQL 服务,并使用密码登入 # systemctl 启动的使用这个重新启动 $ sudo systemctl start mysql # mac 本机,可以使用这个或可视化界面启动 $ sudo mysql.server start # 3、临时用户密码登录 $ mysql -u temp_root -p # 4、这里的 'new_password' 是要设置的新密码,可以根据需要进行修改。此命令将修改 root 用户在本地 MySQL 服务上的密码。 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; # 5、修改好后退出 MySQL mysql> exit # 6、停止 MySQL 服务上面有,第一条就是 # 附:如果再次使用 mysql -u root 这样免密登录是不成功的,停止重启后会失效。
-
もう一度
mysqld_safe
コマンドを使用してMySQL
サービスを開始し、権限チェックをスキップし、一時ユーザーを削除します。$ sudo mysqld_safe --skip-grant-tables & $ mysql -u root mysql> FLUSH PRIVILEGES; mysql> REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'temp_root'@'localhost'; mysql> DROP USER 'temp_root'@'localhost'; mysql> exit
-
MySQL
サービスを再度再起動し、root
変更したパスワードでログインします# 1、停止 MySQL 服务上面有,第一条就是 # 2、重启启动 MySQL 服务,并使用密码登入 # systemctl 启动的使用这个重新启动 $ sudo systemctl start mysql # mac 本机,可以使用这个或可视化界面启动 $ sudo mysql.server start # 3、密码登录 $ mysql -u root -p
3.MySQL
セキュリティモードを使用してパスワードをリセットします
-
故障中
# systemctl 启动的使用这个停止 $ sudo systemctl stop mysql # mac 本机,可以使用这个或可视化界面停止 $ sudo mysql.server stop
-
MySQL
セーフモードを開始する$ sudo mysqld_safe --skip-grant-tables --skip-networking &
-
MySQL
サービスにログインし、mysqladmin
コマンドを使用してパスワードをリセットします。# 无需密码,会直接登入 $ mysql -u root mysql> FLUSH PRIVILEGES; # 这里的 'new_password' 是要设置的新密码,可以根据需要进行修改。此命令将修改 root 用户在本地 MySQL 服务上的密码。 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; # 修改好后退出 MySQL mysql> exit
-
MySQL
セーフモードを停止する$ sudo killall mysqld_safe # 如果在本地机器上执行上面命令无法停止安全模式,可以通过杀死进程方式解决 # 1、列出 mysqld_safe 的进程 $ ps aux | grep mysqld_safe # 2、拿到 PID 全部杀死,应该是第二列,就几位纯数字的,如果不知道可以单独输出 $ ps aux 看一下。 $ sudo kill -9 xxx xxx ...
-
サービスを停止し
MySQL
、パスワードを再設定してログインします# 1、停止 MySQL 服务上面有,第一条就是,如果通过 $ sudo kill 可以一起就杀死了。 # 2、重启启动 MySQL 服务,并使用密码登入 # systemctl 启动的使用这个重新启动 $ sudo systemctl start mysql # mac 本机,可以使用这个或可视化界面启动 $ sudo mysql.server start # 3、密码登录 $ mysql -u root -p # 附:如果再次使用 mysql -u root 这样免密登录是不成功的,停止重启后会失效。
4.my.cnf
パスワードをリセットするために使用します
-
この方法
方式一
は基本的に上記と同じですが、コマンド内のスキップ許可指示を に記述しmy.cnf
、修正後に削除する点が異なります。 -
変更する前に、
my.cnf
必ずmysql
プロセスを終了して閉じてくださいmysql
。そうしないと、 接続できないmysql
問題 が発生する可能性があります。sock
-
故障中
# systemctl 启动的使用这个停止 $ sudo systemctl stop mysql # mac 本机,可以使用这个或可视化界面停止 $ sudo mysql.server stop
-
開き
my.cnf
、存在しない場合は作成します$ sudo vim /etc/my.cnf
vim
編集するためにエディターに入ったら、それを見つけてキーボードのキーを[mysqld]
押してi
編集モードに入り、[mysqld]
その後に任意の行を追加してskip-grant-tables
パスワード検証プロセスをスキップします。を押しESC
て編集を終了し、 を入力し:wq
て Enter を押して保存して終了します。[mysqld] skip-grant-tables
-
mysqld
サービスを開始する# systemctl 启动的使用这个重新启动 $ sudo systemctl start mysql # mac 本机,可以使用这个或可视化界面启动 $ sudo mysql.server start
-
MySQL
サービスにログインし、mysqladmin
コマンドを使用してパスワードをリセットします。# 无需密码,会直接登入 $ mysql -u root # 这里的 'new_password' 是要设置的新密码,可以根据需要进行修改。此命令将修改 root 用户在本地 MySQL 服务上的密码。 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; # 刷新权限 mysql> FLUSH PRIVILEGES; # 修改好后退出 MySQL mysql> exit
-
もう一度開き
my.cnf
、追加した内容を削除し、サービスをskip-grant-tables
保存して再起動し、新しいパスワードでログインします。MySQL