DB

docker上のrailsアプリケーションからローカル上のmysqlに接続できない問題

環境 dockerでrailsを起動 ローカルサーバーでmysqlを起動 問題 すでにrailsはdockerで起動済み railsアプリケーションにアクセスしようとするとdbの接続エラーが出てくる $ curl 0.0.0.0:3000/index Puma caught this error: Can't connect to MySQL server…

Docker上の既存DBにアクセスできない問題

問題 railsのアプリケーションから既存のデータベースへ接続したいのに接続できない。(app,db共にdocker上にある) 解決 アプリケーションとDBのdockerのネットワークが違うため。 ネットワークを同じにしなければいけない。 docker-composeファイルでネッ…

DBのマイグレーションが上手くいかない

問題 マイグレーションしようとしてもエラーが出る $ docker-compose -f ./migration-docker-compose.yml run liquibase migrate db db_migration.yaml [DEBUG] db_migration.yaml Unexpected error running Liquibase: Could not acquire change log lock. …

MySQL ユーザー作成・権限付与

rootでログイン mysql -uroot -ppassword 新たにユーザーを作成 create user {new_user} identified by '{password}'; 権限付与 権限付与の構文 grant 権限内容 on 権限対象DB to ユーザー identified by 'パスワード'; 権限内容 all privileges:GRANT(権…

リモートサーバーでmysqldumpしてローカルに転送する方法

リモートサーバーに接続 ssh centos@xx.xx.xx.xx // さらに違うサーバーに接続 ssh 02 mysqldump mysqldump -uユーザー名 -pパスワード db名 > sample.dump ローカルへ転送 一旦02サーバーを抜けて(exit)、02にあるダンプファイルを持ってくる scp 02:/home/…

docker上のmysqlのタームゾーン設定

mysqlに設定されているタームゾーンを確認。 show variables like '%time_zone%'; +------------------+--------+ | Variable_name | Value | +------------------+--------+ | system_time_zone | UTC | | time_zone | SYSTEM | +------------------+------…

LocalDateTimeをDBに保存できない

問題 LocalDateTime.now()を引数としてDBに保存しようとすると下記のエラーが吐かれる。 ERROR [2017-05-24 01:46:42,641] io.dropwizard.jersey.errors.LoggingExceptionMapper: Error handling a request: a16f2a5e900f29b6 ! com.mysql.jdbc.MysqlDataTru…

DB フィールド確認・追加・削除・変更

DB

フィールド確認 SHOW FIELDS FROM テーブル名 フィールド追加 ALTER TABLE テーブル名 ADD フィールド名 型 AFTER フィールド名 AFTER フィールド名で、どこにフィールドを追加するか決められる。 テーブルの先頭にフィールドを追加したい時は、FIRSTにする…

Behaviorとは

すべてのDBアクセスの処理を行うクラス。 一つのテーブルにつき、一つのBehaviorクラスがあり、DIコンポーネントとして利用される。

基本データ型・参照型

基本データ型(プリミティブ型) 8つある。 boolean true / false char 1文字 byte -128〜127 short -32768〜32767 int -2147483648〜2147483647 long 約-922京〜約922京 float 浮動小数点数 double 浮動小数点数 バイト数(メモリ使用領域)がそれぞれ決ま…

JPAとは

Java Persistent APIの略。 Javaのオブジェクト世界とDBの世界を直接的につなげて、両間で自動変換を行う仕組み。 標準O/Rマッピングフレームワーク。 特徴 JavaオブジェクトとDB・テーブルとの間の変換指定(マッピング指定)をアノテーションだけでできる…

SpringBoot DB接続 つまずき

エラーで、NullPointerExceptionが出てきた。 原因は、planRepositoryがnullだから。 @Autowiredでインジェクションされてない? 気づいたら、planRepositoryが@Autoworedになっていた!あらまぁ。 しかし、NullPointerExceptionのエラーは健在。 解決方法 P…

DIコンテナ・@Autowired・@Component

DIコンテナ DIとは「Dependency Injection」を省略したもの。意味は「依存性の注入」。 DIは、オブジェクト間の依存関係を作成する。 依存関係とは、クラス外でインスタンスを生成して、外から渡すこと。 DIコンテナとは、DIした時に、毎回依存性のあるもの…

SpringBoot DBの利用

pom.xmlに以下のコードを追加。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.apache.to…</groupid></dependency>

DB 日本語対応

データベースに日本語のデータを入れようとしたら、 打っても消えてしまってデータを挿入できなかった。。。 show variables like "chara%"; で、設定を見たら +--------------------------+----------------------------+ | Variable_name | Value | +-----…

Docker起動・SpringBoot起動・DBへ接続

以前書いたDockerの起動方法について。 Docker 起動方法 - プログラミングMEMO MariaDBにはいる - プログラミングMEMO 上の記事のまとめとプラスα。 dockerファイルへ移動。 cd spring-boot-jpa-sample cd infra/docker/ docker machineが動いてるか確認。 d…

laravelわからなかったところまとめメモ

(9) 初めてのLaravel 5.1 : (9) モデルの作成 – ララ帳 Q:articleの作成保存の「Articleクラスをnewすることで、メモリー上に新規のArticleインスタンスを作成」とは? A: コンピューターの構成要素 ・CPU=脳みそ ・メモリー=記憶 ・ハードディスク=ノ…

マイグレーション ロールバックできない

初めてのLaravel 5.1 : (31) Relationships – ララ帳にて、 php artisan migrate:refresh を実行しようとしても、 Fatal error: Class 'AddPublishedAtToArticlesTable' not found とエラーが出てきてしまいます。 AddPublishedAtToArticlesTableクラスはあ…

DB ユーザー作成、権限、パスワード追加

DB

ユーザー作成 CREATE USER ユーザー名; ユーザーの権限追加 GRANT ALL ON ユーザー名.* TO ユーザー名; 「ユーザー名にユーザ ー名のすべてにすべての権限を与える」という意味。 わかりにく笑 ユーザーにパスワード追加 SET PASSWORD FOR ユーザー名 = PASS…

MariaDBにはいる

docker run -it --link zeroone-mariadb:mysql --rm mariadb sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'

Docker 起動方法

docker-machine ls で、STATEがRunningになっていればOK。 なっていなかったら docker-machine start default(←NAME) 次に、ターミナルにこれからのコマンドはDockerに対するものだと教えるために eval $(docker-machine env) DockerMachineには入っている…

主キー(プライマリーキー)

DB

主キー(プライマリーキー)

DB 使ってみた(作成・挿入・変更・削除・取り出し)

DB

初めてのDB(作成・挿入・変更・削除・取り出し)