MySQL

MacPorts + MySQL5.7

プライベートな環境を久々に更新しようと思ってやったら思いの外はまった。 仕事は homebrew だけどプライベートマシンは MacPorts を使ってる。 *1 Python3.6.0, MySQL5.6 だったので Python3.6.1, MySQL5.7.17 にするかとports upgrade outdated して、MyS…

alembic でインデックスが 767 バイト以上の対策

MySQL5.6 で alembic を使った場合に、 "Warning: Specified key was too long; max key length is 767 bytes" が出る場合の対策メモ。 $ alembic upgrade head INFO [alembic.migration] Context impl MySQLImpl. INFO [alembic.migration] Will assume non…

MacPorts で入れた MySQL5.6 に接続できなかった時の対応

仕事マシンを移行してローカル環境に MySQL5.6 を入れて、Python で書いたアプリケーション経由で ローカルの MySQL にアクセスしたら、以下のように出た。 OperationalError: (OperationalError) (2003, "Can't connect to MySQL server on 'localhost' (61…

MacPorts で MySQL5.5 を入れる

新しい Mac を買ったので環境を再構築。 MacPorts*1 で MySQL5.5 を入れようとしてハマったのでメモ。 $ sudo port install mysql55 +openssl +system_readline---> Computing dependencies for mysql55 ---> Fetching archive for mysql55 ---> Attempting …

Gearman-MySQL-UDF をインストールする

MacPorts でインストールした MySQL に Gearman-MySQL-UDF をインストールする。Gearmand を MacPorts でインストール $ sudo port install gearmand $ sudo port load gearmand $ ps -eaf | grep gearmand 0 66518 1 0 0:00.01 ?? 0:00.02 /opt/local/bin/d…

MySQL でトリガーから動的 SQL を使いたい場合

MySQL5.1 でトリガーをあるテーブルに仕込んで、テーブルに値(ストアドプロシージャ名)を挿入したら、そのストアドプロシージャを実行したい。イメージとしてはこんな感じ。 DELIMITER \\ DROP TRIGGER IF EXISTS `foo`\\ CREATE TRIGGER `foo` AFTER INSERT…

MySQL のストアドプロシージャで動的なテーブル名を指定する

MySQL のストアドプロシージャを作っていて、テーブル名を引数で取って動的に SQL を組み、結果を返したいという事がやりたかった。 イメージはこんな感じ。 DELIMITER \\ DROP PROCEDURE IF EXISTS `foo`\\ CREATE PROCEDURE `foo`( IN `tbl_bar` INT(10), …

MacOSX に PyPi から MySQL-python インストール時のエラー

MySQL は MacPorts から最新をインストール済み。 $ sudo pip install MySQL-python Downloading/unpacking MySQL-python Downloading MySQL-python-1.2.3c1.tar.gz (89Kb): 89Kb downloaded Running setup.py egg_info for package MySQL-python sh: mysql_…

MySQL の utf8_unicode_ci と utf8_general_ci の違いで出たエラー

自分で作ったストアドを呼ぶと以下のようなエラーが出た。 ERROR 1267 (HY000): Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '='単純に文字コードが違うから出てるよう。 mysql> SHOW VARIABLES LI…

再インストール

色々あって、Leoaprd を再インストールした。また一から設定しなおし。 Apache は前回と同じくソースからインストール。MySQL は MacPorts の PrivatePortfile を使って、インストールしてみた。 http://lapangan.net/darwinports/index.php ローカル用のポ…