MySQL 資料庫教學

21
MySQL 資資資資資 3-1 資資資資資資資資 3-2 資資 MySQL 資資資資資資 3-3 資資資資資資資 MySQL 資資資 3-4 資資資資資資資資 3-4-1 資資資資資資 3-4-2 mysqldump 資資資資

description

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“ 新密碼’ - PowerPoint PPT Presentation

Transcript of MySQL 資料庫教學

Page 1: MySQL 資料庫教學

MySQL 資料庫教學

3-1 設定管理者的密碼3-2增加MySQL資料庫使用者3-3取消權限或移除MySQL使用者3-4備份和拷貝資料庫3-4-1直接拷貝資料3-4-2 mysqldump備份指令

Page 2: MySQL 資料庫教學

1-1 設定管理者的密碼• 為了管理 MySQL 資料庫,我們必需建立至少

一個 MySQL 的帳號,我們可以使用 mysqladmin 的指令。為了增加超級使用者成為 MySQL資料庫的管理者,我們可以使用下列的語法。

• mysqladmin –u root password“ 新密碼’

• 當我們要再次登錄時,只要輸入 mysql –p 再輸入密碼就可以登錄了。

Page 3: MySQL 資料庫教學

• 使用 mysqladmin processlist –p 就可以看到現在線上有多少人使用

Page 4: MySQL 資料庫教學

1-2 增加 MySQL 資料庫使用者• 在 mysql 中我們使用 grant 敘述,來給予使

用者權限。grant priviledges(columns)

on what

to user identified by “密碼”

With grant option

Privileges 這權限是給使用者

權限:alter 改變資料表與索引

create 製作資料庫和資料表

delete 由資料表中刪除資料

drop 移除資料庫或資料表

insert 插入資料到資料表

seletct 開啟資料表

update 修改資料表

ALL 可以做任何事情

Page 5: MySQL 資料庫教學

• What ﹕ 權限所套用的層級,可用在所有資料庫及資料表,也可以指定特定資料庫或資料欄位。

• User ﹕ 賦予權限給特定的使用者,它包括使用者主機及名稱。

• 密碼 ﹕指定使用者所用的密碼。如果新增的使用者沒有指定 (identified) 密碼,這代表該使用者沒有密碼。

• 我們使用 grant usage on *.* to baby@localhost identified by “331032” 來新增 MySQL 資料庫的使用者 baby 。當我們要登錄 MySQL 資料庫時,只需輸入 mysql –u byby –p再輸入密碼及可。 localhost 指的是本地端的網址,如果使用者有指定網址,則可以使用所指定的網址,如 [email protected] 是指 baby 使用者在 aasisr.com 網址。

Page 6: MySQL 資料庫教學
Page 7: MySQL 資料庫教學

• 我們使用 grant 來授權對nuke 資料庫作 delete 、 insert 、 select 、 update的操作給使用者 chai 在 localhost 的網站,其辨識密碼是 331032aa 。

• 我們這時使用 chai 登錄 MySQL 資料庫時,就只能使用 nuke 資料庫的 delete 、 insert 、 select 、 update 權限操作。

Page 8: MySQL 資料庫教學

• 我們使用 mysql>use mysql; • mysql>select * from db where db=”nuke”• 就可以看到 nuke 資料庫的權限使用狀況。

Page 9: MySQL 資料庫教學

1-3 取消權限或移除 MySQL 使用者

• 要移除某個使用者的權限,可用 revoke 敘述,其用法如 grant 敘述。revoke priviledges(columns)

On what

from user

Page 10: MySQL 資料庫教學

• revoke 敘述只移除權限而非使用者,該使用者的項目存於 user 資料表中,所以使用者依舊可以連到伺服器上,要完整的移除使用者,必須使用 delete 敘述明確的由 user 資料表上,將使用者紀錄刪除。

• 使用 revoke 來取消 chai在 localhost 網站的所有 mysql 存取權限。

Page 11: MySQL 資料庫教學

• 使用 delete 敘述將在MySQL 資料庫的使用者 chai 在 localhost 網站給移除,移除過後使用 flush privileges來更新 MySQL 資料庫的權限。

Page 12: MySQL 資料庫教學

1-4 備份和拷貝資料庫• 備份資料庫是很重要的例常性工作以免資

料庫當機或各種事件發生時資料遺失,而且對於銀行或財經單位,資料的備份是很重要的。

Page 13: MySQL 資料庫教學

1-4-1 直接拷貝資料• 備份是很簡單的,就像我

們將檔案複製到其他地方去放,要用時再將檔案複製到原來的目錄。

• 例如我們可以將 shop 資料庫中的資料表複製到 /var/backup 目錄下放置。

• 首先我們使用 mkdir 指令新增一個目錄 backup ,再將該目錄權限設定為可讀可寫可執行, chmod 777 *

Page 14: MySQL 資料庫教學

• 然後到 /var/lib/mysql 目錄下可以看到六個資料庫,我們現在要備份 shop 資料庫。使用 cp 複製指令,參數 – r 複製 mysql 資料庫的目錄到 /var/backup目錄底下。

• 當將目錄拷背完後,再將資料表一一的從 mysql 資料庫目錄中拷背到 /var/backup/mysql 目錄底下。

Page 15: MySQL 資料庫教學

• 當我們想要還原資料庫或資料表時,只要將備份的資料庫或資料表拷貝回去,然後再將資料表的權限設為可讀可寫可執行即可。

Page 16: MySQL 資料庫教學

1-4-2mysqldump 備份指令• mysqldump 指令來拷

背資料沒有直接拷背資料來得快,但是也是一個簡單的方法。我們將資料庫 goddess 的資料放置於 /var/goddess.2003 的檔案。我們使用輸出 > 的符號。

Page 17: MySQL 資料庫教學

• 我們可以觀看備份檔 goddess.2003 的內容。

• #vi /var/goddess.2003• 這是 goddess 資料庫

的結構。

Page 18: MySQL 資料庫教學

• 這是 goddess 資料庫中資料表 jig 的內容,這些都儲存傾倒在我們所設定的 goddess.2003 的檔案中。

Page 19: MySQL 資料庫教學

• 如果要從備份的 MySQL 資料庫檔案 goddess.2003 的資料還原,則使用 < 輸入的符號。

Page 20: MySQL 資料庫教學

• 例如將所有資料庫的資料備份到 dumpfile.sql 。

• #mysqldump –p –u root - -all-databases –opt > dumpfile.sql

• 從備份的資料載入到資料庫可以用。

• #mysql –p –u root < dumpfile.sql

• 我們也可以使用 mysqlhotcopy指令來拷背資料庫的資料,當使用 mysqlhotcopy 指令時,可以將被拷背的資料庫鎖住,因此可以保持資料庫的完整性。我們下列將 goddess 資料庫的資料拷背到 /home/chaiyen 的目錄底下。

Page 21: MySQL 資料庫教學

• 這是我們使用 mysqlhotcopy 所拷背的資料,都放置在 /home/chaiyen/goddess 目錄底下。