UbuntuサーバーでMySQLのrootパスワードとユーザー名を変更するにはどうすればいいですか?変更を設定する前にmysqlサービスを停止する必要がありますか?
Phpmyadminの設定もありますが、phpmyadminは自動的に更新されますか?
Ubuntu LinuxでMySQLのrootパスワードを設定/変更/リセットします。端末に次の行を入力してください。
Sudo /etc/init.d/mysql stop
mysqld
設定を開始します。Sudo mysqld --skip-grant-tables &
場合によっては、最初に/var/run/mysqld
を作成する必要があります。
Sudo mkdir -v /var/run/mysqld && Sudo chown mysql /var/run/mysqld
RootとしてMySQLにログインします。mysql -u root mysql
YOURNEWPASSWORD
を新しいパスワードに置き換えます。
UPDATE
mysql.user
SET
Password = PASSWORD('YOURNEWPASSWORD')
WHERE
User = 'root';
FLUSH PRIVILEGES;
exit;
注:いくつかのバージョンでは、
password
列が存在しない場合、試してみるとよいでしょう。UPDATE user SET authentication_string=password('YOURNEWPASSWORD') WHERE user='root';
注:この方法はパスワードをリセットする最も安全な方法とは見なされていませんが、機能します。
参考文献:
Ubuntuサーバーのrootパスワードをリセットするための公式で簡単な方法...
16.04、14.04、12.04の場合:
Sudo dpkg-reconfigure mysql-server-5.5
10.04を利用している場合
Sudo dpkg-reconfigure mysql-server-5.1
どのmysql-serverバージョンがインストールされているかわからない場合は、試すことができます。
dpkg --get-selections | grep mysql-server
mysql-server-5.7に関するメモを更新
Mysql-server-5.7を使用している場合は、上記の簡単なdpkg-reconfigureメソッドは使用できません。
パスワードがわかっている場合は、ログインして次のコマンドを実行してください。
UPDATE mysql.user SET authentication_string=PASSWORD('my-new-password') WHERE USER='root';
FLUSH PRIVILEGES;
あるいは、以下を使用することができます。
Sudo mysql_secure_installation
これにより、新しいrootパスワードを入力したいかどうかなど、インストールのセキュリティ保護に関する一連の質問が表示されます(強く推奨)。
Rootのパスワードがわからない場合は、 プロセスに関するUbuntu中心の記事を参照してください 。
詳細についてはを参照してください。
https://help.ubuntu.com/16.04/serverguide/mysql.htmlhttps:// help。 ubuntu.com/14.04/serverguide/mysql.html
私のために働いた唯一の方法はここに記述されたものです(私はubuntu 14.04を実行しています)。明確にするために、これらは私が従ったステップです:
Sudo vim /etc/mysql/my.cnf
最後に次の行を追加してください。
[mysqld] skip-grant-tables
Sudo service mysql restart
mysql -u root
use mysql
select * from mysql.user where user = 'root';
- パスワード列がpasswordまたはauthentication_stringのどちらで呼び出されているかを判断するために上部を調べます
UPDATE mysql.user set *password_field from above* = PASSWORD('your_new_password') where user = 'root' and Host = 'localhost';
- 上から適切なパスワード列を使う
FLUSH PRIVILEGES;
exit
Sudo vim /etc/mysql/my.cnf
セキュリティ基準を守りたい場合は、ステップ2で追加した行を削除します。
Sudo service mysql restart
参考のために: https://dev.mysql.com/doc/refman/5.7/ja/resetting-permissions.html
私はLinux UbuntuでMySQLのパスワードをリセットするためのステップバイステップの最終的な解決策を共有しています。
手順1:MySQLサービスを停止します。
Sudo stop mysql
ステップ2:実行中のmysqldをすべて終了します。
Sudo killall -9 mysqld
ステップ3:セーフモードでmysqldを起動する。
Sudo mysqld_safe --skip-grant-tables --skip-networking &
ステップ4:mysqlクライアントを起動する
mysql -u root
ステップ5:ログインに成功したら、このコマンドを実行してパスワードを変更してください。
FLUSH PRIVILEGES;
ステップ6:あなたはmysqlのrootパスワードを更新することができます。
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
注:MySQL 5.7では、列Password
はauthentication_string
と呼ばれていました。
ステップ7:このコマンドを実行してください。
FLUSH PRIVILEGES;
私にとってうまくいったこと(Ubuntu 16.04、mysql 5.7):
MySQLを停止する
Sudo service mysql stop
MySQLサービスディレクトリを作成します。
Sudo mkdir /var/run/mysqld
MySQLユーザーにサービスディレクトリへの書き込み権限を与えます。
Sudo chown mysql: /var/run/mysqld
パーミッションチェックやネットワーク接続なしで、MySQLを手動で起動します。
Sudo mysqld_safe --skip-grant-tables --skip-networking &
別のコンソールで、パスワードなしでログインします。
mysql -uroot mysql
その後:
UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='localhost';
EXIT;
MySQLをオフにします。
Sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown
MySQLサービスを通常どおりに起動します。
Sudo service mysql start
MySQLのrootパスワードを変更します。
このメソッドはパスワードをコマンドライン履歴に公開します、これらのコマンドはrootとして実行されるべきです。
Mysqlコマンドラインツールを介してログインします。
mysql -uroot -poldpassword
このコマンドを実行してください。
SET PASSWORD FOR root@'localhost' = PASSWORD('newpassword');
または
このコマンドを実行して、現在のユーザーのパスワードを設定します(この場合は 'root')。
SET PASSWORD = PASSWORD( 'newpassword');
私はUbuntuの18.04とMySQL 5.7の問題に直面し、これが解決策です
MySQLサーバ> = 5.7
Sudo mysql -uroot -p
USE mysql;
UPDATE user SET authentication_string=PASSWORD('YOUR_PASSWORD') WHERE User='root';
UPDATE user SET plugin="mysql_native_password";
FLUSH PRIVILEGES;
quit;
MySQLサーバ<5.7
Sudo mysql -uroot -p
USE mysql;
UPDATE user SET password=PASSWORD('YOUR_PASSWORD') WHERE User='root';
UPDATE user SET plugin="mysql_native_password";
FLUSH PRIVILEGES;
quit;
これは私がUbuntu 16.04のためにやった魅力のように働きます。私がそこからそれを得たので下のリンクへの完全な信用。 [ https://coderwall.com/p/j9btlg/reset-the-mysql-5-7-root-password-in-ubuntu-16-04-lts] [1]
MySQLを停止する
Sudo service mysql stop
MySQLサービスディレクトリを作成します。 Sudo mkdir/var/run/mysqld
MySQLユーザーにサービスディレクトリへの書き込み権限を与えます。
Sudo chown mysql: /var/run/mysqld
パーミッションチェックやネットワーク接続なしで、MySQLを手動で起動します。
Sudo mysqld_safe --skip-grant-tables --skip-networking &
パスワードなしでログインします。
mysql -uroot mysql
Rootユーザーのパスワードを更新してください。少なくともrootアカウントが以下のクエリによって更新されることを確認してください。必要に応じて選択して既存の値を確認してください。
UPDATE mysql.user SET
authentication_string=PASSWORD('YOURNEWPASSWORD'),
plugin='mysql_native_password' WHERE User='root';
EXIT;
MySQLをオフにします。
Sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown
MySQLサービスを通常どおりに起動します。
Sudo service mysql start
MySQLのrootパスワードを変更したい場合は、端末で次のように入力します。
Sudo dpkg-reconfigure mysql-server-5.5
MySQLデーモンが停止し、新しいパスワードを入力するように求められます。
これは私にとっての解決策です。私はUbuntu 18.04で働いています。 https://stackoverflow.com/a/46076838/2400373
しかし、最後のステップでこの変更が重要です。
UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='localhost';
MySQLを停止しますSudo service mysql stop
MySQLサービスディレクトリを作成します。 Sudo mkdir/var/run/mysqld
MySQLユーザーにサービスディレクトリへの書き込み権限を与えます。 Sudo chown mysql:/ var/run/mysqld
パーミッションチェックやネットワーク接続なしで、MySQLを手動で起動します。 Sudo mysqld_safe - スキップ許可テーブル - スキップネットワーク&
5.パスワードなしでログインします。 mysql -uroot mysql
6. rootユーザーのパスワードを更新します。
UPDATE mysql.user SET authentication_string = PASSWORD( '自分のパスワード')、plugin = 'mysql_native_password' WHERE User = 'root' AND Host = '%';出口;
MySQLをオフにします。 Sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown
MySQLサービスを通常どおりに起動します。 Sudoサービスmysql起動
このソリューションはMySQLの以前のバージョンに属しています。ソケット認証を使用してMySQLにログインすることで、それを実行できます。
Sudo mysql -u root
その後、次のコマンドを実行できます。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
詳細はこちら にあります 。
現在のパスワードを知っていれば、mysqlサーバーを停止する必要はありません。 Ubuntuターミナルを開きます。以下を使用してmysqlにログインします。
mysql - username -p
次にパスワードを入力してください。これでmysqlコンソールに入ります。コンソール内で次のように入力します。
> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
それから:を使って特権をフラッシュします。
> flush privileges;
それであなたはすべて終わりました。
"root"のMysqlユーザパスワードを更新するには、そのためにはスーパーユーザ権限が必要になることに留意しなければなりません。スーパーユーザー特権を持っている場合は、次のコマンドを試してください。
MySQL 5.7.6以降
Sudo su
service mysql stop
mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
\q;
exit
mysql -u root -p MyNewPass
MySQL 5.7.5以前
Sudo su
service mysql stop
mysql -u root
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
\q;
exit
mysql -u root -p MyNewPass
パスワードを変更したいシステムでMySQLのPASSWORD()
を使用すると、MySQLログインでパスワードがクリアテキストで表示されることがあります[ source ]。 。パスワード、パスワードなどを安全に保つことは私にとって悪夢のように聞こえるので、私は以下のようにしたいと思います。
あなたのローカルマシンで、あなたのパスワードでこれを実行してください:
mysql -u someuser -p < <(echo "SELECT PASSWORD('mypass');")
Bashの履歴に表示されないように前のスペースに注意してください(Ubuntu以外のディストリビューションでは、これは異なる動作をする可能性があります - source )。
サーバーマシンで、次のコマンドを実行してMySQLのrootパスワードを変更します(myhash
を最初のコマンドで表示されたパスワードのハッシュに置き換えます)。
mysql -u root -p < <(echo "SET PASSWORD FOR root@localhost = 'myhash';")
ローカルコンピュータで、clear
で端末の画面をクリアし、仮想端末のスクロールバックを消去して、上記のコマンドに表示されているクリアテキストのパスワードを非表示にします。
あなたはこれらすべてを必要としません。単にログインしてください。
mysql -u root -p
次に、現在のユーザーのパスワードをmysql>
プロンプトとして変更します。
mysql> set password=password('the_new_password');
mysql> flush privileges;
Ubuntu 18.04およびmysqlバージョン14.14 Distrib 5.7.22の場合は、次の手順に従ってmysqlパスワードをリセットします。
Sudo systemctl stop mysql
Sudo systemctl edit mysql
このコマンドは、nanoエディタで新しいファイルを開きます。このファイルを使用して、MySQLのサービスオーバーライドを編集します。これらはMySQLのデフォルトのサービスパラメータを変更します。このファイルは空になるので、次の内容を追加します。
[Service]
ExecStart=
ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid --skip-grant-tables --skip-networking
Sudo systemctl daemon-reload
Sudo systemctl start mysql
Sudo mysql -u root
FLUSH PRIVILEGES;
UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHEREuser = 'root';
UPDATE mysql.user SET plugin ='mysql_native_password' WHERE user = 'root';
Sudo systemctl revert mysql
そして最後に
Sudo systemctl restart mysql
今お楽しみください
あなたはmysql 5.7 rootパスワードをリセットするためにこれらのいくつかのステップを試すことができます:
MySQLサービスの1日停止
Sudo /etc/init.d/mysql stop
パスワードなしでrootとしてログインSudo mysqld_safe --skip-grant-tables
&
ログインmysql端末の後には、さらにコマンドを実行する必要があります。
use mysql;
UPDATE mysql.user SET authentication_string=PASSWORD('solutionclub3@*^G'), plugin='mysql_native_password' WHERE User='root';
flush privileges;
Sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown
Mysqlサーバーを再起動した後まだエラーが発生する場合は、次のサイトにアクセスしてください。 MySQL 5.7 rootパスワードのリセットUbuntu 16.04
提供されているphpmyadmin guiを使用してxamppにデプロイすると、mysqlパスワードを簡単に変更できます。
phpMyAdmin -> User Accounts -> Edit Privileges (Select the intended user) -> Change Password (Tab)
mysql 5.6では、このコマンドが機能し、ウィザードを通してパスワードを設定できます。
Sudo dpkg-reconfigure mysql-server-5.6
MySQLパスワードの設定
Sudo /etc/init.d/mysql stop
Sudo mkdir/var/run/mysqld /
Sudo chown mysql/var/run/mysqld /
須藤mysqld_safe --skip-grant-tables&
Sudo mysql -u root
mysqlを使用します。
update user set authentication_string=PASSWORD("New_Passwore_Here") where
User = 'root';
変更を保存する
特権をフラッシュします。出口;
mySQL safe_modeを停止し、MySQLデフォルトサービスを開始します
Sudo /etc/init.d/mysql stop
Sudo /etc/init.d/mysql start
Sudo mysql -u root -p
***ソース: https://websiteforstudents.com/resetting-mysql-root-password-on-ubuntu-16-04-17-10-and-18-04-lts/
このコマンドを使用することができます:
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
その後はflushを使ってください。
FLUSH PRIVILEGES;
パスワードまたはユーザー名を指定せずに接続するようにphpmyadmin
を設定している場合は、パスワードをリセットする代わりにローカルマシンで回避策があります。 mysql
、Apache
などを起動してこれをチェックしてください。私はxampp
をローカルマシンにインストールしました。したがって、xamppを起動すると、必要なすべてのサービスが起動します。さて、http://localhost/phpmyadmin
に行くと、すべてのデータベースが表示されます。これにより、ユーザー名とパスワードをphpmyadminの設定ファイル(phpmyadmin
のインストール場所にあります)に保存したことを確認できます。 xampp
がインストールされている場合、phpmyadmin
フォルダはxampp
インストールのルートフォルダにあります。 config.inc.php
ファイルでWord password
を検索します。そこにpassword
とusername
があります。
mySQLパスワードを変更/再設定するとき、上記の以下のコマンドは役に立ちませんでした。端末に入ってこれらのコマンドを使用するのは無意味であることがわかりました。代わりに、Sudoコマンドを使用してすべてを停止してください。それが助けるなら窓のためにシステム32を削除してください。
Mysqlの password()関数に関するドキュメント には、次のように記載されています。
この関数はMySQL 8.0.11で削除されました。
これはmysql v8.0.11以降に対する既存の回答のほとんどすべてを無効にします。
MySQLのドキュメントによると、rootのパスワードをリセットする 新しい一般的な方法 は次のとおりです。
前のセクションでは、特にWindowsとUnixおよびUnix風のシステム用のパスワード再設定手順を説明しました。あるいは、どのプラットフォームでも、mysqlクライアントを使用してパスワードをリセットできます(ただし、この方法は安全性が低くなります)。
必要に応じてMySQLサーバーを停止してから、--skip-grant-tablesオプションを使用して再起動します。これにより、誰もがパスワードなしですべての特権を使用して接続できるようになり、ALTER USERやSET PASSWORDなどのアカウント管理ステートメントが無効になります。これは安全ではないため、--skip-grant-tablesオプションを使用してサーバーを起動すると、リモート接続を防ぐために--skip-networkingが自動的に有効になります。
Mysqlクライアントを使用してMySQLサーバーに接続します。サーバーが--skip-grant-tablesで起動されたため、パスワードは必要ありません。
Shell> mysql
Mysqlクライアントで、アカウント管理ステートメントが機能するように付与テーブルをリロードするようにサーバーに指示します。
mysql> FLUSH PRIVILEGES;
次に、 'root' @ 'localhost'アカウントのパスワードを変更します。パスワードを使用したいパスワードに置き換えます。別のホスト名部分を持つルートアカウントのパスワードを変更するには、そのホスト名を使用するように指示を変更します。
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
これで、新しいパスワードを使用してrootとしてMySQLサーバに接続できるはずです。サーバーを停止し、通常どおりに再起動します(--skip-grant-tablesおよび--skip-networkingオプションを指定しないで)。
パスワードをリセットまたは変更するには、Sudo dpkg-reconfigure mysql-server-X.X
(XXはインストールしたmysqlのバージョン、すなわち5.6、5.7)を入力します。その後、新しいパスワードを設定する画面が表示され、次のステップでパスワードを確認してしばらくお待ちください。 。それでおしまい。
私はUbuntu 16.04.1 LTSでこのルートをたどらなければなりませんでした。それは上記の他の答えのいくつかの混在です - しかしそれらのどれも助けにはなりませんでした。私は1時間以上MySqlのWebサイトからSO上のすべてのものへの他のすべての提案を試してみました、私はついにそれがうまくいったのを手に入れました:
注:ユーザーrootのパスワードを入力してください。元のパスワードを持っていなかったので、使用する同じパスワードを入力しました新しいパスワードとして。
注:/var/log/mysqld.logのみ/var/log/mysql/error.logはありませんでした。
また、これは私にはうまくいきませんでした。Sudo dpkg-reconfigure mysql-server-5.7
またしなかった:Sudo dpkg-reconfigure --force mysql-server-5.5
MySQLサービスディレクトリを作成します。Sudo mkdir /var/run/mysqld
MySQLユーザにサービスディレクトリへの書き込み権限を与えます。Sudo chown mysql: /var/run/mysqld
それから:
/ usr/bin/mysql_secure_installationを実行します。
mysql_secure_installationからの出力
root @ myServer:〜#/ usr/bin/mysql_secure_installation
MySQLサーバー配備の保護.
ユーザーrootのパスワードを入力してください。
VALIDATE PASSWORD PLUGINを使用すると、パスワードをテストし、セキュリティを向上させることができます。これはパスワードの強度をチェックし、ユーザーが十分に安全なパスワードだけを設定できるようにします。 VALIDATE PASSWORDプラグインを設定しますか?
Yesの場合はy | Y、Noの場合はその他のキーを押します。no rootに既存のパスワードを使用します。 rootのパスワードを変更しますか? ((はいの場合はy | Y、いいえの場合は他のキーを押す):y
新しいパスワード:
新しいパスワードの再入力:デフォルトでは、MySQLのインストールには匿名ユーザーがいるため、ユーザーアカウントを作成しなくても誰でもMySQLにログインできます。これはテストを目的としており、インストールを少し滑らかにするためのものです。実稼働環境に移行する前にそれらを削除する必要があります。
匿名ユーザーを削除しますか? (はいの場合はy | Y、いいえの場合はその他のキーを押します):y成功。
通常、rootは 'localhost'からの接続のみを許可されるべきです。これにより、誰かがネットワークからのrootパスワードを推測できなくなります。
リモートでrootログインを許可しない(はいの場合はy | Y、いいえの場合はその他のキーを押します):y成功。
デフォルトでは、MySQLには誰でもアクセスできる 'test'という名前のデータベースが付属しています。これもテスト専用であり、運用環境に移行する前に削除する必要があります。
テストデータベースを削除してアクセスしますか? (はいの場合はy | Y、いいえの場合はその他のキーを押します):y
テストデータベースを削除しています...成功しました。
テストデータベースの権限を削除しています...成功しました。
特権テーブルを再ロードすると、それまでに行われたすべての変更がただちに有効になります。
特権テーブルを今すぐ再読み込みしますか? (はいの場合はy | Y、いいえの場合はその他のキーを押します):y成功。
全部できた!
MySQLのrootパスワードを変更します。もっと簡単に
これらのコマンドはすべてrootとして実行する必要があります。
古いパスワードを使用してMySQLコマンドラインツールを介してログインします。
ステップ-1
mysql -uroot -p"your_old_password"
その後、以下のコマンドを実行してください。
ステップ-2
SET PASSWORD FOR root@'localhost' = PASSWORD('your_new_password');
方法-2(上記のコマンドを使ってあなたの古いパスワードを使って最初のログイン)
現在のユーザーのパスワードを設定するこのコマンドを実行します。
SET PASSWORD = PASSWORD('your_new_password');
上記のコマンドは現在のユーザー用です。他のユーザーのパスワードを変更したい場合は、 "root"の代わりにユーザー名を入力できます。