mawatari.jp
ウェブエンジニアのメモ帳
  • ブログ
  • ブックマーク
  • 本棚
  • GitHub
  • プロファイル
  • PhpStorm
  • CakePHP
  • FuelPHP
  • PHP
  • RubyMine
  • Ruby on Rails
  • Ruby
RSS
2018年5月2日

RDS (MySQL) からファイル出力 (TSV,CSV) する

mawatari 日記 AWS, MySQL, RDS 0 Comments

RDS (MySQL) からデータをTSVやCSVで出力する方法をメモしておきます。
様々な方法は存在しますが一例として。

まずは出力したいデータを抽出するSQLを作成し、ファイルに保存します。
CONCAT()関数を利用してダブルクオートで挟み込みます。

extract.sql
MySQL
1
2
3
4
5
6
7
8
SELECT
    CONCAT('"', field1, '"') AS field1,
    CONCAT('"', field2, '"') AS field2,
    CONCAT('"', field3, '"') AS field3,
    CONCAT('"', field4, '"') AS field4,
    CONCAT('"', field5, '"') AS field5
FROM
    user

そのファイルの内容を展開させる形で実行し、結果を保存すればTSVファイルの完成です。

RDS (MySQL) からTSVする(ハイライト部分がコマンド)
Shell
1
mysql -u user_name -D database_name -p -h db.host.local -e "`cat extract.sql`" > result.tsv

CSVが欲しければ、下記のようにタブをカンマに置換しましょう。

RDS (MySQL) からCSVする(ハイライト部分がコマンド)
Shell
1
mysql -u user_name -D database_name -p -h db.host.local -e "`cat extract.sql`" | sed -e 's/\t/,/g' > result.csv

以上です。

2018年4月12日

エラー対応:cannot update mailbox /var/mail/root for user root. error writing message: File too large

mawatari 日記 CentOS, Linux, Postfix 0 Comments

cannot update mailbox /var/mail/root for user root. error writing message: File too large

/var/log/maillogに上記のようなエラーが出ていた場合、メールボックスの上限に達していることがほとんどです。
メールボックスをクリアするか上限を上げましょう。ただし、安易に上限を上げてしまうとディスク圧迫に繋がるので、メールボックスがいっぱいにならないよう、運用を見直すことを先に考えましょう。

mailbox_size_limitを変更する(ハイライト部分がコマンド)
Shell
1
2
3
4
5
6
vi /etc/postfix/main.cf
# mailbox_size_limitを100MBにする例
mailbox_size_limit = 102400000
# mailbox_size_limitを無制限にする例(安易に行うのは危険)
mailbox_size_limit = 0
postfix reload

実際のところ、どれくらい保存できるものなのか気になったので調べてみたら、有益な情報を見つけましたので共有しておきます。
Postfixのmailbox_size_limitについて調べてみる | Qiita

メールボックスを空にするには以下のように行います。

メールボックスを空にする(ハイライト部分がコマンド)
Shell
1
cat /dev/null > /var/mail/root

以上です。

2016年10月20日

MySQLのSHOW TABLESでコメント他も合わせて表示する

mawatari 日記 MySQL, Tips 1 Comment

MySQLの SHOW TABLESにテーブル名以外の情報も合わせて表示する方法をメモしておきます。

SHOW TABLESにテーブルコメントを追加して表示する方法

テーブル名の一覧を得る場合は SHOW TABLES、それ以外の付帯情報も表示する場合は SHOW TABLE STATUSを利用します。しかし、どちらともカラムの絞込や条件を加えることはできません。
そんなときは information_schemaを利用します。 information_schema.tablesから SELECTすればカラムの絞り込みが可能です。

SHOW TABLESにテーブルコメントを追加したのと同等の表示にする方法(ハイライト部分がコマンド)
MySQL
1
2
3
4
5
6
7
8
9
10
SELECT table_name, table_comment FROM information_schema.tables WHERE table_schema = database();
+---------------------+-----------------------+
| table_name          | table_comment         |
+---------------------+-----------------------+
| campaigns           | キャンペーン情報      |
| groups              | グループ情報          |
| prefectures         | 都道府県マスタ        |
| users               | ユーザー情報          |
+---------------------+-----------------------+
4 rows in set (0.00 sec)

WHERE table_schema = database()として、現在閲覧中のデータベースを対象としています。セレクト文なので、用途に合わせて自由に条件を付け加える事が可能です。
INFORMATION_SCHEMAテーブルのカラムや関連する情報はMySQLの公式ドキュメントを参照してください。
MySQL :: MySQL 5.6 リファレンスマニュアル :: 21 INFORMATION_SCHEMA テーブル

以上です。

2016年10月6日

Amazon Linuxのバージョン確認コマンドとアーキテクチャ確認コマンド

mawatari 日記 Amazon Linux, AWS, Tips 0 Comments

Amazon Linuxの操作感は、他のRedHat系のディストリビューションとほぼ同じですが一部で違いもあります。例えばリリースファイルはCentOSでは /etc/redhat-releaseですが、Amazon Linuxでは /etc/system-releaseです。

Amazon Linuxのバージョンを確認するコマンド

Amazon Linuxのバージョン確認(ハイライト部分がコマンド)
Shell
1
2
3
cat /etc/system-release
# Amazon Linux AMI 2016.09.0 (HVM), SSD Volume Type - ami-1a15c77bの表示例
Amazon Linux AMI release 2016.09

アーキテクチャ(OSが32bit, 64bitどちらなのか)を調べるコマンド

アーキテクチャの確認コマンド(ハイライト部分がコマンド)
Shell
1
2
3
4
5
6
7
8
9
10
arch
# 以下のように表示されます
# 64bitの場合
X86_64
# 32bitの公式AMIはありません
 
# 以下のコマンドでもOK
uname -a
# Amazon Linux AMI 2016.09.0 (HVM), SSD Volume Type - ami-1a15c77bの表示例
Linux ip-172-31-31-142 4.4.19-29.55.amzn1.x86_64 #1 SMP Mon Aug 29 23:29:40 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

2016年10月5日

PHPのエラーメッセージを出力する

mawatari 日記 PHP, Tips 0 Comments

PHPのエラーメッセージを出力する方法をメモしておきます。
以下は全てのエラーを出力する例です。エラーレベルの詳細については公式ドキュメントを参照してください。
PHP: error_reporting – Manual

php.iniファイルで設定する場合
PHP
1
2
display_errors = 1
error_reporting = E_ALL

phpファイルで設定する場合
PHP
1
2
ini_set('display_errors', 1);
error_reporting(E_ALL);

httpd.confや .htaccessのようなPHPの外部ではビットマスク値を使用する必要があります。
PHPのバージョンによって値が異なるため注意が必要です。詳しくは公式ドキュメントを参照してください。
PHP: 定義済み定数 – Manual

httpd.confや.htaccessで設定する場合(PHP 5.4.x)
Apache
1
2
php_value display_errors 1
php_value error_reporting 32767

PHP5.2.4以降であれば、 display_errorsの値に stderrを使用できます。

phpファイルでdisplay_errorsの値にstderrを設定する場合
PHP
1
2
ini_set('display_errors', 'stderr')
error_reporting(E_ALL);

CLIで php check_display_error.php > /dev/null等と入力し実行してみると、その違いがわかります。

以上です。

1 2 3 4›»

フォロー

follow us in feedly
人購読中

最近の投稿

  • RDS (MySQL) からファイル出力 (TSV,CSV) する
  • エラー対応:cannot update mailbox /var/mail/root for user root. error writing message: File too large
  • MySQLのSHOW TABLESでコメント他も合わせて表示する
  • Amazon Linuxのバージョン確認コマンドとアーキテクチャ確認コマンド
  • PHPのエラーメッセージを出力する
  • ServerspecでMacの開発環境をテストする
  • PHPカンファレンス福岡2015に参加してきた
  • rbenvでRubyの最新安定版をインストールするワンライナー
  • Ansibleの実行結果を通知する
  • MacにComposerをインストールする

Twitter

@mawatarinさんのツイート

カテゴリー

  • 勉強会・交流会 (56)
  • 日記 (104)

タグクラウド

Ansible Apache AWS Backbone.js baserCMS Bootstrap CakePHP CentOS CSS EC-CUBE facebookアプリ開発 fancyBox FuelPHP Fukuoka.php Git GitHub Homebrew HTML5 iOS JavaScript Jenkins Jenkins実践入門 jQuery Mac MAMP MySQL Node.js OSC PHP PHPMatsuri PhpStorm PHPUnit Rails rbenv Ruby RubyMine SwimmyStudy Tips Twitter Vagrant VMware WordPress Xdebug アジャイル 福岡インフラ勉強会
mawatari.jpのはてなブックマーク数
  • PhpStorm
  • CakePHP
  • FuelPHP
  • PHP
  • RubyMine
  • Ruby on Rails
  • Ruby

最近の投稿

  • RDS (MySQL) からファイル出力 (TSV,CSV) する
  • エラー対応:cannot update mailbox /var/mail/root for user root. error writing message: File too large
  • MySQLのSHOW TABLESでコメント他も合わせて表示する
  • Amazon Linuxのバージョン確認コマンドとアーキテクチャ確認コマンド
  • PHPのエラーメッセージを出力する
  • ServerspecでMacの開発環境をテストする
  • PHPカンファレンス福岡2015に参加してきた

フォロー

follow us in feedly
人購読中
mawatari.jpのはてなブックマーク数

新着はてなブックマーク

  • PhpStorm
  • CakePHP
  • FuelPHP
  • PHP
  • RubyMine
  • Ruby on Rails
  • Ruby

↑

© mawatari.jp 2025
Powered by WordPress • Themify WordPress Themes