トップページ » mac » mysql環境構築

mysql環境構築

[root@fedora ~]# mysql -u root ← MySQLサーバーへrootユーザでログイン
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6 to server version: 5.0.21

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> select user,host,password from mysql.user; ← 登録済ユーザ、パスワード確認
+------+----------------------+----------+
| user | host | password |
+------+----------------------+----------+
| root | localhost | | ← ホスト名がlocalhostのrootユーザにパスワードが設定されていない
| root | fedora.fedorasrv.com | | ← ホスト名が自ホストのrootユーザにパスワードが設定されていない
| root | 127.0.0.1 | | ← ホスト名が127.0.0.1のrootユーザにパスワードが設定されていない

+------+----------------------+----------+
4 rows in set (0.00 sec)

mysql> set password for root@localhost=password('rootパスワード'); ← ホスト名がlocalhostのrootユーザにパスワード設定
Query OK, 0 rows affected (0.00 sec)

mysql> set password for root@'fedora.fedorasrv.com'=password('rootパスワード'); ← ホスト名が自ホストのrootユーザにパスワード設定
Query OK, 0 rows affected (0.00 sec)

mysql> set password for root@127.0.0.1=password('rootパスワード'); ← ホスト名が127.0.0.1のrootユーザにパスワード設定

Query OK, 0 rows affected (0.00 sec)

mysql> select user,host,password from mysql.user; ← 登録済ユーザ、パスワード確認
+------+----------------------+------------------+
| user | host | password |
+------+----------------------+------------------+
| root | localhost | **************** | ← ホスト名がlocalhostのrootユーザにパスワードが設定された
| root | fedora.fedorasrv.com | **************** | ← ホスト名が自ホストのrootユーザにパスワードが設定された
| root | 127.0.0.1 | **************** | ← ホスト名が127.0.0.1のrootユーザにパスワードが設定された
+------+----------------------+------------------+
4 rows in set (0.00 sec)

mysql> exit ← MySQLサーバーからログアウト

Bye

[root@fedora ~]# mysql -u root
 ← ホスト名がlocalhostのrootユーザでパスワードなしでMySQLサーバーへログインできないことを確認
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

[root@fedora ~]# mysql -u root -h 'fedora.fedorasrv.com'
 ← ホスト名が自ホストのrootユーザでパスワードなしでMySQLサーバーへログインできないことを確認
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

[root@fedora ~]# mysql -u root -h 127.0.0.1
 ← ホスト名が127.0.0.1のrootユーザでパスワードなしでMySQLサーバーへログインできないことを確認
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

[root@fedora ~]# mysql -u root -p ← MySQLへrootでログイン
Enter password:  ← MySQLのrootパスワード応答

ホスト名がlocalhostのrootユーザでパスワードありでMySQLサーバーへログインできることを確認
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6 to server version: 5.0.21

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> exit ← MySQLサーバーからログアウト
Bye

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

MySQLのユーザ「root」と同じ、管理者権限を持つユーザ「user1」を登録するには、次のような2つのGRANT構文を実行します。MySQLのユーザ「user1」にはパスワードを設定しています。

例:管理者権限を持つユーザを登録する
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;

どのホストからでもサーバに接続できるようにするために、「user1@"%"」と「user1@localhost」を指定した、2つのGRANT構文を実行しています。(localhostから接続できるようにするためには、「user1@localhost」を指定する必要があります)

また、「WITH GRANT OPTION」によりGRANT構文の実行権限を与えています。

管理者権限を与えるパラメータについて
権限:ALL PRIVILEGES(すべての権限)
データベース名.テーブル名:*.*(すべてのデータベースのすべてのテーブル)
ユーザ名:user1@"%"      (すべてのホスト「"%"」の、ユーザ「user1」)
          user1@localhost(ローカルホストの、ユーザ「user1」)
GRANT実行権限:(GRANT構文を実行する権限)


by   at 10:02