解決策: 1. データベースにログインした後、「select host, user from user;」ステートメントを使用してユーザーと権限をクエリします。 2. 「grant select、update、insert、delete on mas.」を使用します。 * "password" で識別される新しいユーザー @localhost を作成するには;" ステートメントは、通常の権限を持つユーザーを追加し、mysql データベースに再度ログインします。
このチュートリアルの動作環境: linux7.3 システム、mysql8.0.22 バージョン、Dell G3 コンピューター。
Linux を使用して mysql データベースに接続し始めたときに、1045 エラーが発生しました。この問題が発生した場合は、ユーザーがデータベースによってアクセスを拒否されているため、データベースに対するアクセス許可を開く必要があります。
1. データベースのユーザー権限をクエリします
データベースにログインして Linux コマンドを入力します
mysql -uroot -padmin
データベースにログインして、ユーザー名とパスワードを入力してください
データベースを使用して権限をクエリします
mysql> use mysql;
mysql> select host,user from user;
ユーザーと権限をクエリできます
2 mysql サーバーをリモートにしたい場合は、通常の権限を追加する必要があります。 user
mysql> grant select,update,insert,delete on mas.* to root@localhost identified by "admin";
grant select,update,insert,delete on mas.* で、「パスワード」で識別される新しい user@localhost を作成します。 ";
このコマンドの意味は次のとおりです。新しいユーザー root を作成し、このユーザーにローカル (localhost) でのログインのみを許可します。パスワードは admin で、それに select、update、そして、mas データベース内のすべてのテーブルに対する権限を挿入します。ここには mas ライブラリがあるため、mas.* は mas ライブラリ内のすべてのテーブルを表します。これで、root ユーザーは mysql にログインできるようになりますが、まだローカルでしかログインできません。
root ユーザーがリモートから mysql にログインできるようにするには、次のコマンドが必要です:
mysql> update user set host = '%' where user = 'root';
ユーザーに直接アクセス許可を与えることもできます
grantすべて *.* に対して、「パスワード」によって識別されるユーザー名 @ "%" へ;
##フラッシュ権限; リフレッシュ権限
推奨学習:以上がLinuxでmysqlの1045エラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。