MySQLのバックアップ(mysqldump)を使ってみる

MySQLのバックアップ(mysqldump)を使ってみる

データ量が多いDBだとphpMyAdminからはデータエクスポートに時間がかかるorタイムアウトになる。
そういうときはコマンドからdumpしちゃいましょうって話

コマンドもMySQLのバージョンで警告がでるみたい。

昔は下記のコマンドで行けてた

そうすると下記の警告が発生。
(バージョン5.6から出るようになりました)

Warning: Using a password on the command line interface can be insecure.

警告なので無視することもできるのだけど。
気分的に良くないのでちゃんと手直ししてみましょう。

警告文はパスワードをコマンド上に表示させるのはセキュリティ上よくないぜよ と言っております。

コマンドに出さないようにするためにはパスワードを保存しておくファイルを作成して
それを読み込んであげることで回避できます。

まずはパスワードを保存しておくファイルを作成します。
ファイル名:mysql.cnf

中身↓

そしてコマンドは下記!
※–default-fileは一番最初に指定します。

ちなみにmysql.cnfにdatabase=hoge とデータベース名を入れると下記の警告がでます。

Warning: Using unique option prefix database instead of databases is deprecated and will be removed in a future release. Please use the full name instead.
Warning: mysqldump: ignoring option ‘–databases’ due to invalid value ‘hoge’

設定ファイルにdatabaseは指定しないほうが良いですね。

【WordPress】メディア一覧が表示されない、アイキャッチの登録ができない

メディアライブラリで画像の一覧が表示できない問題に遭遇
グルグル回り続けるだけでいつまで経っても表示がされない。

表示切替で「リストビュー」なら一覧が表示された。
「グリッドビュー」だとグルグルするだけ・・・

ちなみにこの問題はadmin-ajax.phpの修正で直すことが可能です。

そして投稿でアイキャッチの登録ができない。
アイキャッチの選択まではできるが、OKを押しても適用されない。

原因不明

検索しても情報なし。

ローカルのXAMPPにファイルを全てダウンロードして設置してみたら両方ともOKだった。

ということはサーバーの設定に問題がありそうだ。
1個1個phpの設定を見ていく。

原因を発見

output_handler mb_output_handler

これが駄目でした。
これを.htaccessで下記へ修正

文字コードが自動変換されることが影響をうけたようです。
通常だとnoneなので問題が起こる人がいないのかと思います。

解決できてよかった~

PostgreSQLのWhrere時の型チェックの厳密化

CakePHPでDBはPostgreSQLのサイトがある。
そちらを移転作業したときに起きた問題

動作チェック中に下記のエラーが発生

HINTから情報を検索するとPostgreSQLのバージョンで検索(Where)のキャスト(型)のチェックが厳密化されたようです。

今回はPostgreSQL7.4.23 → 9.2.10

厳密化は8.3からのようです。
キャストの厳密化とは検索するときにフィールドの型を厳密にチェックするようです。
今までのバージョンは型を自動で変換してくれていたようですが、8.3からはそれを行わないとのこと

それらがNGとのこと

私のプログラムのエラーはdate型にLIKE検索をしているのがNGでした。

対策としてはFunctionとCastを作成してそれで型の変換をさせる方法があるようですが、
次の移転時にまた困るような気がしたので、今回はプログラム側の修正を行いました。
(プログラムの修正箇所が少なかったため)

CakePHPを使っているのですが下記の修正ではエラーでした。

array(“date::text”=>”2017-11%”)

ということで、ちゃんと関数で変換します。

エラーなく検索結果が返ってきたらOK