質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.02%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

RubyGems

RubyGemsはRubyによるプログラミングのためのパッケージマネジメントツールです。ユーザはこれを使用することで、Rubyライブラリのダウンロードやアップデートや、依存関係の自動解決が可能になります。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

Q&A

解決済

Could not open file '/var/log/mysql/mysqld.log' を解決することができない

KENT1004
KENT1004

総合スコア77

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

RubyGems

RubyGemsはRubyによるプログラミングのためのパッケージマネジメントツールです。ユーザはこれを使用することで、Rubyライブラリのダウンロードやアップデートや、依存関係の自動解決が可能になります。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

3回答

0グッド

0クリップ

2238閲覧

投稿2022/04/08 06:23

編集2022/04/08 10:27

現在EC2上でDBを作成しようとしていますがユーザに関するエラーが発生しています。

[ec2-user@ip-XX myapp]$ rails db:create RAILS_ENV=production Access denied for user 'root'@'localhost' (using password: YES) Couldn't create 'webapp_development' database. Please check your configuration. rails aborted! Mysql2::Error::: Access denied for user 'root'@'localhost' (using password: YES) /var/www/myapp/bin/rails:9:in `<top (required)>' /var/www/myapp/bin/spring:15:in `<top (required)>' bin/rails:3:in `load' bin/rails:3:in `<main>' Tasks: TOP => db:create (See full trace by running task with --trace)

調査したところ以下からmysqlへログインができるのでユーザ権限に関するエラーだと推測しています。

mysql> show grants for root@localhost; +---------------------------------------------------------------------+ | Grants for root@localhost | +---------------------------------------------------------------------+ | GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION | | GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION | +---------------------------------------------------------------------+ 2 rows in set (0.00 sec)

そこで以下のコマンドでユーザの権限設定をしている時ですが
mysqld.logが開けないエラーに遭遇しています。
ただこのlogファイルは作成済みですし、直ではmysqld.logの中身を確認できるのでどうすればいいのかわかっていません。

[ec2-user@ip-XX myapp]$ mysqld --skip-grant-tables 2022-04-08T05:49:43.105276Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2022-04-08T05:49:43.105400Z 0 [Warning] Can't create test file /var/lib/mysql/ip-XX-X-XX-XX.lower-test 2022-04-08T05:49:43.105437Z 0 [Note] mysqld (mysqld 5.7.37) starting as process 21830 ... 2022-04-08T05:49:43.108425Z 0 [Warning] Can't create test file /var/lib/mysql/ip-XX-X-XX-XX.lower-test 2022-04-08T05:49:43.108441Z 0 [Warning] Can't create test file /var/lib/mysql/ip-XX-X-XX-XX.lower-test 2022-04-08T05:49:43.108659Z 0 [ERROR] Could not open file '/var/log/mysql/mysqld.log' for error logging: Permission denied 2022-04-08T05:49:43.108682Z 0 [ERROR] Aborting 2022-04-08T05:49:43.108697Z 0 [Note] Binlog end 2022-04-08T05:49:43.108800Z 0 [Note] mysqld: Shutdown complete

対処法についてご教授宜しくお願いします。

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

2022/04/08 07:07依頼された後にこの質問は修正されています

こちらの質問が他のユーザーから「プログラミングに関係のない質問」という指摘を受けました。

回答3

1

/var/log/mysql/mysqld.logをrootユーザーで作成してしまったのではないでしょうか?

大抵のOSではmysqlはmysqlユーザーで実行されるので/var/log/mysql/mysqld.logのOwnerがrootユーザーになっていると書き込むことができません(Permission deniedになる)。

なので、

(1)ls -al /var/log/mysql/mysqld.logでファイルのOwnerを調べる
(2)psなどでMySQLの実行ユーザーを調べる
(3)ファイルのOwnerがMySQLの実行ユーザーでない場合はchown MySQL実行ユーザー /var/log/mysql/mysqld.logなどでOwnerを変更する

と言った手順が必要になると思います。

投稿2022/04/09 03:40

madoka-t

総合スコア376

KENT1004👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

1

質問の前半を読んでませんが、

Could not open file '/var/log/mysql/mysqld.log' for error logging: Permission denied

は、書き込み権限がないのでしょう。読めるかどうかは関係ないです。

投稿2022/04/08 13:01

otn

総合スコア80435

KENT1004👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

0

自己解決

回答ありがとうございました。アドバイスを参考に試行錯誤していましたがmysqlをアップデートして解決されている情報を知り、試したら解決しました。バージョンによる挙動の向き不向きとかを把握するのは難しいですね。アップデートも策の1つとして取り入れます。

投稿2022/04/10 09:01

KENT1004

総合スコア77

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.02%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

RubyGems

RubyGemsはRubyによるプログラミングのためのパッケージマネジメントツールです。ユーザはこれを使用することで、Rubyライブラリのダウンロードやアップデートや、依存関係の自動解決が可能になります。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。