Linux 備忘録

Archive for the 'MySQL' Category

MySQL tableにフィールド追加

木曜日, 1月 24th, 2008

一度作成したテーブル情報を更新するには、Alter table分を利用します。あまり使用する機会がないので、備忘録にメモっておきます。

データの変更だけでなく、フィールド単位の追加や削除をする場合にも Alter table を使用します。 Alter table には複数のオプションがあり、add, modify,change,drop,rename のうちのadd オプションについて説明します。

■ ADD オプション

MySQLで既存のテーブルに新しいフィールドを追加する場合は、ADDオプションを使用します。

> Alter table [テーブル名 ] add [ フォールド情報] [ [First] | [After フィールド名] ] ;

 最後のFirstやAfterで追加するフィールドの位置を指定します。たとえば、テーブルの最初のフィールドを追加する場合は[First]となり、途中に追加したい場合は[After フィールド名]というように指定したフィールド名の後に挿入することができます。

 フィールド情報の部分には、フィールド名やフィールドのデータ型などの情報を入力します。

例 name01 varchar(10) default ” ” not null

     num01 int(10) default ” ” not null など

■ DROP オプション

 既に存在しているフィールドを削除するオプションです。フォールドに挿入されているデータとともにすべて削除されます。

> Alter table [テーブル名] drop [フィールド名] ;

Drop をする際に確認はありませんので、間違って必要なフィールドを削除してしまわないように充分注意してください。

MySQL、user の外部からの接続

金曜日, 12月 21st, 2007

★ 外部からのusername@hostname の接続

MySQLへアクセスするためのユーザー権限情報は、「mysql」というデータベースの「user」というテーブルで管理されている。

先ずは、全てにアクセス権のあるユーザーを作成してみましょう。

> grant all privileges on *.*  to username@’localhost’ identified by ‘Password’ with grant option;

これで、全権限のあるusername が作成される。

これは、自サーバーに繋ぐためのユーザーである。

任意の外部からこのユーザー名でMySQLに接続するためには、以下のユーザーを追加しなければなりません。

> grant all on privileges *.* to username@’%’ identified by ‘Password’ with grant option;

%は、任意のIPアドレスを表している。

これにより外部からもこのユーザー名で接続することができる。

● 特定のIPアドレスからのみ接続させたい場合

hostname には外部から接続するサーバーのIPアドレスの逆引きの値を入れる。

例 ’dxxx.xxx.ppp.asahi-net.or.jp’

これで、特定のIPアドレスから接続できるよになる。

何故逆引きIPアドレスなのかは分からない。エラーメッセージから、そのようにした。

外部からのドメイン名を入れれば良いのかもしれないが、未確認です。