【phpmig】【MySQL】マイグレーション時に文字化けする時の修正方法

スポンサードリンク

ポイント

  • PDO をインスタンス化する際に、文字コードを指定する。
  • PHP バージョンによって指定方法が異なることに注意

環境

  • PHP 5.3.3 (cli) (built: Aug 11 2016 20:33:53)
  • mysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1

“【phpmig】【MySQL】マイグレーション時に文字化けする時の修正方法”の続きを読む

【PHP】phpmig で MySQL のマイグレーションをするまでの導入手順

ポイント

  • Pimple もインストールすること。さもないと、phpmig migrate 時に Fatal error: Class ‘Pimpli¥Container’ not found in … とエラーになった。
  • Pimple インストール方法については、phpmig の README には記載されていないので注意。

“【PHP】phpmig で MySQL のマイグレーションをするまでの導入手順”の続きを読む


スポンサードリンク

【MySQL】全クエリをログ出力し、ログローテート設定を行う

環境

  • mysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1

設定を行うコマンド

  • /etc/my.cnf の [mysqld] に記述することで全クエリをログ出力する。
  • general_log でオンにし、general_log_file でログファイルパスを指定する。
  • ログローテートは、もともとある /etc/logrotate.d/mysqld をほぼそのまま使用した。

“【MySQL】全クエリをログ出力し、ログローテート設定を行う”の続きを読む

【MySQL】指定年月の初日から最終日までのリストを取得する SQL、その2

SQL

# @target に yyyymm を指定することで、その月の月初から月末までの日にちリストを返す。
SET @target = STR_TO_DATE('201601', '%Y%m');
SET @firdt_day = DATE_FORMAT(@target, '%Y-%m-01');
SET @last_day = DATE_FORMAT(LAST_DAY(@firdt_day),  '%Y-%m-%d');
SELECT DATE_FORMAT(day, '%Y-%m-%d')
FROM
(
    SELECT (@dt := @firdt_day) AS day FROM DUAL UNION ALL
    SELECT @dt := DATE_ADD(@dt, INTERVAL 1 DAY) FROM `information_schema`.COLUMNS WHERE @dt < @last_day
) AS tmp;

“【MySQL】指定年月の初日から最終日までのリストを取得する SQL、その2″の続きを読む

【MySQL】指定年月の初日から最終日までのリストを取得する SQL

SQL で存在するレコードが取得できます。存在しないレコードは穴埋めされません。

そうしますと、とある年月の一日から月末までレコードを取得したいのに、存在しないために歯抜けになってしまった、そんなケースに遭遇しました><。

歯抜けをなくして、存在しないレコードも埋めたいのです。

今回は、指定年月の一日から末日までのリストを返す MySQL をノートいたします。

2016年8月14日18時00分追記。シンプル・日付特化版を投稿いたしました♪

一日から末日までのリストを返す MySQL

SET @target = STR_TO_DATE('201601', '%Y%m');
SET @firdt_day = DATE_FORMAT(@target, '%Y-%m-01');
SELECT DATE_FORMAT(DATE_ADD(@firdt_day, INTERVAL tmp.generate_series DAY), '%Y-%m-%d') AS day
FROM
(
    SELECT 0 generate_series FROM DUAL WHERE (@num:=-1)*0 UNION ALL
    SELECT @num:=@num+1 FROM `information_schema`.COLUMNS
) AS tmp
HAVING DATE_FORMAT(day, '%Y%m') = DATE_FORMAT(@target, '%Y%m');

“【MySQL】指定年月の初日から最終日までのリストを取得する SQL”の続きを読む

ER Master へ Vagrant CentOS 6 の MySQL データベースをインポートして ER 図を作成する手順

環境

  • Windows 7 Professional 64bit
  • MySQL Connector/J
  • Pleiades All in One 4.5.2.v20160312 64bit Full Edition Ultimate
  • ERMaster 1.0.0.v20150619-0219 org.insightech.er.feature.feature.group Insightech.org
  • Vagrant 1.8.1
  • VirtualBox 5.0.20 r106931
  • 仮想マシン内容
    • IPアドレス: 192.168.56.22
    • CentOS release 6.8 (Final) x86_64
    • 開発環境のため、ファイアウォールは全て通過するように設定
    • 開発環境のため、MySQL のユーザ、データベースはどこからでもアクセス可能に設定
    • mysql Ver 14.14 Distrib 5.6.30, for Linux (x86_64) using EditLine wrapper
    • MySQLポート番号: 3306
    • データベース名: sampledb
    • ユーザ名: sampleuser
    • パスワード: samplepass

“ER Master へ Vagrant CentOS 6 の MySQL データベースをインポートして ER 図を作成する手順”の続きを読む

★2回め挑戦★CakePHP2で認証、Auth コンポーネントのサンプルを世界一シンプルを目指して作ります。

CakePHP2 認証、Auth コンポーネントのサンプルを世界一シンプルを目指して作ります。 | oki2a24 を試してみましたけれども、これをもう一度勉強したいですの。

ポイントは次の認証コンポーネントの AuthComponent::allow() ですの♪

今回は、bake を使って認証していないとアクセスできないサイトのサンプルを、やはりシンプルさとお手軽に体験できることを目指して作ります。

  • Composer で CakePHP2.5.4 をインストール
  • Apache、MySQL

0.作るサイトの仕様を決めます

ログインページ、ログアウトページ以外に、4種類のページ(CakePHP のコントローラー)とそれぞれのページに対して一覧、詳細、登録、編集、削除ページ(CakePHP のアクション)を設けた、合計16ページです。

認証要否一覧表

No ページ名 一覧 詳細 登録 編集 削除
1 users
2 articles
3 letters
4 posts

認証が、ログインがなら「要」

“★2回め挑戦★CakePHP2で認証、Auth コンポーネントのサンプルを世界一シンプルを目指して作ります。”の続きを読む

MySQL Workbench を使って SQL から ER 図をあと一歩のところまで自動的に作る方法

ポイント

  • テーブルをエンティティとして配置するところまで自動で作成できる
  • リレーションは設定されない

具体的な手順♪

“MySQL Workbench を使って SQL から ER 図をあと一歩のところまで自動的に作る方法”の続きを読む

MySQL Workbench を Mac にインストールして外部サーバの DB に接続するまで手順♪

1.Oracle にログイン、ダウンロード

スクリーンショット 2014-07-19 21.41.42.png

MySQL Workbench をダウンロードするためには、Oracle Web account、つまりオラクルのアカウントを予め作成しておく必要がございます。

作成しましたら、次の手順でダウンロードが可能ですの♪なお、次の手順はアカウントからログアウトした状態からはじめております。

  1. MySQL :: MySQL Workbench
  2. Download
  3. Oracle Web account でログインする
  4. 「To download, some additional information is required.」の質問に答え、Submit form
  5. Download Now

2.MySQL Workbench のインストール

“MySQL Workbench を Mac にインストールして外部サーバの DB に接続するまで手順♪”の続きを読む

【失敗】MySQL の公式リポジトリを導入してアップデートしてみる!ダメでした><。

今回は、上手く行かなかった、失敗した、記録でございます><。今後の何かのヒントになるかしら?と思い、投稿いたします。

なお、目的は MySQL の公式リポジトリを導入し、PHP は Remi リポジトリで、MySQL は MySQL リポジトリで簡単に管理したい!というものでした。

簡単には管理できなさそうで、断念いたしました><。

MySQL リポジトリのポイント

  • OS が CentOS5 の場合、リポジトリは Red Hat Enterprise Linux 5 (mysql-community-release-el5-5.noarch.rpm) をインストールする
  • yum コマンド時のリポジトリの指定は mysql56-community
  • mysql56-community リポジトリだと Remi からパッケージ名が変わった。mysql-server は mysql-community-server に、mysql-libs は mysql-community-libs に名前が変わった
  • PHP は Remi、MySQL は mysql56-community リポジトリを使用したいと思ったが、Remi リポジトリの MySQL が依存関係で競合を起こし、できない。
    → お手軽ではなさそう、あきらめた。

“【失敗】MySQL の公式リポジトリを導入してアップデートしてみる!ダメでした><。”の続きを読む