November 18, 2009
by reciente
0 comments
Starting MySQL.Manager of pid-file quit without updating file.
という、エラーメッセージが出たので、なんだろう?
と思って調べてみたら、どうにも
/etc/my.cnf
がおかしかったらしい。
他の人が、MySQL 5.1 入れたところに、MySQL 5.0 に入れなおしたので
設定ファイルがおかしいのは確かにありうる。
ちなみに、/usr/lib/mysql とか、MySQLインストールディレクトリのパーミッションがおかしくても発生するのだとか。
MySQL
March 4, 2008
by reciente
0 comments
I was installed Navicat for Linux on openSUSE 10.3.
Why using Navicat ?
Because MySQL Official GUI Tools is useless. it’s not good for multi-byte characters.and will crash when use multi-byte chacacters.
At business. we have to handing customer’s data as safety. so I’m using Navicat. it support multi-byte character sets, and have many useful GUI tools.
install memowiki: navicat
At 1st, Navicat can save every actions. It’s good for web system developers. because we wants to share to do, logs, and many actions.
Data Synchronization will synchronize your databases.
it’s useful for development. we always develop system with many programmers. so we wants to share test data. If we have master test data server, can synchronize data from it.
and can select INSERT, DELETE, and UPDATE queries.
It support preview too.
Structure Synchronization will synchronize database schema.
It can select CREATE, ALTER, DROP queries too.
this feature is so useful.
Can watch detabase schema and view some SQL, and select it.

I tought this feature is nice for Django Developers.
Because Django Database API have a problem about running servers.
look here. The Django Book: Making Changes to a Database Schema
We have to change making by manually without Navicat.
if we have Navicat, it will be automatically.
How to use Navicat for Django’s database?
At 1st, create new database and edit setting.py. and run python manage.py syncdb. it will create new database schema for new database.
2nd, use Structure Synchronization. It will Synchronize new database schema and old database schema.
And can save logs.
this is so useful for all Django Developers.
MySQL
March 4, 2008
by reciente
0 comments
前回は、Liteの話だったんだけれど、今回は正規版を入れて操作してみることにした。
前回 >>> openSUSE 10.3 に Navicat-Lite を入れてみた。
なんで Navicat 使ってるの?っていうと、MySQLの公式サイトで配られている専用のGUIツールが使えないからだ・・・ShiftJISとかEUC_JPとか関係なく、マルチバイト文字にかなり弱いので、非常に怖い。特に、Webシステムなんて、お客さんの大事なデータをデータベースに入れる訳だし、仕事であれを使うのはきついんだよね。
ということで、職場の人に教えてもらったNavicatを使っていたんだけれど、Linux版もあるということで、お、それはいいね!!普段Linuxで開発しているし、ありがたい。ってことで入れてみている訳だったり。
ってことで、製品版のインストールもメモしました。
ま、殆ど lite と変わらないけれどね〜
wiki: Navicat
とりあえず、製品版という事で色々出きるようになっています。
Liteでもそうなんだけれど、各操作をファイルとして記録しておいて、後で再現出来るのも大きいかも・・・
Data Synchronization はそのまんまデータベース単位で同期取ってくれます。
これはあくまでも同期なので、片方にしか無いテーブルに関しては何もしないみたい。
それでも、データ同期をボタンぽちぽちでやってくれて、一応Transaction使ってのPreviewもあったりするので
各開発サーバ間で、テストデータをやりとりしたり、ステージングサーバにデータを入れるのに良いかも。
これはまあ、ダンプでコピーしまくるよりも、簡単に共有するためのツールかな。
で、もっと面白いのが Structure Synchronization.
これは,データベース同士の構造を合わせてくれるって意味そのまんまで、足りないテーブルを追加したり、多いテーブルを削除したりまでしてくれる。
こんな感じで情報もその場で見られるのと、SQL の選択も出来たりするので、中々芸が細かいなぁ・・・

で、これの何が良いのかっていうと、Django の Database の部分ってちょっと欠点があって
運用中のサーバに対して、データ構造の変更を行う場合、 models.py を変更しただけじゃ、データベースの構造までは買えてくれないんだよね。
models.py の Model Class を変えた上で、ALTER文を自分で書いて走らせないといけない。
詳しくはこちらをどうぞ。
The Django Book: Making Changes to a Database Schema
で、こういう場合一々SQLを自分で書くのはミスもあるだろうし、手間もかかるし結構大変。
なので、Navicat のこの機能を使うと中々便利なのです!!
どう使うかというと、新しいデータベースを作って一旦Django の接続先をそちらへと変更する。
その後に、python manage.py syncdb を行い、真新しいスキーマーを作成してもらう。
その後、新しいデータベーススキーマーから、古いデータベーススキーマーへ、 Structure Synchronization を行えば良いのだ。
なんて便利なんだろう!!
って、最後は Django の話になっちゃったけれど、Django + MySQL の開発に Navicat は中々良いかもしれないぜ(・・
っていう話でした。
MySQL
March 1, 2008
by reciente
2 comments
MySQL の GUI マネージャーな navicat なんだけれど、Linux版もあったので、早速インストール。
製品版は、30日間は無料で使えるらしい。
機能縮小された、Navicat-Liteは無料なので、こちらをチョイス!!
http://pgsql.navicat.com/download.html
インストールはこんな感じ。
wiki:navicat
使ってみた感想は、会社で使っているWindows版と変わらないので
別にLinuxだからって何かが違う訳でもないかな。
Linux のこういうツールが増えてきて便利だよぉ
Django での開発をするときや、dump 取るときはこれで便利に!!
MySQL
November 17, 2007
by reciente
0 comments
さて、Catalystでアプリケーションを組んでいて文字化けが発生。
現在、Schema定義を、サーバ起動時にDBIxに自動的に作成させているのだけれど、Catalystの設定ファイルに、set names utf8を使いなさい。と書いておいても、サーバ起動してから時間が経つと文字化けする現象が発生している。
ということで、MySQLの設定ファイルを編集。
/etc/my.cnf に、
default-character-set=utf8
skip-character-set-client-handshake
を書いておくとutf8を使う限り文字化けは怒らないはず。
default-character-set=utf8
はそのまんまだけれど、
skip-character-set-client-handshake
っていうのは、クライアント側が何でリクエストしてこようが、強制的に、こちらのdefault-character-setになっている文字コードで返すという設定。
今度からは、MySQL使うときはこれは必須かなぁ
ってことで、メモ。
MySQL