2008年7月3日木曜日

MySQL

ubuntuなのでMySQLのインストールも簡単
MySQL Administratorもインストールして
さあ接続となるが、Adminのパスワードは
インストール時に入力したはずのパスワードではなく、
パスワードなしで接続であった。
でもそれは限定ユーザー

----
システム管理者はMySQLのユーザ「root」で、MySQLをインストールしたときに登録される。

mysqlコマンドでデータベース「mysql」に、MySQLのユーザ「root」で接続します。
mysqlデータベースに接続

$ mysql -uroot -p mysql

----
管理者権限を持つユーザを登録する

mysql> GRANT ALL PRIVILEGES ON *.* TO user1@"%"
-> IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO user1@localhost
-> IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

権限:ALL PRIVILEGES(すべての権限)
データベース名.テーブル名:*.*(すべてのデータベースのすべてのテーブル)
ユーザ名:user1@"%" (すべてのホスト「"%"」の、ユーザ「user1」)
user1@localhost(ローカルホストの、ユーザ「user1」)
GRANT実行権限:(GRANT構文を実行する権限)

mysql> GRANT SELECT,INSERT,UPDATE,DELETE
-> ON データベース名.*
-> TO ユーザ名@localhost
-> IDENTIFIED BY 'パスワード';
mysql> FLUSH PRIVILEGES;

*1つのテーブルに対して権限を持つユーザを登録するときには、「データベース名.*」を「データベース名.テーブル名」とします。

*他のホストから接続するユーザを登録するときには、「localhost」を「ホスト名(IPアドレス)」とします。

-----------------
データベースを作成する

# mysqladmin create データベース名

$ mysqladmin -uroot -p create データベース名

mysql> CREATE DATABASE データベース名

-----------------
パスワードを設定

mysql> SET PASSWORD FOR ユーザ名@"%" = PASSWORD('パスワード');

0 件のコメント: