280 likes | 564 Views
MySQL 資料庫教學. 3-1 設定管理者的密碼 3-2 增加 MySQL 資料庫使用者 3-3 取消權限或移除 MySQL 使用者 3-4 備份和拷貝資料庫 3-4-1 直接拷貝資料 3-4-2 mysqldump 備份指令. 1-1 設定管理者的密碼. 為了管理 MySQL 資料庫,我們必需建立至少一個 MySQL 的帳號,我們可以使用 mysqladmin 的指令。為了增加超級使用者成為 MySQL 資料庫的管理者,我們可以使用下列的語法。 mysqladmin –u root password“ 新密碼’
E N D
MySQL資料庫教學 3-1 設定管理者的密碼 3-2增加MySQL資料庫使用者 3-3取消權限或移除MySQL使用者 3-4備份和拷貝資料庫 3-4-1直接拷貝資料 3-4-2 mysqldump備份指令
1-1設定管理者的密碼 • 為了管理MySQL資料庫,我們必需建立至少一個MySQL的帳號,我們可以使用mysqladmin的指令。為了增加超級使用者成為MySQL資料庫的管理者,我們可以使用下列的語法。 • mysqladmin –u root password“新密碼’ • 當我們要再次登錄時,只要輸入mysql –p再輸入密碼就可以登錄了。
使用mysqladmin processlist –p就可以看到現在線上有多少人使用
1-2增加MySQL資料庫使用者 • 在mysql中我們使用grant敘述,來給予使用者權限。
What ﹕權限所套用的層級,可用在所有資料庫及資料表,也可以指定特定資料庫或資料欄位。 • User ﹕賦予權限給特定的使用者,它包括使用者主機及名稱。 • 密碼 ﹕指定使用者所用的密碼。如果新增的使用者沒有指定(identified)密碼,這代表該使用者沒有密碼。 • 我們使用grant usage on *.* to baby@localhost identified by “331032”來新增MySQL資料庫的使用者baby。當我們要登錄MySQL資料庫時,只需輸入mysql –u byby –p再輸入密碼及可。localhost指的是本地端的網址,如果使用者有指定網址,則可以使用所指定的網址,如baby@aasir.com是指baby使用者在aasisr.com網址。
我們使用grant來授權對nuke資料庫作delete、insert、select、update的操作給使用者chai在localhost的網站,其辨識密碼是331032aa。我們使用grant來授權對nuke資料庫作delete、insert、select、update的操作給使用者chai在localhost的網站,其辨識密碼是331032aa。 • 我們這時使用chai登錄MySQL資料庫時,就只能使用nuke資料庫的delete、insert、select、update權限操作。
我們使用mysql>use mysql; • mysql>select * from db where db=”nuke” • 就可以看到nuke資料庫的權限使用狀況。
1-3取消權限或移除MySQL使用者 • 要移除某個使用者的權限,可用revoke敘述,其用法如grant敘述。
revoke敘述只移除權限而非使用者,該使用者的項目存於user資料表中,所以使用者依舊可以連到伺服器上,要完整的移除使用者,必須使用delete敘述明確的由user資料表上,將使用者紀錄刪除。revoke敘述只移除權限而非使用者,該使用者的項目存於user資料表中,所以使用者依舊可以連到伺服器上,要完整的移除使用者,必須使用delete敘述明確的由user資料表上,將使用者紀錄刪除。 • 使用revoke來取消chai在localhost網站的所有mysql存取權限。
使用delete敘述將在MySQL資料庫的使用者chai在localhost網站給移除,移除過後使用flush privileges來更新MySQL資料庫的權限。
1-4備份和拷貝資料庫 • 備份資料庫是很重要的例常性工作以免資料庫當機或各種事件發生時資料遺失,而且對於銀行或財經單位,資料的備份是很重要的。
1-4-1直接拷貝資料 • 備份是很簡單的,就像我們將檔案複製到其他地方去放,要用時再將檔案複製到原來的目錄。 • 例如我們可以將shop資料庫中的資料表複製到/var/backup目錄下放置。 • 首先我們使用mkdir指令新增一個目錄backup,再將該目錄權限設定為可讀可寫可執行,chmod 777 *
然後到/var/lib/mysql目錄下可以看到六個資料庫,我們現在要備份shop資料庫。使用cp 複製指令,參數 –r複製mysql資料庫的目錄到/var/backup目錄底下。 • 當將目錄拷背完後,再將資料表一一的從mysql資料庫目錄中拷背到/var/backup/mysql目錄底下。
當我們想要還原資料庫或資料表時,只要將備份的資料庫或資料表拷貝回去,然後再將資料表的權限設為可讀可寫可執行即可。當我們想要還原資料庫或資料表時,只要將備份的資料庫或資料表拷貝回去,然後再將資料表的權限設為可讀可寫可執行即可。
1-4-2mysqldump備份指令 • mysqldump指令來拷背資料沒有直接拷背資料來得快,但是也是一個簡單的方法。我們將資料庫goddess的資料放置於/var/goddess.2003的檔案。我們使用輸出>的符號。
我們可以觀看備份檔goddess.2003的內容。 • #vi /var/goddess.2003 • 這是goddess資料庫的結構。
這是goddess資料庫中資料表jig的內容,這些都儲存傾倒在我們所設定的goddess.2003的檔案中。這是goddess資料庫中資料表jig的內容,這些都儲存傾倒在我們所設定的goddess.2003的檔案中。
如果要從備份的MySQL資料庫檔案goddess.2003的資料還原,則使用<輸入的符號。如果要從備份的MySQL資料庫檔案goddess.2003的資料還原,則使用<輸入的符號。
例如將所有資料庫的資料備份到dumpfile.sql。 • #mysqldump –p –u root - -all-databases –opt > dumpfile.sql • 從備份的資料載入到資料庫可以用。 • #mysql –p –u root < dumpfile.sql • 我們也可以使用mysqlhotcopy指令來拷背資料庫的資料,當使用mysqlhotcopy指令時,可以將被拷背的資料庫鎖住,因此可以保持資料庫的完整性。我們下列將goddess資料庫的資料拷背到/home/chaiyen的目錄底下。
這是我們使用mysqlhotcopy所拷背的資料,都放置在/home/chaiyen/goddess目錄底下。這是我們使用mysqlhotcopy所拷背的資料,都放置在/home/chaiyen/goddess目錄底下。