エラー1045(28000):ユーザー「root」@「localhost」へのアクセスが拒否されました(パスワードの使用:YES)。

エラー1045(28000):ユーザー「root」@「localhost」へのアクセスが拒否されました(パスワードの使用:YES)。

次を使用してCSVからmysqlにデータをコピーしようとしています。シェルスクリプト私は非常に新しいです。テストサーバーを使用しています。

mysql -u root -proot csv_imports -e "LOAD DATA INFILE '/var/www/html/$_csv_directory/$_csv_files' REPLACE INTO TABLE temp_test_data FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n'"

エラーが発生しました。

エラー1045(28000):ユーザー「root」@「localhost」へのアクセスが拒否されました(パスワードの使用:YES)。

localhostで作業していないのにエラーが発生するのはなぜですか?「ルート」@「ローカルホスト」

それから試しました。

mysql -h name-database-db-instance.something.some-server.com -P 3306 -u root -proot -e "LOAD DATA INFILE '/var/www/test.server.re/public_html/csv_files/$_csv_files' REPLACE INTO TABLE table_data FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n'"

これでエラーが発生します。

ユーザー "coded_db_user"@"%" へのアクセスが拒否されました (パスワードの使用: YES)。

ベストアンサー1

"localhost"に関する質問に答えるには、MySQLユーザーについて少し知っておく必要があります。

MySQLのユーザーは実際には2つの部分で構成されています。

  • ユーザー名
  • ネットワークの場所

したがって、ユーザーは'root'@'localhost'localhostからログインするためのルートログインを作成します。これまで理解できましたか?

ホストを指定しないと、MySQLクライアントはデフォルトでlocalhostで実行されているMySQLインスタンスに接続されているため、実際にこれらの現象が発生することがわかります。

したがって、MySQLサーバーの観点からは、ログイン試行はlocalhostのルートによって開始されます'root'@'localhost'

--passwordお客様のパスワードに関しては、クライアントの一部のバージョンでは、コマンドラインでパスワードを指定するときにnotを使用するように要求したことが記憶されています。-p

おすすめ記事