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

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

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

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

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

Q&A

解決済

1回答

672閲覧

MySQLへ接続するとエラーが出てしまう

hatenahatena

総合スコア12

MySQL

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

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

1グッド

1クリップ

投稿2018/07/16 15:09

編集2018/07/17 11:17

以前は正しくMySQLへの接続ができていました。
しかし新しくデータベースを作成した後にEclipseで動的webプロジェクトを実行し、
MySQLへアクセスしようとすると以下のようなエラーが出てしまいます。

java.sql.SQLException: null, message from server: "Host 'localhost' is not allowed to connect to this MySQL server"

以下2つは試しましたが解決できませんでした。
・my.cnfのポート番号を3306から3308へ変更
・Eclipseの再インストール

環境
MacBook Air High Sierra 10.13.4
tomcat 8.5.31
Eclipse Photon 4.8.0
MySQL 8.0.11

以下、該当コードとエラー内容です。
DbUtility.java

Java

1package jp.co.db; 2 3import java.sql.Connection; 4import java.sql.DriverManager; 5import java.sql.SQLException; 6 7public class DbUtil { 8 public static Connection dbConnect() throws SQLException, ClassNotFoundException { 9 10 Class.forName("com.mysql.jdbc.Driver"); 11 // Connectionの生成 12 Connection con = DriverManager.getConnection( 13 "jdbc:mysql://localhost:3306/mysql?serverTimezone=UTC" // データベース 14 , "achm" // ユーザ 15 , "nia" // パスワード 16 ); 17 System.out.println(con); 18 return con; 19 20 } 21 22 public static void dbClose(Connection con) throws SQLException{ 23 con.close(); 24 } 25 26 } 27

Error

1java.sql.SQLException: null, message from server: "Host 'localhost' is not allowed to connect to this MySQL server" 2 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965) 3 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898) 4 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887) 5 at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1038) 6 at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2190) 7 at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2221) 8 at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2016) 9 at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:776) 10 at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47) 11 at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 12 at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 13 at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 14 at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:488) 15 at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) 16 at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:386) 17 at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330) 18 at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:678) 19 at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:229) 20 at jp.co.db.DbUtil.dbConnect(DbUtil.java:12) 21 at jp.co.ClientLogin.clientLogin(ClientLogin.java:18) 22 at jp.co.ClientLoginServlet.doPost(ClientLoginServlet.java:32) 23 at javax.servlet.http.HttpServlet.service(HttpServlet.java:661) 24 at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) 25 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) 26 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 27 at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 28 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 29 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 30 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) 31 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) 32 at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496) 33 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) 34 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) 35 at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650) 36 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) 37 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) 38 at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803) 39 at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) 40 at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790) 41 at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1468) 42 at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 43 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 44 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 45 at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 46 at java.base/java.lang.Thread.run(Thread.java:844)
A-pZ👍を押しています

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

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

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

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

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

m.ts10806

2018/07/16 21:33

念のため該当のコードとテーブルの定義などもご提示ください。エラーからわかることもありますので、エラー内容でも調べてみてください。
t_obara

2018/07/17 01:54

エラー内容でググって見て、そこで出てくる解決方法も試してみて、その結果を追記いただくとよろしいかと思います。mysqlでは、この手の問題ではgrant関係が常に付き纏うようです。
hatenahatena

2018/07/17 10:12

MasahikoHirataさん、ご回答いただきありがとうございます。ご提示いただいたURLへアクセスをしましたが正しくインストールされましたと表示されております。
hatenahatena

2018/07/17 11:20

mts10806さん ご回答いただきありがとうございます。エラーと該当コードを追加しました。テーブル定義も追加しようとしたのですが、新たなエラーが発生したため追加できません。
m.ts10806

2018/07/17 11:29

ちょっと意味が分かりません。質問内容の文字数オーバーでしょうか。どのテーブルのどのカラムがどのような設定、というのが分かれば良いのですが。 >テーブル定義も追加しようとしたのですが、新たなエラーが発生したため追加できません。
hatenahatena

2018/07/17 12:45 編集

mts10806さん CREATE TABLE client_table( client_id INT AUTO_INCREMENT PRIMARY KEY, client_mail VARCHAR(200) NOT NULL UNIQUE, client_pass VARBINARY(200) NOT NULL ) AUTO_INCREMENT = 10000001;       CREATE TABLE manager_table( manager_id INT AUTO_INCREMENT PRIMARY KEY, manager_mail VARCHAR(200) NOT NULL UNIQUE, manager_pass VARBINARY(200) NOT NULL ) AUTO_INCREMENT = 10000001;       CREATE TABLE user_table( user_id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, mail VARCHAR(200) NOT NULL UNIQUE, pass VARBINARY(200) NOT NULL, delflg BOOLEAN NOT NULL DEFAULT false, sex BOOLEAN NOT NULL, birthday DATE, occupation INT ) AUTO_INCREMENT = 10000001;       こちらです。
guest

回答1

0

ベストアンサー

first reverse your change then handle exception and then connect database
or
try test connection first

投稿2018/07/16 17:47

AliHassan

総合スコア351

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

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

hatenahatena

2018/07/17 10:05

AliHassanさん ご回答いただきありがとうございます!試してみます。
AliHassan

2018/07/17 16:29

please write in english, i don't understand
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問