tanaka's Programming Memo

プログラミングについてのメモ。

MySQL

MySQLでMEDIUMBLOB型のデータをMEDIUMTEXT型で取り出したい時

MySQLで、MEDIUMBLOB型のフィールドに文字列を入れていた場合、そのままでは日本語などは化けてしまいます。MySQL側で型変換することで解決しました。 例えば、MySQLの文字エンコードが EUC-JP だった場合は、以下のようにして型変換して取り出します。 SELE…

macOS Sierra で MySQLを動かす

MySQL5.7系は、macOS Sierraでは5.7.15以降にしないと動かないようです。Does macOS sierra support any version of mysql? | Apple Developer ForumsMySQL5.7.11から5.7.16にアップデートした時の手順です。 MySQLを停止 あらかじめ、MySQLを停止しておく(…

macのMySQL5.7でエラー

MySQLでmysqldumpなどを使うときに以下のようなエラーが発生。 mysqldump: Couldn't execute 'SHOW VARIABLES LIKE 'gtid\_mode'': Table 'performance_schema.session_variables' doesn't exist (1146) 原因は、データベースの構造が更新されていないことで…

PHPUnitによるデータベース操作のテスト

ユーザーを管理する操作をテスト駆動開発の手法で作ってみるために調査しました。PHPUnit マニュアル – 第8章 データベースのテストデータベースのテストにはPHPUnit_Extensions_Database_TestCaseを継承して行うとあります。その場合はSeleniumとの同時テス…

mac MySQL5.6 EUC インポートエラー

mysqlコマンドで、EUC-JPのデータをインポートしようとした際に、 Incorrect string value が発生して失敗した。以下の手順で直ったようなので、メモしておく。 ターミナルから以下で、空のファイルを作成する touch /usr/local/etc/my.cnf 作成したmy.cnfを…

OS X 10.11でApache、PHP、MySQL、SSLを動かす

OS X 10.10から10.11にアップした時も、apacheの設定がリセットされるため、以下の作業が必要。前提として、以下でOS X 10.9の環境がセットアップされていたものとする。OS X 10.9にApache+PHP+MySQLをインストール - tanaka's Programming Memo httpd.conf …

phpMyAdminのパスフレーズのエラーを解決する

「設定ファイルが秘密のパスフレーズを必要とするようになりました」というエラーが表示されていた。以下に従って、config.inc.phpに記載されている以下の行の文字列を適当に書き換えるとエラーは消えた。 $cfg['blowfish_secret'] = 'a8b7c6d'; /* YOU MUST…

PDOのprepareでdrop tableに失敗する

keyword: PDO , prepare , drop tablePHPからMySQLを操作するのに、PDO(PHP Data Objects)を利用している。SQLの安全動作のために、prepare()を使おうとしたが、drop tableで権限エラーが発生した。その原因と対策をメモ。 バージョン MySQL4.0 PHP5.2.17 My…