Mariadbデータベースrootの変更パスワードでログイン

1436 ワード

MariaDBデータベース管理システムはMySQLの1つの分岐で、主にオープンソースコミュニティによって維持されており、GPLライセンスMariaDBを採用する目的はMySQLと完全に互換性があり、APIとコマンドラインを含め、簡単にMySQLの代替品になることができるようにすることです.
新しいMariadbのインストール中にパスワードを設定するプロセスはありません.mysql_secure_installationコマンドでRootパスワードを設定し、phpmyadminでログインしてAccess denied for user‘root’@‘localhost’を発見します.
コマンドラインではmysqlでデータベースにログインでき、パスワードは一切使用されませんが、他のmysql管理ツールでパスワードを使用すると、どうしてもAccess denied for user'root'@'localhost'にプロンプトが表示されます.検索してみると、私たちがインストールしたり操作したりするのではなく、Mariadbの5.2.0以降のバージョンではパスワード認証がデフォルトで使用されなくなり、Authentication Plugin-Unix Socketプラグイン認証に変更されました.具体的な参考https://mariadb.com/kb/en/library/authentication-plugin-unix-socket/service mysql statusを使用してmysqlサービスのステータスを確認すると、このような警告が表示されます.
[Warning] ‘user’ entry root@localhost’ has both a password and an authentication plugin specified. The password will be ignored.
つまりUnix Sockeプラグイン認証を使って直接パスワードを無視すると、自然にパスワードを使っても無効になります.
##解決方法
セキュリティを向上させるためですが、パスワード認証を使用してログインしなければならないところもあるので、パスワードとして検証する方法を変更します.コマンドラインにmysqlログインデータベースを直接入力します.次のコマンドを使用して変更します.
use mysql
\g update mysql.user set plugin='mysql_native_password' where User='root'
\g flush privileges
\q

データベースを再起動すると、直接mysqlはできないことがわかりました.mysql -u root -pを使用してログインし、mysql_secure_installationコマンドで変更したrootパスワードを入力するとログインできます.あなたはまだ問題を解決していないので、一緒にQ 957473256について議論してください.