外部からの接続 権限許可[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