MySQL Server 簡介
The materials presented in this web page is provided as is and is used solely for educational purpose. Use at your own risks.Written by: 國立中興大學資管系呂瑞麟 Eric Jui-Lin Lu
請勿轉貼
看其他教材
本文假設你已經安裝了 MySQL Server 5.1.x 或者 5.5.x 版。由於 root 擁有最高權限, 因此練習中非常容易造成嚴重的錯誤,為了方便,大多數都會產生一個擁有 一般權限的使用者,並為其指定一個專用的資料庫,以便於測試。 以下我們假設要產生一個使用者 jlu 並使他成為名為 eric 資料庫的擁有者,而且 允許這個使用者能從任何電腦連到這個資料庫。這個步驟主要是給資料庫 管理員的,而你需要使用 mysql 這個執行檔。
- 啟動 MySQL 資料庫:如果你依據之前的建議安裝方式,請在 e:\mysql
目錄下,執行
.\startup.bat
mysqld_safe --user=mysql
- 進入 mysql:剛安裝好的時候,MySQL 為你設定兩個使用者,一個是 root,
另一個是 anonymous,而這兩個帳號的密碼一開始的時候是空的,
所以第一次 login 是不需要密碼的。
// 請在命令提示字元視窗內,進入 e:\mysql\bin,語法是在 // 視窗內,分別輸入 // e: // cd \mysql\bin // 這兩個指令。然後,輸入 mysql -u root
// 想看看目前有幾個 databases,所有系統設定都在 mysql 這個資料庫 show databases; // 使用 mysql 這個資料庫 use mysql; // 想看看目前使用的 database 有幾個 tables show tables; // 看看有哪些使用者 select host, user from user; // 讓我們為 root 設定密碼 // 更改 user table 中的 password 欄位的值 // 下列指令中的 newpasswd 請把它改成你希望的密碼 update user set password = password('newpasswd') where user='root'; // 讓我們把 anonymous 帳號刪除 delete from user where user=''; // 讓修改馬上生效 flush privileges; // logout quit // 重新 login, 這次就需要密碼了 // 以 -p 來指定在 enter 後輸入密碼 // 依照 MySQL 的官方文件,從 MySQL 4.1.1 版之後,你所輸入的密碼 // 並不會是以明文的方市在網路上傳送,因此他們認為非常安全 // 但是所有傳送的資料卻都是明文的。建議使用 ssh mysql -u root -p
- 產生新的使用者 jlu
// 兩個 some-password 可以不同,但是這會造成再 localhost 登入時 // 所用的密碼和遠端登入時不一樣 // // 授與使用者 jlu 在資料庫 eric 中所有的權限 grant all privileges on eric.* to 'jlu'@'localhost' identified by 'some-password' with grant option; // 你可以檢查一下使用者是否已經產生 select host, user from mysql.user; // % 代表所有遠端電腦都可以登入,如果你的安全需求比較高,建議不要 grant all privileges on eric.* to 'jlu'@'%' identified by 'some-password' with grant option;
- 產生資料庫 eric 並將 eric 的權限給使用者 jlu。以下的語法,資料庫
eric 以綠色表示。
// 產生資料庫 eric create database eric; // 將 eric 的權限給使用者 jlu grant all on eric.* to jlu@'localhost'; // 檢查資料庫 eric 是否已經產生 show databases;
- 由於資料庫系統安裝於遠端的 Unix 電腦上,而我們一般都是使用 Microsoft Windows 的系統,因此使用一個 GUI 介面的程式將會非常方便,我們建議安裝 MySQL 下載頁 中的 MySQL Workbench。
Written by: 國立中興大學資管系呂瑞麟 Eric Jui-Lin Lu
沒有留言:
張貼留言