GNU/Linux >> Linux の 問題 >  >> Linux

MySQL 5.7 のデフォルトの root パスワードは何ですか?

MySQL 5.7 ではセキュア モデルが変更されました。現在、MySQL ルート ログインには sudo が必要です

最も簡単な (そして最も安全な) 解決策は、新しいユーザーを作成し、必要な権限を付与することです。

<強い>1. mysql に接続

sudo mysql --user=root mysql

<強い>2. phpMyAdmin のユーザーを作成

CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

参照 - https://askubuntu.com/questions/763336/cannot-enter-phpmyadmin-as-root-mysql-5-7


私の新しい Linux Mint 19 には、デフォルトで MySQL サーバー 5.7 が既にインストールされています。

しかし、MySQL root は何ですか? パスワード?

デフォルトのインストールでは auth_socket を使用します パスワードの代わりに認証用に!

同じユーザー名で Linux システムにログインしている場合は、パスワードなしでログインできます。 MySQL ルート user としてログインするには 、sudo を使用できます:

sudo mysql --user=root

しかし、ルートパスワードを変更するにはどうすればよいでしょうか?何が起こっているかを説明するために、次の権限を持つ新しいユーザー「me」を作成しました:

mysql> CREATE USER 'me'@'localhost' IDENTIFIED BY 'my_new_password';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'me'@'localhost' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

「私」と「ルート」の比較:

mysql> SELECT user, plugin, HEX(authentication_string)  FROM mysql.user WHERE user = 'me' or user = 'root';
+------+-----------------------+----------------------------------------------------------------------------+
| user | plugin                | HEX(authentication_string)                                                 |
+------+-----------------------+----------------------------------------------------------------------------+
| root | auth_socket           |                                                                            |
| me   | mysql_native_password | 2A393846353030304545453239394634323734333139354241344642413245373537313... |
+------+-----------------------+----------------------------------------------------------------------------+

auth_socket を使用しているため、root パスワードは変更できません:SET PASSWORD コマンドが失敗し、mysql_secure_installation 何も達成できません...

==> この代替認証モードを消去して MySQL root を返すには ユーザーがパスワードを使用するには:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'SOME_NEW_ROOT_PASSWORD';

良い説明です。

詳細は MySQL マニュアルを参照してください。


mysql を再インストールするか、

mysqld_safe --skip-grant-tables

および/または

UPDATE mysql.user SET Password=PASSWORD('password')

および/または他の何か...

...どれもうまくいきませんでした

Ubuntu 18.04 でうまくいったことを上から順に説明します

これに対する欲求不満から私を掘り下げてくれたこの回答に特別な功績があります...

$ sudo apt install mysql-server
$ sudo cat /etc/mysql/debian.cnf

次の行に注意してください:

user     = debian-sys-maint
password = blahblahblah

次に:

$ mysql -u debian-sys-maint -p
Enter password: // type 'blahblahblah', ie. password from debian.cnf

mysql> USE mysql
mysql> SELECT User, Host, plugin FROM mysql.user;
+------------------+-----------+-----------------------+
| User             | Host      | plugin                |
+------------------+-----------+-----------------------+
| root             | localhost | auth_socket           |
| mysql.session    | localhost | mysql_native_password |
| mysql.sys        | localhost | mysql_native_password |
| debian-sys-maint | localhost | mysql_native_password |
+------------------+-----------+-----------------------+
4 rows in set (0.00 sec)

mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> COMMIT;  // When you don't have auto-commit switched on

次のいずれか:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

または:

// For MySQL 5.7+
UPDATE mysql.user SET authentication_string=PASSWORD('new_password') where user='root';

次に:

mysql> FLUSH PRIVILEGES;
mysql> COMMIT;  // When you don't have auto-commit switched on
mysql> EXIT

$ sudo service mysql restart
$ mysql -u root -p
Enter password: // Yay! 'new_password' now works!

Linux に MySQL-community-server 5.7 をフレッシュからインストールした後、root としてログインするには、/var/log/mysqld.log から一時パスワードを見つける必要があります。

<オール>
  • grep 'temporary password' /var/log/mysqld.log
  • mysql_secure_installation を実行 新しいパスワードを変更する
  • 参照:http://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html


    Linux
    1. MySQLルートパスワードをリセットする方法は?

    2. mysql ルート パスワードを変更する方法

    3. 画面のデフォルトのパスワードは何ですか?

    1. rmdir(1) と rm(1) が共存する理由は何ですか?

    2. 「影」グループは何に使用されますか?

    3. `hostname` のデフォルトのファイルは何ですか?

    1. 初心者に最適なLinuxディストリビューションは何ですか?

    2. MySQLサーバーの5つの最高の無料代替品

    3. auditd ログの syslog 機能とは何ですか?