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

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

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

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Q&A

解決済

3回答

3191閲覧

herokuのClearDBにつながらない

atemu

総合スコア94

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

0グッド

0クリップ

投稿2016/10/25 14:49

今日の朝の間はしっかり動いていたLINE Messaging APIを利用したPHPプログラムが動かなくて、調べてみたところ、mysqlに接続できません。(PHP自体は大丈夫そうでした)
ERROR 1045(28000)とでるのですが、調べてみてもいまいち対処法が分からず・・・。
よろしくお願いします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

自己解決

clearDB側の問題だったのでおとなしく作り直しました

投稿2016/10/29 00:15

atemu

総合スコア94

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

herokuは使った事はありませんが、mysqlのerror 1045はユーザーのパスワードが間違っているとか、権限設定が適切無い為、接続できない時に出るエラーです。今朝まで正常に動作していて、PHPからmysqlへ接続する箇所が朝から変わり無いのであれば、mysqlのユーザーテーブルを書き換えてしまった?等の可能性もあるので、
・一度ターミナルから接続してみる
・ターミナルからの接続も無理であれば

mysql_safe --skip-grant-tables &

などを使用し、無理やり接続してユーザーテーブル設定仕直してみては?

ここなど参考に
http://qiita.com/dev-masaki/items/76946c76923f99b85f8e

投稿2016/10/25 15:03

hiim

総合スコア1689

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

atemu

2016/10/26 00:57

SELECTとINSERTしか使ってないんですけど、書き換わってしまったのでしょうか・・・。あと初心者で分からずすみません、mysql_safeとかの部分がよく分からないのでもう少し詳しく教えていただけるとありがたいです!
hiim

2016/10/26 01:21

通常の使い方をしていればmysqlに必要な情報が格納されているデータベース(mysqlという名のデータベース名)に接続してそのuserテーブル(各ユーザーのパスワードの有無やパスワード、権限等を保存しているテーブル)を書き換える事はまずありません。(経験上一度だけ人為的なミスで書き換わってしまい、mysql_safeを使って復旧した事はありますが。。) ですのであくまで 「PHPからmysqlへ接続する箇所が朝から変わり無いのであれば」 という前起きをしたのですが、これは 朝はつながっていた = 正常にユーザー・パスワードが送られ権限にも問題ないので接続できていたという意味なので、php側に変更がないのであれば次はデータベース側という事になります。 ですので次はターミナルでmysqlで接続を試みていただき、その際 mysql -u [username] -p [retuen] mysql > [password] としusername、passwordの組み合わせもあっているはずなのにそれでも繋がらない(同様のエラーが出る場合)の解決方法としてmysql_safeを回答させていただきました。 まずmysqlを停止し、 mysql_safe --skip-grant-tables & で特殊なモードで起動 --skip-grant-tablesは権限設定等も無視して強制的に接続できるようにするコマンドですのでこれでパスワード等なしでも接続できるようになります。(語弊があるかもしれませんが、これはいわばwindowsでいうsafemodeみたいなモードですのでこの状態で運用はできません、あくまで権限やパスワード問題を解決したら停止し、通常起動しないといけません) このモード接続後冒頭でお話したmysqlデータベースのuserテーブルを再設定すれば希望の権限、パスワードのリセットができるかと思います。 このあたりも参考になるかと。。。 http://takuya-1st.hatenablog.jp/entry/20100824/1282636546 ただし、本当に最初の前提、php側が今朝から変更がない等、プログラム側に問題が無い事を確実にしてからお試しください。
atemu

2016/10/26 01:24

すみません、自分の技量が乏しくて理解が出来ないのですが、mysql -u ~~~ -h ~~~ -pとやってパスワードを入力しても接続できないのに、管理者権限とかって編集できるのでしょうか・・・?どのようにすればいいのでしょうか、色々聞いてしまってすみません!よろしくお願いします。
hiim

2016/10/26 01:29

mysql -u ~~~ -h ~~~ -pで接続できない時の方法となります。 まず service mysqld stop や /etc/init.d/mysqld stop などでmysqlを停止します。 次に mysql_safe --skip-grant-tables & コマンドを実行すればmysqlがsafemodeで開始されます。 このモードで起動しているmysqlにはパスワード無しでも接続ができるはずです。 さきほどのURL http://takuya-1st.hatenablog.jp/entry/20100824/1282636546 を参考にしてください。
hiim

2016/10/26 01:32

追記 --skip-grant-tables は名前の通り grantのtable つまり、ユーザーやユーザーパスワード、権限が設定してあるテーブルをスキップして、、、という意味のオプションになります
hiim

2016/10/26 01:58

herokuを使った事がなかったので、単なるクラウドサービスかと思っていましたが、先ほどからclearDBについて軽く調べているともしかして、mysqlのプロセスの実行権限のあるユーザーで接続する事ができない?仕様なのでしょうか? もしそうであれば上記のmysql−safe等が使えないかもしれません。もしそうなら申し訳ございません。 その場合ここ http://blog.a-way-out.net/blog/2014/12/11/heroku-php-mysql/http://qiita.com/fukumone/items/b8934f78f841b19edbbe を読んでいると heroku config でDBへの接続情報が取得できるようですので その情報でmysqlへ接続できるか?またphpで接続されている際もその接続情報が使われているか?を確認する方が先かもしれません。
atemu

2016/10/26 03:42

heroku configで調べてそれで接続を試みたのですが、駄目そうでした・・・。 最初の間はmysql -u ~~~ -h ~~~ -pで接続することが出来ましたが、今は出来ません・・・。 また技量が乏しく申し訳ないです、mysql_safe --skip-grant-tablesとかservice mysql stopとかってどこで叩くんでしょうか? あと、ご丁寧に返信本当にありがとうございます!!
hiim

2016/10/26 04:11

上記方法でSSH接続後、mysqlを停止する権限がない、かつsudoをつけて実行する為のrootパスワードがわからないという事でしたら、 mysql_safeの線は諦めてください。 またその権限がないのであればmysqlデータベースのuserテーブルを誤って書き換える権限もまずお持ちでないという事になりますので、その場合は heroku configで取得できる、 ホスト ユーザー パスワード を使ってコマンドで接続できるようにする事が解決の糸口になるような気がします。 > 最初の間はmysql -u ~~~ -h ~~~ -pで接続することが出来ましたが、今は出来ません・・・。 今はできませんとありますが、その時吐かれるエラーメッセージもERROR 1045(28000)ですか? もし差し支えなければ heroku configの出力結果 実行しているmysql -u ~~~ -h ~~~ -pのコマンド のホスト、ユーザー名、パスワードを”一部伏せた形”で良いの載せられますか? 乗せる時に質問に追記で 試した事というヘッダをつけて 書くとわかり易いです。
atemu

2016/10/29 00:15

clearDBからメールが来ました!どうやらインシデントがあったそうで、自分がその影響の一人だったそうです。おとなしく作り直しました・・・笑 ありがとうございました!
guest

0

http://mysql.deikou.com/pages/000060.html

このエラーはパスワードが設定されているユーザーを使用して
MySQL サーバに接続する際に、パスワードを送信しなかった場合にこのエラーが表示されます。

投稿2016/10/25 15:00

akio221

総合スコア716

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問