フリーで使えるリレーショナル データベース「MySQL」のセットアップをレポートしました。Oracleにやや近いとか言われてますね。PostgreSQLと違うのは、Windowsでサービス起動できることです。ナイス! でも、副問い合わせや、まともなトランザクションには対応していません。 - 2002.10.18
 フリーで使えるリレーショナル データベース「MySQL」のセットアップをレポートしました。Oracleにやや近いとか言われてますね。PostgreSQLと違うのは、Windowsでサービス起動できることです。ナイス! でも、副問い合わせや、まともなトランザクションには対応していません。~
 初稿時の MySQLのバージョンは 3.23.53 です。 - 2002.10.18

#contents
#br

** インストールする
** インストールする [#udb90523]
+http://www.mysql.com/downloads/ からWindows用バイナリ(Default package)を入手。今回は[mysql-3.23.53-win.zip(13.2MB)]
+zipファイルを展開して、SETUP.EXEを実行し、C:\mysql にインストールする。 <- インストールする場所を変えるには、ちょっと手順が必要です。

** MySQL の自動起動と自動停止
** my.ini [#k3e26a1d]
Windowsでは%WINDIR%\my.ini、Linuxでは /etc/my.cnf ですね。%MYSQL_DIR%\my-medium.cnfファイルなどから新規に作成します。
#ref(my.ini);

** MySQL の自動起動と自動停止 [#a7c4e6fa]
-%MYSQL_DIR%\bin\mysqld-nt --install を実行してWindowsサービスとして登録する。

** ユーザにパスワードを設定する
** ユーザにパスワードを設定する [#v8ccceab]
+%MYSQL_DIR%\bin\mysql mysql を実行してMySQL Monitorを起動する。
 C:\mysql\bin\mysql mysql
+ update user set password = password('******'); SQL文を実行し、(とりあえず)全てのユーザにパスワードを設定する。******は任意のパスワード。
+Windowsサービス[MySql]を再起動する。
+以下のコマンドで、特権テーブルを再読込みする。
 mysql> flush privileges;
 ユーザを追加したりいろいろやってると、上記の再読込みだけでは設定変更が有効にならないことがあるらしい。その際は、Windowsサービス[MySql]を再起動するしかないかも。

** データベースを作成する
** データベースを作成する [#j554e5f2]
+%MYSQL_DIR%\bin\mysqladmin -u root -p create &color(red){{dbname}}; を実行する。&color(red){{dbname}};は任意のデータベース名。
+%MYSQL_DIR%\bin\mysqlshow -p でデータベース一覧表示。(もしくは mysql>show databases)

** テーブル作成
** テーブル作成 [#zf4ad3aa]
+%MYSQL_DIR%\bin\mysql -u root -p &color(red){{dbname}}; を実行してMySQL Monitorを起動する。
+後は、mysql>create table を実行すればOK。
+mysql>show tables でテーブル一覧表示。

** データベースのバックアップ
** データベースのバックアップ [#c499add6]
-%MYSQL_DIR%\bin\mysqldump -p &color(red){{dbname}}; > C:/extdata.sql <- 保存先は任意

** データベースの復元
** データベースの復元 [#deb98462]
-%MYSQL_DIR%\bin\mysql -p &color(red){{dbname}}; < C:/extdata.sql

** JDBCドライバ
** JDBCドライバ [#f3d257ca]
-http://www.mysql.com/downloads/ から MySQL Connector/J 2 を入手。今回は[mysql-connector-java-2.0.14.zip(435KB)]
-ドライバ名:org.gjt.mm.mysql.Driver
-URL:jdbc:mysql://&color(red){{hostname}};/&color(red){{dbname}};?useUnicode=true&characterEncording=&color(red){{DBの文字コード}};

** ODBCドライバ
** ODBCドライバ [#ub02fb4a]
+http://www.mysql.com/downloads/ から MyODBC 2.50 を入手。今回は[myodbc-2.50.39-nt.zip(1.45MB)]
+zipファイルを展開して、SETUP.EXEを実行し、インストールする。

** 日本語対応
** 日本語対応 [#m59eee15]
-MySQLで日本語を扱うためには、my.ini に以下のように default-character-set=sjis 行を追加する。この行がなくても一見日本語がうまく入力できたように思えるかもしれないが、「ソ」「構」「能」「表」など 5C のコードを含む文字 が文字化けを起こすという現象が発生する。

 [mysqld]
 basedir=C:/MYSQL
 default-character-set=sjis
 [mysql]
 default-character-set=sjis
 [mysqldump]
 default-character-set=sjis
 [WinMySQLadmin]
 Server=C:/MYSQL/bin/mysqld-opt.exe
 
-my.iniを上記のように変更しただけでは以下のエラーが表示されるようになる。

 File 'c:\mysql\\share\charsets\sjis.conf' not found (Errcode: 2)
 Character set '#13' is not a compiled character set and is not specified in the 'c:\mysql\\share\charsets\Index' file
 Character set '#13' is not a compiled character set and
 is not specified in the 'c:\mysql\\share\charsets\Index' file

 これは sjis.conf ファイルがないからであり、[[SoftAgency:http://www.softagency.co.jp/mysql/TIPS/clients.html#ujis.conf]]によると、sjis を使えるようにバイナリを作成し直せば解決するらしいが… (^^;;
-そのスキルがなければ、&ref(sjis.conf.txt){sjis.conf}; を c:\mysql\share\charsets に置けば解決する。このファイルはいとさんの手作りらしいので、"合っている保障はない"。
-そのスキルがなければ、&ref(sjis.conf); を c:\mysql\share\charsets に置けば解決する。このファイルはいとさんの手作りらしいので、"合っている保障はない"。

** 管理ツール [#d0937870]
 MySQL.comに、[[MySQL Administrator:http://www.mysql.com/products/administrator/]]なるものがありまして、DBMSの状態監視なんかは、これでできます。

 メンテナンス用のツールとしては、[[MySQL Control Center:http://www.mysql.com/products/mysqlcc/]]よりも、[[かねやんMySQLAdmin:http://www.mmdb.net/m_kaneko/]]の方が、デフォルトで日本語サポートしてる分だけ好きです。


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS