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

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

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

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Heroku

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

MySQL

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

Q&A

1回答

1712閲覧

【Golang】heroku上でDBに接続できない

chokohint

総合スコア0

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Heroku

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

MySQL

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

0グッド

0クリップ

投稿2020/10/01 01:08

前提・実現したいこと

heroku上で,golangで作った認証機能付きの、
チャットサービスを動かしたいと思ってます。

新規登録機能を実装中に以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

2020/10/01 00:51:34 http: panic serving 10.45.155.176:21742: Error 1045: Access denied for user '/be8822a96e493c'@'ip-10-0-97-237.ec2.internal' (using password: YES)

該当のソースコード

Go

1http.HandleFunc("/signup_func", signup) 2 3//新規登録呼び出し 4func signup(w http.ResponseWriter, r *http.Request) { 5 log.Println("新規登録") 6 7 username := r.FormValue("username") 8 password := r.FormValue("password") 9 10 fmt.Println("username", username) 11 fmt.Println("password", password) 12 createUser(username, password) 13} 14 15// ユーザー登録処理 16func createUser(username string, password string) []error { 17 fmt.Println("---------->>>>>>>> start create user") 18 db := gormConnect() 19 defer db.Close() 20 // Insert処理 21 if err := db.Create(&User{Username: username, Password: password}).GetErrors(); err != nil { 22 return err 23 } 24 return nil 25 26}

補足情報(FW/ツールのバージョンなど)

windows 10 homeにubuntsuを入れています。
エディタは、vscodeです。

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

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

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

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

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

yoorwm

2020/10/01 01:20

> Access denied for user '/be8822a96e493c'@'ip-10-0-97-237.ec2.internal' (using password: YES) herokuの構成分からないけど、とりあえずこれが出ている、という事はMySQL側で'/be8822a96e493c'@'ip-10-0-97-237.ec2.internal'からの接続を拒否しているという事かと。 マニュアルの方に、データベースの権限関連についてなんかありませんでしたか?
yoorwm

2020/10/01 02:24

host名やパスワード等は、xxx.xxxxxxxx.com等、隠すようにしておいた方が良いです。 (どの辺から悪用されるか分からないので。場合によっては、このスレッド自体を削除依頼するなり、出来るならその環境のパスワード等を変更しておいた方が良いかもしれませんね。)
chokohint

2020/10/01 02:36

ありがとうございます、今削除リクエストをしましたm(__)m
guest

回答1

0

golangというかmysqlのエラーメッセージなのでheroku側の設定と見受けられます

https://teratail.com/questions/77692
https://teratail.com/questions/52803
https://ja.stackoverflow.com/questions/29887/mysql2error-access-denied-for-user-b00120fa21c0f6ip-10-139-25-93-ec2-inte

ユーザー名やアクセス権などDB側の設定を見直すのは如何でしょうか。
どういうDB設定をしたのかを追記すればherokuに詳しい方から回答を貰える期待ができます。

投稿2020/10/01 01:57

yasutakatou

総合スコア446

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

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

chokohint

2020/10/01 02:37 編集

なるほどです。ありがとうございます。 herokuの設定はこのようになっています。 --------------------------------------------------- heroku config --app gocat === gocat Config Vars CLEARDB_DATABASE_URL: mysql://+++++:*****@us-cdbr-east-02.cleardb.com/heroku_9bc10009dace868?reconnect=true DATABASE_URL: mysql2://root:*****@gocat.herokuapp.com/gocat?reconnect=true DB_HOSTNAME: gocat.herokuapp.com DB_NAME: gocat DB_PASSWORD: ***** DB_PORT: 3306 DB_USERNAME: root --------------------------------------------------- コードでのDBへの接続部分はこちらです。 DBMS := "mysql" URL := "/+++++:*****@tcp(us-cdbr-east-02.cleardb.com:3306)/heroku_9bc10009dace868?parseTime=true" db, err := gorm.Open(DBMS, URL) ---------------------------------------------------
yasutakatou

2020/10/01 03:52

herokuの経験が薄いので外してたらお手数ですみませんが https://qiita.com/murakami-mm/items/9587e21fc0ed57c803d0 こちらの記事を見る限りだとCLEARDB_DATABASE_URLとDATABASE_URLは先頭のmysql:部分以外は同じものを指定するように見受けられます。 (CLEARDB_DATABASE_URLが正のようです) あと変数URLの / から始まる部分が要らないように記事からは読めました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問