之前使用學校的空間架設論壇
老師給我的phpMyAdmin權限只能看到自己的資料庫與test資料庫
其它更改自己的權限與瀏覽別人的資料庫的權限是關閉的
這麼一來資料庫也變得比較安全
如今我自己在家的電腦也架設了幾個需要用到資料庫的網站
而且也分給不同網站建置者使用MySQL
因此決定要使用和學校一樣的方式提升資料庫的安全
一.利用phpMyAdmin這套軟體來新增學務系統的資料庫使用者帳號,並建立一個新的資料庫給此帳號來使用。
1.安裝phpMyAdmin
cd /home/x/public_html #進入x的家目錄
wget http://ftp.ccu.edu.tw/pub/packages/database/phpmyadmin/phpMyAdmin-2.7.0-rc1.tar.gz #下載phpMyAdmin tar zxvf phpMyAdmin-2.7.0-rc1.tar.gz #解壓縮 mv phpMyAdmin-2.7.0-rc1 phpMyAdmin #將解完的目錄更名為phpMyAdmin |
2.修改phpMyAdmin的設定檔config.default.php
vi phpMyAdmin/config.default.php
|
3.修改31行,設定phpMyAdmin的執行網址(記得按A,以進入編輯模式):
$cfg['PmaAbsoluteUri'] = 'http://網址/~x/phpMyAdmin/';
|
4.修改71行,設定phpMyAdmin的認證方式,建議用http較安全,不建議用config跟cookie:
$cfg['Servers'][$i]['auth_type'] = 'http';
|
最後按 Esc ,輸入「:wq」儲存離開。
5.打開瀏覽器,輸入剛剛在31行所寫的phpMyAdmin執行網址,然後用root帳號跟密碼登入。
6.先建立一個資料庫,資料庫名稱的第一個字一定要是英文,不可用數字。
圖 1. 建立資料庫
7.點選「權限」,準備新增使用者。
圖 2. 設定權限
圖 3. 新增使用者
8.輸入使用者名稱.主機跟密碼,下面的整體權限皆不給,也就是說,他只能看到自己能用的資料庫而已,別的資料庫一律無法讓他使用。
圖 6. 設定新使用者帳號密碼和整體權限(整體權限不要勾)
9.指定剛剛新增的資料庫給新使用者用:
圖 7. 指定該使用者能用的資料庫
萬一您點選「權限」出現錯誤訊息時:
圖 8. 權限表太舊所產生的訊息 那表示您的權限紀錄表太舊,解決方法很簡單: |
10.把該資料庫的功能權限都開給他,但管理權限則否。
圖 4. 設定該使用者對該資料庫的權限
11.登出phpMyAdmin,然後以新使用者的身份登入,如果看見如以下訊息,那表示OK囉!
圖 5. 重新以新使用者身份登入試試
您也可以用指令來新增資料庫,並指定可以使用此資料庫的使用者:
CREATE DATABASE `資料庫名稱`; GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER,CREATE TEMPORARY TABLES ON 資料庫名稱.* TO '資料庫帳號'@'localhost' IDENTIFIED BY '資料庫密碼' ; |
若忘了MySQL的管理者密碼該怎麼辦?
1.先停掉mysql
/etc/rc.d/init.d/mysqld stop
|
2.以--skip-grant-table 的參數啟動mysql
safe_mysqld --skip-grant-table&
|
3. 更改root 密碼
mysql mysql
mysql> UPDATE user SET password=password('newpassword') WHERE user='root'; |
4.停掉mysql再重跑
mysqladmin -uroot -p shutdown
Enter password: //輸入新設定的密碼
/etc/rc.d/init.d/mysqld start