私はMac OS XにMySQLをインストールしました。次のステップはrootユーザーのパスワードを設定することでしたので、次にこれを行いました。
Unixのプロンプトの下で私はこれらのコマンドを実行しました:
$ cd /usr/local/mysql/bin
$ ./mysqladmin -u root password 'password'
しかし、私がコマンドを実行すると
$ ./mysql -u root
、これが答えです。
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 224
Server version: 5.5.13 MySQL Community Server (GPL)
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
パスワードなしでmysql
コマンドラインに入ることができます!
どうしてこれなの?
MySQLターミナルにログインしたら、コマンドFLUSH PRIVILEGES
を試してください。それでもうまくいかない場合は、MySQLターミナルで次の一連のコマンドを試してください。
$ mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET password=PASSWORD("NEWPASSWORD") WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
あなたが望むどんなパスワードでもNEWPASSWORDを変えなさい。すべて設定する必要があります!
更新 :MySQL 5.7以降、password
フィールドはauthentication_string
という名前に変更されました。パスワードを変更するときは、次のクエリを使用してパスワードを変更してください。他のすべてのコマンドは同じままです。
mysql> UPDATE user SET authentication_string=PASSWORD("NEWPASSWORD") WHERE User='root';
更新 :8.0.15(おそらくそのバージョンより前)では、PASSWORD()関数は機能しません(下記のコメントを参照)。あなたが使用する必要があります:
UPDATE mysql.user SET authentication_string='password' WHERE User='root';
Rootに設定したパスワードを忘れてリセットする必要がある場合は、次の手順に従ってください。
Sudo mysqld_safe --skip-grant-tables;
mysql -u root
MySQL 5.7より古いMySQLの場合:
UPDATE mysql.user SET Password=PASSWORD('your-password') WHERE User='root';
MySQL 5.7以降の場合:
USE mysql;
UPDATE mysql.user SET authentication_string=PASSWORD("your-password") WHERE User='root';
更新して終了します。
FLUSH PRIVILEGES;
\q
MySQLをインストールしたら、「root」パスワードを設定する必要があります。 rootパスワードを設定しなければ、rootパスワードが設定されていないので、ログインにパスワードは必要ありません。
それで、言われて、あなたはrootパスワードを確立する必要があります。
端末を使用して、次のように入力します。
/usr/local/mysql/bin/mysqladmin -u root password NEW_PASSWORD_HERE
間違えた場合、またはrootのパスワードを変更する必要がある場合は、次のようにします。
cd /usr/local/mysql/bin/
./mysql -u root -p
> Enter password: [type old password invisibly]
use mysql;
update user set password=PASSWORD("NEW_PASSWORD_HERE") where User='root';
flush privileges;
quit
MysqlのWebサイトに記載されている手順は、上記のものよりも明確です。
$ Sudo /usr/local/mysql/support-files/mysql.server stop
$ Sudo /usr/local/mysql/support-files/mysql.server start --skip-grant-tables
/usr/local/mysql/bin/mysql
exit
またはCtrl + z$ Sudo /usr/local/mysql/support-files/mysql.server stop
$ Sudo /usr/local/mysql/support-files/mysql.server start
/usr/local/mysql/support-files/mysql -u root -p
参照: http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
Mysqldサーバーを停止します。
System Preferences
> MySQL
> Stop MySQL Server
Sudo systemctl stop mysqld.service
特権バイパスを使用してセーフモードでサーバーを起動します。
Sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
new terminalウィンドウで:
Sudo /usr/local/mysql/bin/mysql -u root
これでmysqlコマンドラインが開きます。ここから入力してください:
UPDATE mysql.user SET authentication_string=PASSWORD('NewPassword') WHERE User='root';
FLUSH PRIVILEGES;
quit
Mysqldサーバーをもう一度停止して、通常モードで再起動します。
Sudo /usr/local/mysql/support-files/mysql.server restart
Sudo systemctl restart mysqld
新しいMysql 5.7では、何らかの理由でMysqlのbinコマンドがシェルに添付されていません
インストール後にMacを再起動してください。
MySQLを起動します。
システム環境設定> Mysql>スタートボタン
ターミナルのMysqlインストールフォルダに移動します。
$ cd /usr/local/mysql/bin/
MySQLへのアクセス:
$ ./mysql -u root -p
インストールに与えられた初期パスワードを入力します。
MySQLターミナルでパスワードを変更します。
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPassword';
端末で、mysql -u root -p
を書いてReturnキーを押します。メモしておく必要がある現在のmysqlパスワードを入力します。そしてパスワードを設定しますSET PASSWORD = PASSWORD('new_password');
詳しくはこのドキュメントを参照してください ここ 。
MySQLのrootパスワードを忘れてしまった、覚えていない、または侵入したくない場合…..ボックスのrootユーザーパスワードを知っている限り、LinuxまたはOS Xのコマンドラインからmysqlデータベースのパスワードをリセットできます君は調子がいいね:
(1)MySQLを停止します
Sudo /usr/local/mysql/support-files/mysql.server stop
(2)セーフモードで起動します。
Sudo mysqld_safe --skip-grant-tables
(3)プロセスが終了するまで、これは継続的なコマンドになります。 - 別のシェル/ターミナルウィンドウを開く 、パスワードなしでログインします。
mysql -u root
UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';
上記のUPDATEコマンドでは、 'password'を自分の新しいパスワードに置き換えるだけで、引用符は忘れないでください。
(4)保存してかなり
FLUSH PRIVILEGES;
\q
(5)MySQLを起動する
Sudo /usr/local/mysql/support-files/mysql.server start
既存の回答に記載されている方法は、mysql 5.7.6以降では機能しません。 MySQLのドキュメントによると、これが推奨される方法です。
B.5.3.2.3ルートパスワードの再設定:一般的な説明
MySQL 5.7.6以降:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
参照: https://dev.mysql.com/doc/refman/5.7/ja/resetting-permissions.html
OS X Yosemiteをインストールしたとき、Mysqlに問題がありました。私はたくさんの方法を試しましたが、どれもうまくいきませんでした。私は実際にはかなり簡単な方法を見つけました。これを試してみてください。
Sudo su
Sudo /usr/local/mysql/support-files/mysql.server stop
Sudo mysqld_safe --skip-grant-tables
mysql -u root
UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';
FLUSH PRIVILEGES;
あなたのパスワードを覚えていないのなら、 @ radtekの答え 私の場合を除いて私のために働いた - brewを使ってMySQLをセットアップした これは彼の答えのステップ1と2を変更しなければならなかったことを意味する:
/usr/local/bin/mysql.server stop
/usr/local/bin/mysqld_safe --skip-grant-tables
注: Sudo
がない。
Sudo /usr/local/mysql/support-files/mysql.server stop
Sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
/usr/local/mysql/bin/mysql -u root
use mysql;
UPDATE user SET authentication_string=PASSWORD('NEW_PASSWORD') WHERE user='root';
FLUSH PRIVILEGES;
exit
/usr/local/mysql/bin/mysql -u root
を実行する
新しいパスワードを入力してMySQLの使用を開始してください。
私はこれがうまくいくと思います:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOURNEWPASSWORD'
(rootでない場合は、おそらくrootをユーザー名に置き換える必要があることに注意してください)
これは私のために正確に働いたものです:
他のMySQLプロセスが実行されていないことを確認してください。これを確認するには、次の手順を実行します。
a.From the terminal, run this command:
lsof -i:3306
If any PID is returned, kill it using kill -9 PID
b. Go To System Preferences > MySQL > check if any MySQL instances
are running, stop them.
次のコマンドでMySQLを起動します。
Sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
すべてのユーザーのパスワードは、mysql.userテーブルのUser列とauthentication_string列にそれぞれ格納されています。テーブルを更新することができます:
UPDATE mysql.user SET authentication_string='your_password' where User='root'
ターミナルでこれを試してください:/usr/local/bin/mysql_secure_installation
MySQL 8では多くの変更が行われました。 MySQL 8.0の「ルートパスワードのリセット方法」のドキュメントの次の修正が見つかりました はMac OS Xで動作します。
SQLを使用して一時ファイル$HOME/mysql.root.txt
を作成し、rootパスワードを更新します。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<new-password>';
これは 認証プラグイン 'caching_sha2_password'をロードできない エラーを回避するためにmysql_native_password
を使用します。このオプションを省略した場合に表示されます。
サーバーを停止し、--init-file
オプションで開始してrootパスワードを設定してから、サーバーを再起動します。
mysql.server stop mysql.server start --init-file=$HOME/mysql.root.txt mysql.server stop mysql.server start
パスワードを忘れた場合、またはパスワードをmysqlに変更したい場合は、次の手順を実行します。
Sudo su
Sudo /usr/local/mysql/support-files/mysql.server stop
mysql -u root
UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root';
where "new_password" - あなたの新しいパス。あなたはmysqlのための古いパスを必要としません。
FLUSH PRIVILEGES;
私のラップトップで動作するこの回避策を追加しましょう!
Osx Mojave 10.14.5を搭載したMac
Mysql 8.0.17はhomebrewでインストールされました
次のコマンドを実行して、mysqlのパスを見つけます
brew info mysql
パスがわかったら、これを実行します:
/usr/local/Cellar/mysql/8.0.17/bin/mysqld_safe --skip-grant-table
別の端末で実行します:
mysql -u root
その端末内で、次を使用してrootパスワードを変更しました。
update mysql.user set authentication_string='NewPassword' where user='root';
そして、私が実行を完了するには:
FLUSH PRIVILEGES;
そして、パスワードがリセットされました。
mysqld_safe --skip-grant-tables
mysql -u root
UPDATE mysql.user SET authentication_string='yourpasswd' WHERE User='root';
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'yourpasswd';
Macbookを再起動するたびに、どういうわけかこれを行う必要があります。これを個人的な参照用に投稿することで、他の人にも役立つことを願っています。
mac OS X DMGインストーラからインストールされた5.7.26を含むmacOS 10.14以降。
他のユーザーが投稿したUPDATEコマンドを使用しようとすると、次のエラーが発生します。
エラー1820(HY000):この文を実行する前に、ALTER USER文を使用してパスワードを再設定する必要があります。
インストーラーのオープン端末によって提示されたパスワードをコピーして、以下を実行します。
mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOURPASSWORDHERE';