外部からの接続 権限許可[mysql]

まずは、rootユーザーでログインする。

# mysql -u root -p
>*****
mysql>

このmysqlコンソール上で、以下のようにユーザー情報を打ち込む。

mysql> grant all privileges on *.* to mysql@"%" identified by 'somepasswd' with grant option;
mysql> flush privileges;

上記は、すべてのデータベースに対して、すべてのホストから、ユーザー「mysql」、パスワード「somepasswd」で接続できる、ということになる。
「%」はすべてのホストを意味する。
ホストを指定したいのであれば、

mysql> grant all privileges on *.* to mysql@"192.168.0.1/255.255.255.255" identified by 'somepasswd' with grant option;

と言う風にすればホストを限定できる。
これでMySQLの情報を見てみよう。

mysql> select user,host,password from mysql.user;
+-------+-----------+------------------+
| user  | host      | password         |
+-------+-----------+------------------+
| root  | localhost | 6a77f1277b51f67f |
| mysql | %         | 6a77f1277b51f67f |
+-------+-----------+------------------+
5 rows in set (0.00 sec)

MySQLユーザの権限を削除するには、REVOKE文を使います

具体的には次のようなコマンドを実行します。

mysql> REVOKE ALL PRIVILEGES ON * . * FROM ユーザID@"localhost";
mysql> FLUSH PRIVILEGES;

これでユーザの権限をすべて剥奪します。

ユーザ自体を削除してしまいたい場合は、mysqlデータベースのuserテーブルを編集します。

次のSQL文を実行します。

mysql> use mysql;
mysql> delete from user where User = 'ユーザID' and Host = 'localhost';
mysql> FLUSH PRIVILEGES;

これでユーザの削除が可能です。
テーブルへのアクセス権限なども設定している場合は、それらも削除する必要があります。

mysqlから抜けるときは、\q

おすすめ

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください