星期二, 2月 21, 2012

mysql grant

最近一個案子要連到廠商的db讀資料
不過不知卡在什麼地方,一直沒辦法連到db
後來想到是mysql沒開遠端連線的權限,想透過phpmyadmin去開
但是限制一堆,只能用ssh進mysql server下指令...
用慣了phpmyadmin.... 要用指令下授權...ㄟ... grant all db.... 什麼.... 放棄
下select就算了,下授權... 不知多久才用一次的東西...google一下吧..
  • 先連db囉
    $ mysql -u root -p
  • 查詢 某 User 的權限
    這樣就可以知道該User是否有從某ip連db的權限
    mysql> select User,Host from mysql.user;
    +------+---------------------------+
    | User | Host |
    +------+---------------------------+
    | root | localhost |
    +------+---------------------------+
    1 rows in set (0.00 sec)

  • add SELECT,INSERT privileges to a user using GRANT
    上例中,root未開放192.168.0.1的連線
    這裡假設開放root(密碼:ok1234)可從192.168.0.1連線db_base下的所有table(利用*來代表所有的table)的權限
    GRANT SELECT,INSERT ON db_base.* TO root@192.168.0.1 IDENTIFIED BY 'ok1234';

References

沒有留言: