Dict.CN 在線詞典, 英語學習, 在線翻譯

          都市淘沙者

          荔枝FM Everyone can be host

          統計

          留言簿(23)

          積分與排名

          優秀學習網站

          友情連接

          閱讀排行榜

          評論排行榜

          MySql 用戶安全

          Windows默認安裝好MySql以后需要做一些安全措施。首先像這樣:
          mysql> use mysql;
          Database changed
          mysql> select Host,User,Password,Select_priv,Grant_priv from user;
              +------+------+-----------+-------------+------------+ 
          | Host | User | Password | Select_priv | Grant_priv |
          +------+-------+----------+-------------+------------+
          | localhost | root | | Y | Y |
          | buider | root | | Y | Y |
            | localhost | | | Y | Y |
            | | | | N | N |
            +-------+---+------+------+-------------+------------+
          4 rows in set (0.00 sec)

          默認情況下,可以不要任何用戶、口令登陸MySql;來自localhost的root用戶是沒有口令的,一旦有人偽裝成來自buider的root用戶,安全性就會受到挑戰。

          接著需要刪除多余的用戶:
          mysql> delete from user where user='';
          mysql> delete from user where host='buider';

          默認root用戶的空密碼也是必須修改:
          mysql> update user set password=password('123456') where user='root';
          mysql> flush privileges;

          這樣,MySQL數據庫root用戶的口令被改成123456了。其中最后一句命令flush privileges的意思是強制刷新內存授權表,否則用的還是緩沖中的口令,這時非法用戶還可以用root用戶及空口令登陸,直到重啟MySQL服務器。

          再來看看:
          mysql> select Host,User,Password,Select_priv,Grant_priv from user;

          ????+-----------+---------+------------------+-------------+------------+
              | Host      | User    | Password         | Select_priv | Grant_priv |
              +-----------+---------+------------------+-------------+------------+
              | localhost | root    | 565491d704013245 | Y           | Y          |
              +-----------+---------+------------------+-------------+------------+ 
              1 rows in set (0.03 sec)

          利用root用戶登陸是不明智的,因為它擁有太大的權限,在實際使用時應該會出現安全問題,應該再建立一個用戶,讓他只要select、insert、update、delete這些基本權限即可。
          像這樣建立一個叫javapro的用戶密碼為123456,它只能來自localhost并操作process下面所有的表:
          mysql> grant select,insert,update,delete on process.* to javapro@localhost identified by "123456";
          Query OK, 0 rows affected (0.00 sec)

          讓我們再來檢查一下:
          mysql> select Host,User,Password,Select_priv,Grant_priv from user;


          +-----------+---------+------------------+-------------+------------+ | Host | User | Password | Select_priv | Grant_priv | +-----------+---------+------------------+-------------+------------+ | localhost | root | 565491d704013245 | Y | Y | | localhost | javapro | 565491d704013245 | Y | N | +-----------+---------+------------------+-------------+------------+ 2 rows in set (0.00 sec)

          好,在程序中,我們只需要用javapro用戶對我們的工作表process進行基本操作就行了。

          另外注意一下數據庫備份的問題,mysqldump -u root -p mysql>samp.db.txt,在DOS命令臺(不是mysql)下運行之,可以在bin目錄下生成mysql數據庫下所有的表文件(samp.db.txt)。導入最好使用EMS MySql Manager。


          請注意!引用、轉貼本文應注明原作者:Rosen Jiang 以及出處:http://www.aygfsteel.com/rosen

          posted on 2006-04-26 16:51 都市淘沙者 閱讀(176) 評論(0)  編輯  收藏 所屬分類: Oracle/Mysql/Postgres/

          主站蜘蛛池模板: 原平市| 柞水县| 曲麻莱县| 天峻县| 南通市| 和硕县| 和顺县| 永州市| 香河县| 余庆县| 博湖县| 临猗县| 常熟市| 六盘水市| 丰宁| 额尔古纳市| 鄱阳县| 荔浦县| 博罗县| 汝州市| 朝阳市| 禹城市| 蕉岭县| 涡阳县| 隆化县| 邯郸县| 房山区| 彭山县| 睢宁县| 和硕县| 凤庆县| 苏尼特右旗| 岚皋县| 齐齐哈尔市| 三明市| 宾阳县| 灵武市| 临海市| 灵川县| 安岳县| 西乡县|