SQLiteの面白さ(9) MySQLも土俵にあげる
手元のMySQLがVer 3の時代から安定して稼動していたので、かえって不勉強になっていた。調べたら、最近のMySQLのWindows版では名前付きパイプが使えるらしい。さっそくMySQL Ver5.0のnoinstall版をダウンロードして試行錯誤しながら動作を確認してみた。
名前付きパイプでのデータベースサーバー起動は
bin\mysqld-nt.exe --no-defaults --skip-networking --datadir=.\data --enable-named-pipe --socket=mysock
ここで、--socketの"mysock"の部分には好きな名前をつけてよい。
このようにすることでネットワーク接続なしで、名前付きパイプからの接続のみを受け付けるMySQLサーバーを起動することができる。
データベースへの接続には
bin\mysql -h . --sock=mysock -u root
--socketの"mysock"はmysqld-nt起動時の--socketオプションと同じ文字列を指定する。
データベースサーバの停止は
bin\mysqladmin.exe -h . --socket=mysock -u root shutdown
これでMS-Accessで安定して使えるのかどうかはまだテストしていない。
ここまでの使い勝手をSQLiteと比較すると、SQLiteでは事前にサーバーを起動することなく単にsqlite.exeを実行するだけで使えたのに対し、MySQLでは使う前にあらかじめサーバーを起動しておかなくてはならないという煩雑さが生じていることがわかる。データを失いたくなければ、MySQLでは使用後に正式の手順でサーバーを停止させる必要もある。MySQLサーバーの実行ファイルはSQLiteの5倍くらいとサイズが大きいのも不便な点の一つだ。
それでもMySQLを使ってテストしたい理由は、「ネットワーク接続なし(Windowsファイアウォールの設定に触れない)の状態」で使えるという条件を満たしているというのが第一。そしてもう一つ、開発状況などからして、こちらは文字コード関連の問題が既に解決していると予想されるというのが挙げられる。
起動と停止に多少の手間がかかっても、期待した動作をしてくれるのならばそれでかまわないというスタンスだ。今の時点では、MySQLのほうがネット上の情報が豊富だというのもある。
名前付きパイプでのデータベースサーバー起動は
bin\mysqld-nt.exe --no-defaults --skip-networking --datadir=.\data --enable-named-pipe --socket=mysock
ここで、--socketの"mysock"の部分には好きな名前をつけてよい。
このようにすることでネットワーク接続なしで、名前付きパイプからの接続のみを受け付けるMySQLサーバーを起動することができる。
データベースへの接続には
bin\mysql -h . --sock=mysock -u root
--socketの"mysock"はmysqld-nt起動時の--socketオプションと同じ文字列を指定する。
データベースサーバの停止は
bin\mysqladmin.exe -h . --socket=mysock -u root shutdown
これでMS-Accessで安定して使えるのかどうかはまだテストしていない。
ここまでの使い勝手をSQLiteと比較すると、SQLiteでは事前にサーバーを起動することなく単にsqlite.exeを実行するだけで使えたのに対し、MySQLでは使う前にあらかじめサーバーを起動しておかなくてはならないという煩雑さが生じていることがわかる。データを失いたくなければ、MySQLでは使用後に正式の手順でサーバーを停止させる必要もある。MySQLサーバーの実行ファイルはSQLiteの5倍くらいとサイズが大きいのも不便な点の一つだ。
それでもMySQLを使ってテストしたい理由は、「ネットワーク接続なし(Windowsファイアウォールの設定に触れない)の状態」で使えるという条件を満たしているというのが第一。そしてもう一つ、開発状況などからして、こちらは文字コード関連の問題が既に解決していると予想されるというのが挙げられる。
起動と停止に多少の手間がかかっても、期待した動作をしてくれるのならばそれでかまわないというスタンスだ。今の時点では、MySQLのほうがネット上の情報が豊富だというのもある。
この記事へのコメント
本日テストしてみたところ、サーバー側、クライアント側とも--socketの指定をしなくても使えるようだ。