ubuntuサーバーでMySQLルートパスワードとユーザー名を変更するにはどうすればよいですか?変更を設定する前にmysqlサービスを停止する必要がありますか?
phpmyadminもセットアップしていますが、phpmyadminは自動的に更新されますか?
ubuntuサーバーでMySQLルートパスワードとユーザー名を変更するにはどうすればよいですか?変更を設定する前にmysqlサービスを停止する必要がありますか?
phpmyadminもセットアップしていますが、phpmyadminは自動的に更新されますか?
回答:
Ubuntu LinuxでMySQLルートパスワードを設定/変更/リセットします。端末に次の行を入力します。
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
sudo service mysql start
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';
注:この方法は、パスワードをリセットする最も安全な方法とは見なされていませんが、機能します。
参照:
sudo killall -9 mysqld
ます。その後、sudo service mysql start
通常のデーモン...再起動します
mkdir /var/run/mysqld
とchown mysql: /var/run/mysqld
、ステップ1と2の間
私のために働いた唯一の方法はここで説明されているものです(私はubuntu 14.04を実行しています)。明確にするために、これらは私が従ったステップです:
sudo vim /etc/mysql/my.cnf
最後に次の行を追加します。
[mysqld] スキップ許可表
sudo service mysql restart
mysql -u root
use mysql
select * from mysql.user where user = 'root';
-上部を見て、password列が
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/en/resetting-permissions.html
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.html https://help.ubuntu.com/14.04/serverguide/mysql.html
Ver 14.14 Distrib 5.5.38, for debian-linux-gnu
sudo dpkg-reconfigure mysql-server-5.0
sudo dpkg-reconfigure mysql-server-5.7; sudo mysql_secure_installation
私のために働いたもの(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
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 18.04とmysql 5.7で問題に直面しました、これが解決策です
コマンドを実行する前にmysql-serverを再起動してみてください
sudo service mysql restart
MYSQL-SERVER> = 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-SERVER <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;
MYSQL-SERVER >= 5.7
バージョンは、問題を実際に解決した唯一のものでした
MYSQL-SERVER >= 5.7
正確にはバージョン。
MySQLのrootパスワードを変更します。
このメソッドはコマンドライン履歴にパスワードを公開します。これらのコマンドはrootとして実行する必要があります。
mysqlコマンドラインツールからログインします。
mysql -uroot -poldpassword
次のコマンドを実行します。
SET PASSWORD FOR root@'localhost' = PASSWORD('newpassword');
または
次のコマンドを実行して、現在のユーザー(この場合は「root」)のパスワードを設定します。
SET PASSWORD = PASSWORD( 'newpassword');
最初にこのコマンドを実行します:
sudo mysql
次に、MySQLユーザーアカウントのどの認証方法を使用するかを確認する必要があるため、次のコマンドを実行します。
SELECT user,authentication_string,plugin,host FROM mysql.user;
今、あなたはすでにこのようなものを見ることができます:
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | | auth_socket | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
上記の表では、すべてのmysqlユーザーアカウントのステータスと、mysql_native_password
代わりにプラグイン列に表示される前にrootアカウントのパスワードを設定したことがわかりますauth_socket
。結局のところ、実行する必要があるrootパスワードを変更するには:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
パスワードは、選択した強力なパスワードに変更してください。次に、サーバーをリロードして新しい変更を有効にするには、これを実行します。
FLUSH PRIVILEGES;
もう一度、次のコマンドで、mysqlで使用されている認証方法を確認してください。
SELECT user,authentication_string,plugin,host FROM mysql.user;
そして今、出力は:
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | *3636DACC8616D997782ADD0839F92C1571D6D78F | mysql_native_password | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
あなたが助成金の表に見ることができるようにあなたのrootアカウントを持っていますmysql_native_password
。これでMYSQLシェルを終了できます
exit;
それだけです。mysqlをで再起動する必要がありますsudo service mysql restart
。これで、mysqlにrootアカウントとしてパスワードで簡単にログインできます。
MySQLルートパスワードを変更する場合は、ターミナルで次のように入力します。
sudo dpkg-reconfigure mysql-server-5.5
MySQLデーモンが停止し、新しいパスワードの入力を求められます。
sudo dpkg-reconfigure mysql-server-5.7
Ubuntu 16.04で実行しましたが、新しいパスワードの入力を求められませんでした。
mysql-server is broken or not fully installed
、一つは使用することができますsudo apt purge mysql*
とsudo apt install mysql-server
これは、私が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 sudoサービスmysql stopを停止します
MySQLサービスディレクトリを作成します。 sudo mkdir / var / run / mysqld
MySQLユーザーにサービスディレクトリへの書き込み権限を付与します。 sudo chown mysql:/ var / run / mysqld
権限チェックやネットワーキングなしで、MySQLを手動で起動します。 sudo mysqld_safe --skip-grant-tables --skip-networking&
5.パスワードなしでログインします。 mysql -uroot mysql
6. rootユーザーのパスワードを更新します。
UPDATE mysql.user SET authentication_string = PASSWORD( 'YOURNEWPASSWORD')、plugin = 'mysql_native_password' WHERE User = 'root' AND Host = '%'; 出口;
MySQLをオフにします。 sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown
MySQLサービスを通常どおり開始します。 sudoサービスmysql start
UPDATE mysql.user SET authentication_string=PASSWORD('solutionclub3@*^G'), plugin='mysql_native_password' WHERE User='root';
なしAND Host='%'
。ありがとう!
このソリューションは、MySQLの以前のバージョンに属しています。ソケット認証を使用してMySQLにログインすると、それを行うことができます。
sudo mysql -u root
その後、次のコマンドを実行できます。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
詳細はこちら。
sudo mysql -u root
ことができました。sudo mysql
ALTER USER
これが私の解決策です。私は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';
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
今お楽しみください
rogerdpackのコメントをエコーする:MySQLのルートパスワードがわからず、MySQLのデータ/設定を気にしない場合は、次のように再インストールしてルートのパスワードをリセットできます。
sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo rm -rf /var/lib/mysql
sudo apt-get install -y mysql-server mysql-client
インストール中に、ルートのパスワードを選択できます。
現在のパスワードがわかっている場合は、mysqlサーバーを停止する必要はありません。ubuntuターミナルを開きます。以下を使用してmysqlにログインします。
mysql - username -p
次に、パスワードを入力します。これにより、mysqlコンソールに移動します。コンソール内で、次のように入力します。
> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
次に、以下を使用して特権をフラッシュします。
> flush privileges;
その後、すべて完了です。
PASSWORD()
パスワードを変更したいシステムでMySQLを使用すると、MySQLログにクリアテキスト[ ソース ] でパスワードが表示される可能性があります。それら、そのバックアップなどをパスワードと同じくらい安全に保つことは私にとって悪夢のように聞こえるので、私は次のようにそれをしたいです:
あなたにはローカルマシン、パスワードでこれを実行します。
mysql -u someuser -p < <(echo "SELECT PASSWORD('mypass');")
bashの履歴に表示されないように、前のスペースに注意してください(Ubuntu以外のディストリビューションの場合、これは異なる動作をする可能性があります– ソース)。
サーバーマシンで次のコマンドを実行して、MySQLルートパスワードを変更します(myhash
最初のコマンドで出力されたパスワードのハッシュに置き換えます)。
mysql -u root -p < <(echo "SET PASSWORD FOR root@localhost = 'myhash';")
オプションで、少し偏執狂になってみましょう。ローカルマシンで、ターミナル画面をクリアしclear
て仮想ターミナルのスクロールバックを消去し、上記のコマンドに表示されるクリアテキストのパスワードを非表示にします。
「ルート」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 -u root -p
次に、mysql>
プロンプトとして現在のユーザーのパスワードを変更します。
mysql> set password=password('the_new_password');
mysql> flush privileges;
このトピックに関する回答のほとんどは古くなっています。この回答を書くまで、MySQLには2つの大きな変更がありました。
1-ユーザーテーブルの「パスワード」フィールドは「authentication_string」列に置き換えられました。
2-「パスワード」暗号化機能:PASSWORD( "of some text")は非推奨です。
詳細については、このリンクを参照してください:dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html
phpmyadmin
パスワードまたはユーザー名を指定せずに接続するように設定している場合、パスワードをリセットする代わりにローカルマシンで回避策があります。起動することによって、このアウトをチェックしmysql
、apache
私がしているなどxampp
、私のローカルマシンにインストールされています。したがって、xamppを開始すると、必要なサービスがすべて開始されます。次にhttp://localhost/phpmyadmin
、すべてのデータベースを表示します。これは、phpmyadmin
インストール場所にあるphpmyadminの設定ファイルにユーザー名とパスワードを保存したことを確認します。xampp
インストールした場合phpmyadmin
、フォルダはxampp
インストールのルートフォルダにあります。ファイル内の単語password
を検索しconfig.inc.php
ます。あなたはそこでしょうpassword
とusername
。
mysql 5.6の場合、このコマンドは機能し、ウィザードを使用してパスワードを設定できます。
sudo dpkg-reconfigure mysql-server-5.6
mysql 5.7 rootパスワードをリセットするには、次のいくつかの手順を試すことができます。
Mysqlサービスを最初に停止
sudo /etc/init.d/mysql stop
パスワードなしでルートとしてログイン
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サーバーを再起動した後も引き続きエラーが発生する場合は、次のURLにアクセスする必要があり ます。MySQL 5.7ルートパスワードのリセットUbuntu 16.04
MySQLパスワードの設定
sudo /etc/init.d/mysql stop
sudo mkdir / var / run / mysqld /
sudo chown mysql / var / run / mysqld /
sudo 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/
MySQLパスワードを変更/リセットする場合、上記の次のコマンドは役に立ちませんでした。端末に入ってこれらのコマンドを使用しても意味がないことがわかりました。代わりに、コマンドsudo stop allを使用してください。それが役立つ場合は、Windowsのシステム32を削除します。
ubuntu
WindowsではなくOS についてです。Windows用のDELETE SYSTEM 32とはどういう意味ですか?
私はこのルートをUbuntu 16.04.1 LTSで実行する必要がありました。これは、上記の他の回答のいくつかを組み合わせたものですが、どれも役に立ちませんでした。MySql Webサイトから他のすべての提案を1時間以上かけてSOのすべてのものに試してみましたが、ようやく動作しました。
注:ユーザーrootのEnter passwordが表示されていましたが、元のパスワードを持っていなかったため、同じパスワードを入力しました新しいパスワードとして使用されます。
注: /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プラグインをセットアップしますか?
[はい]の場合はy | Y、[いいえ]の場合はその他のキーを押します:いいえrootに既存のパスワードを使用します。rootのパスワードを変更しますか?((はいの場合はy | Y、いいえの場合はその他のキーを押します):y
新しいパスワード:
新しいパスワードの再入力:デフォルトでは、MySQLのインストールには匿名ユーザーがあり、ユーザーアカウントを作成しなくても、誰でもMySQLにログインできます。これはテストのみを目的としており、インストールを少しスムーズにするためのものです。本番環境に移行する前に削除する必要があります。
匿名ユーザーを削除しますか?(はいの場合はy | Y、いいえの場合はその他のキーを押します):y成功。
通常、ルートは「localhost」からの接続のみを許可されるべきです。これにより、誰かがネットワークからrootパスワードを推測できないようになります。
リモートでrootログインを禁止しますか?(はいの場合はy | Y、いいえの場合はその他のキーを押します):y成功。
MySQLにはデフォルトで、誰でもアクセスできる「test」という名前のデータベースが付属しています。これもテストのみを目的としており、実稼働環境に移行する前に削除する必要があります。
テストデータベースを削除してアクセスしますか?(はいの場合はy | Y、いいえの場合はその他のキーを押します):y
テストデータベースを削除しています...成功しました。
テストデータベースの権限を削除しています...成功しました。
特権テーブルを再ロードすると、これまでに行ったすべての変更がすぐに有効になります。
特権テーブルをリロードしますか?(はいの場合はy | Y、いいえの場合はその他のキーを押します):y成功。
すべて完了!