Import và Export cơ sở dữ liệu

Một phần của tài liệu Giáo trình hệ quản trị cở dữ liệu (nghề lập trình viên máy tính cao đẳng) (Trang 73)

2.1. Import database MySQL: Nhập database mysql

Để thực hiện nhập lại database bạn cần có file .sql chứa dữ liệu cần được nhập. File dữ liệu có thể ở dạng text với đuôi .sql hoặc ở dạng nén Gzip với đuôi .sql.gz Tiến hành đăng nhập vào Control Panel của Hostinger tại địa

chỉ https://cpanel.hostinger.vn. Tiếp tục chọn vào nút Quản lý ở host cần nhập. Tiếp theo, bạn hãy bấm chọn vào phpMyAdmin tại mục MySQL Databases. Các bước import database MySQL như sau:

Click vào icon phpMyAdmin trong phần Databases trong control panel của Hostinger

Chọn database của bạn (hoặc tạo mới một database), nhấn vào nút “Vào phpMyAdmin”

Khi đã vào được giao diện phpMyAdmin để quản lý database của bạn, tiến hành import database MySQL. Nếu database đang chứa dữ liệu, điều đầu tiên cần thực hiện là xóa tất cả các dữ liệu của database này trước khi nhập nếu không có thể gặp lỗi. Để xóa các dữ liệu có sẵn, chọn database của bạn:

Bấm vào mục Select all để chọn tất cả các table và nhấn nút Drop như hình bên trên để tiến hành xóa tất cả các dữ liệu hiện có. Bạn chỉ thực hiện bước này khi muốn nhập lại database cho một database đã có dữ liệu trước đó. Nếu bạn tạo mới một database để nhập thì có thể bỏ qua bước này.

Bước tiếp theo, bạn sẽ chọn file sql trên máy của bạn để upload lên. File sql này có thể ở dạng text .sql hay dạng nén với đuôi .sql.zip hay .sql.gz đều được. Bấm vào nút Choose File để chọn file database cần nhập, bấm tiêp Go để quá trình tải lên và nhập vào database của bạn. Khi phpMyAdmin chạy và hiện thông báo tương tự: Import has been successfully finished, 302 queries executed.

(u377365733_db.sql.gz) nghĩa là quá trình nhập database đã thành công.

2.2. Export database MySQL – Trích xuất DB

Việc xuất ra database cũng được thực hiện tương tự như lúc nhập. Cơ bản bạn chỉ cần chọn database cần export và truy cập vào giao diện

phpMyAdmin của database đó. Sau đó chọn mụcExport ở menu ngang bên trên, các tùy chọn khác để mặc định rồi nhấp nútGo để Export database MySQL về máy tính.

Tóm lại các bước export MySQL database đơn giản như sau: Truy cập vào phpMyAdmin của Database

Chọn Export

Chọn Quick (hoặc Custom và chọn tất cả các bạn) Hãy chắc rằng format là SQL

Bạn cũng có thể chọn xuất dữ liệu từ một table nào đó theo yêu cầu mà không phải là toàn bộ table trong database.

3.Tạo tài khoản người dùng và phân quyền

Bảo mật cơ sở dữ liệu sql server là giải pháp cho phép các quản trị viên cơ sở dữ liệu thiết lập quyền hạn cho người dùng hoặc nhóm người dùng khai thác cơ sở dữ liệu.

Người dùng hoặc nhóm người dùng sau khi được cấp quyền, có thể đăng nhập vào hệ thống và thực hiện các quyền hạn mà mình được cấp.

Bảo mật cơ sở dữ liệu sql server giúp phân quyền người dùng trên cơ sở dữ liệu. Hình bên dưới là một ví dụ về phân quyền trên cơ sở dữ liệu

Tình huống bảo mật cơ sở dữ liệu sql server

Cấp quyền cho người dùng tên test1 được phép xem dữ liệu trên bảng VATTU của cơ sở dữ liệu QuanLyBanHang

Các bước thực hiện bảo mật cơ sở dữ liệu sql server – Cấp quyền cho người dùng Đăng nhập vào hệ thống với quyền quản trị (Administrator) và thực hiện một trong hai cách sau:

Cách 1: Thực hiện bằng giao diện

Bước 3: Cp quyn cho người dùng

Bảo mật cơ sở dữ liệu sql server – Thiết lập chế độ chứng thực Windows và SQL Server

Bước 1: Đăng nhập vào SQL Server bằng chứng thực Windows với quyền admin

Bước 2: Chuột phải lên trên cùng -> chọn Properties

Bước 3: Chọn SQL Server and Windows Authencation mode

Bước 4: Khi động li SQL Server

Cho phép người dùng test2 được phép xem tất cả dữ liệu của cơ sở dữ

liệuQuanLyBanHang. Lưu ý: Kiểm tra quyền của người dùng này bằng cách sử dụng máy tính khác kết nối từ xa vào máy chủ (kết nối thông qua mạng LAN)

Cách 2: Thực hiện bằng câu lệnh

Bước 1: To tài khon đăng nhp

Cách 1:

create login tên_login with password = 'nhập_mật_khẩu'

Cách 2:

sp_addlogin 'tên_login','mật_khẩu'

Bước 2: To người dùng

Cách 1:

create user tên_user for login tên_login

Cách 2:

sp_adduser 'tên_login','tên_user'

Bước 3: Cp quyn cho người dùng

grant danh_sách_quyền on tên_bảng to tên_user [with grant option]

Tuỳ chọn [with grant option] được sử dụng để cho phép người dùng được phép cấp lại những quyền của mình cho người dùng khác.

Bảo mật cơ sở dữ liệu sql serverVí dụ cấp quyền cho người dùng

Tình huống: Cấp quyền xem và thêm dữ liệu trên bảng VATTU cho người dùng thanhnv.

Các bước thực hiện:

Bước 1: Tạo tài khoản đăng nhập

create login thanhnv with password = 'Abc12345' Bước 2: Tạo người dùng

create user thanhnv for login thanhnv Bước 3: Cấp quyền

grant select,insert on VATTU to thanhnv Bài tập vận dụng:

Cấp quyền xem và thêm trên bảng NHACC và bảng VATTU cho người dùng tên test3.

Lưu ý khi chúng ta muốn cấp quyền trên các cột, chúng ta phải chỉ định các cột được cấp như cú pháp bên dưới:

Cách 1:

grant select(danh_sách_cột) on tên_bảng to tên_user

Cách 2:

grant select on tên_bảng(danh_sách_cột) to tên_user

Ví dụ chỉ cho pháp người dùng thanhnv được phép xem 2 cột masv và tensv của bảng SINHVIEN

grant select(masv,tensv) on sinhvien to thanhnv

Bảo mật cơ sở dữ liệu sql server – Windows Authencation

Bước 1: Tạo tài khoản đăng nhập hệ điều hành Windows, chúng ta có thể sử dụng câu lệnh sau và thực hiện trong CMD của Windows

net user accountName accountPassword /add

Sử dụng SQL Server Management Studio và thực hiện các bước sau Bước 2: Tạo login ánh xạ đến tài khoản đăng nhập Windows

create login "hostName\accountName" from windows Bước 3: Tạo user

create useruserNamefor login"hostName\acountName" Bước 4: Cấp quyền cho user

grant permission on tableName to userName [with grant option]

Các bước thực hiện bảo mật cơ sở dữ liệu sql server – Cấp quyền cho nhóm Nhóm trong SQL Server bao gồm 1 hoặc nhiều user, điều này cũng tương tự như trong công ty hoặc tổ chức mỗi phòng ban có 1 hoặc nhiều nhân viên. Bên dưới là ví dụ về sơ đồ tổ chức của một công ty.

Như vậy thay vì chúng ta cấp quyền cho từng user, người quản trị có thể cấp quyền theo nhóm. Và những user thuộc nhóm quyền nào sẽ có tất cả quyền của nhóm đó. Do đó, khi người quản trị thực hiện thêm bớt quyền sẽ dễ dàng hơn.

Bước 1: Tạo nhóm Cách 1:

Create Role Tên_Nhóm

Cách 2:

Sp_AddRole 'Tên_Nhóm' Bước 2: Cấp quyền cho nhóm

Grant Quyền On Bảng To Tên_Nhóm Bước 3: Thêm user vào nhóm

Sp_AddRoleMember 'Tên_Nhóm', 'Tên_User'

Ví dụ cấp quyền cho nhóm xemdulieu quyền xem dữ liệu cơ sở dữ liệu

QuanLyBanHang. Trong nhóm quyền này có một user là DangLH Bước 1: Tạo nhóm quyền

Use QuanLyBanHang --Chọn cơ sở dữ liệu Create role xemdulieu

Bước 2: Cấp quyền cho nhóm

Grant select to xemdulieu

Bước 3: Tạo login tên DangLH, mật khẩu Abc12345

Create Login DangLH With Password = 'Abc12345' Bước 4: Tạo user DangLH sử dụng login DangLH

Use QuanLyBanHang --Chọn cơ sở dữ liệu Create User DangLH For Login DangLH Bước 5: Thêm usser DangLH vào nhóm xemdulieu

Sp_addRoleMember 'xemdulieu', 'DangLH'

Luu ý: Đăng nhập vào tài khoản DangLH để kiểm tra quyền đã được cấp cho nhóm xemdulieu

Bảo mật cơ sở dữ liệu sql server – Bài tập thực hành số 2

Câu 1: Tạo tài khoản

1.1 Tạo tài khoản đăng nhập SQLServer với tên đăng nhập lànhanvienvà password là123456

1.2 Tạo tài khoản đăng nhập SQLServer với tên đăng nhập làgiamdocvà password làgiamdoc

1.3 Tạo login có tên làthukhovới password làthukho

2.1 Tạo người dùng có tên nhanvien với tài khoản đăng nhập là nhanvien 2.2 Tạo người dùng có tên giamdoc với tài khoản đăng nhập là giamdoc 2.3 Tạo người dùng tên thukho với tên login là thukho

Câu 3: Cấp quyền

3.1 Cấp quyền cho những người dùng có tên là :nhanvien, giamdoc quyền thực thi các câu lệnh SELECT, INSERT và UPDATE trên bảng VATTU.

3.2 Cho phép những người dùng nhanvien, giamdoc quyền xem : năm tháng, mã vật tư, số lượng đầu, số lượng cuối trên bảng TONKHO (cột NAMTHANG, MAVTU, SLDAU, SLCUOI của bảng TONKHO).

3.3 Cấp quyền cho những người dùng nhanvien, giamdoc quyền SELECT, INSERT, UPDATE, DELETE trên bảng NHACC (Nhà cung cấp).

3.4 Cho phép người dùngthukho quyền xem dữ liệu trên bảng TONKHO, đồng thời có thể cấp lại quyền này cho những người dùng khác

3.5 Cấp quyền tạo cơ sở dữ liệu (Create Database) và tạo bảng (Create Table) cho người dùng có tên làgiamdoc.

Bảo mật cơ sở dữ liệu sql server – Bài tập thực hành số 3

Câu 1: Sử dụng tài khoản với quyền quản trị thực hiện tạo login, user và cấp quyền 1.1 Tạo login tên admin1, mật khẩu Abc12345

1.2 Tạo user thuộc cơ sở dữ liệu master (Databases->System Databases->master) 1.3 Cấp quyền tạo cơ sở dữ liệu, tạo bảng và quyền tạo login cho admin1

Câu 2: Sử dụng tài khoản admin1 và thực hiện các yêu cầu sau 2.1 Tạo CSDL QuanLyNhanSu

File Size MaxSize FileGrowth

Data 100 Không giới hạn 50

Log 300 Không giới hạn 100

2.2 Tạo bảng NhanVien và LuongNV thuộc CSDL QuanLyNhanSu Bảng NhanVien

Tên cột Kiểu dữ liệu Số kí tự Ghi chú

MaNv varchar 20 Khóa chính

NgaySinh varchar 10

NoiSinh nvarchar 50

Bảng LuongNV

Tên cột Kiểu dữ liệu Số kí tự Ghi chú

MaNv varchar 20 Khóa chính

NamThang varchar 7

Luong float

2.3 Tạo login chứng thực SQL Server (SQL Server Authencation)

Tên login Mật khẩu

LyNT Abc12345

HungNT Abc12345

2.4 Tạo user

Tên user Tên login

LyNT LyNT

HungNT HungNT

2.5 Cấp quyền

Tên user Tên bảng Quyền được cấp LyNT NhanVien, LuongNV Thêm, xóa dữ liệu

HungNT NhanVien Chỉ được phép xem MaNv,TenNV và cấp lại quyền. Cập nhật dữ liệu và cấp lại quyền.

Câu 3: Thiết lập ràng buộc dữ liệu

3.1 Giá trị cho cột ngày sinh không được lớn hơn ngày hiện hành 3.2 Giá trị cho cột lương không được nhỏ hơn 0

Bảo mật cơ sở dữ liệu sql server – Bài tập thực hành số 4 Câu 1: Tạo database tên QuanLyDaoTao

File Size MaxSize FileGrowth

Data 100 Không giới hạn 10

Log 300 Không giới hạn 30

Câu 2: Tạo các bảng thuộc CSDL QuanLyDaoTao Bảng Lop

Tên cột Kiểu dữ liệu Số kí tự Ghi chú

MaLop varchar 20 Khóa chính

TenLop nvarchar 100

Tên cột Kiểu dữ liệu Số kí tự Ghi chú

MaSv varchar 20 Khóa chính

TenSv nvarchar 100

NgaySinh varchar 10

NoiSinh nvarchar 50

MaLop varchar 20 Khóa ngoại

Bảng MonHoc

Tên cột Kiểu dữ liệu Số kí tự Ghi chú

MaMh varchar 20 Khóa chính

TenMh nvarchar 100

SoGio int

Bảng DiemTP

Tên cột Kiểu dữ liệu Số kí tự Ghi chú

MaSv varchar 20 Khóa chính

MaMh varchar 20

Diem float

Câu 3: Thiết lập ràng buộc dữ liệu

Câu 4: Thêm dữ liệu cho các bảng Bảng Lop

MaLop TenLop

CN0201 Khóa 2001

CN0202 Khóa 2002

Bảng SinhVien

MaSv TenSv NgaySinh(dd/mm/yyyy) NoiSinh MaLop

sv01 Nguyễn Văn Hưng 12/02/1988 Hồ Chí Minh CN0201

sv02 Lê Hùng 17/03/1990 Bình Dương CN0201

sv03 Lê Hùng 02/12/1991 Bình Dương CN0202

Bảng MonHoc

MaMh TenMh SoGio

THVP Tin học văn phòng 45

THDC Tin học đại cương 45

CSDL Cơ sở dữ liệu 30

Bảng DiemTP

sv01 THVP 8.0 sv01 THDC 7.0 sv01 CSDL 6.0 sv02 THVP 9.0 sv02 THDC 4.0 sv02 CSDL 7.0 sv03 THVP 5.0 sv03 THDC 5.0 sv03 CSDL 5.0 Câu 5: Cấp quyền

5.1 Tạo các nhóm quyền thuộc CSDL QuanLyDaoTao tương ứng với các phòng ban như mô tả trên

5.2 Cấp quyền cho các phòng ban trên CSDL QuanLyDaoTao

Ban Giam Hiệu được phép xem tất dữ liệu tất cả các bảng của database Khoa Mạng Truyền Thông được phép xem trên bảng SINHVIEN, LOP

Khoa Kỹ thuật phần mềm đươc phép xem, thêm, xóa và cập nhật dữ liệu trên bảng SINHVIEN, LOP, MONHOC

Khoa Tài chính kế toán chỉ được phép xem dữ liệu trên bảng DiemTP

Phòng Đào tạo được phép xem,thêm,xóa và cập nhật dữ liệu trên tất cả các bảng của database

5.3 Tạo danh sách nhân sự cho các phòng ban (Lưu ý tất cả tài khoản phải đổi mật khẩu trong lần đăng nhập đầu tiên)

Ban Giám Hiệu

Tên Mật khẩu

HoangNT Abc12345 Khoa Mạng Truyền Thông

Tên Mật khẩu TrungDM Abc12345 CongND Abc12345 DangNS Abc12345 Khoa Kỹ thuật phần mềm Tên Mật khẩu ThuatDV Abc12345 DatDT Abc12345 NguyenTT Abc12345

Khoa Tài chính kế toán

Tên Mật khẩu TuanTV Abc12345 DieuNT Abc12345 GiangNN Abc12345 Phòng Đào tạo Tên Mật khẩu TramNTH Abc12345 ThuyLT Abc12345 4. Truy cập CSDL từ Client 4.1. Với Máy chứa CSDL

(không nhất thiết cứ phải là server, máy nào cũng được hết) - Có cài đặt MS SQL Server

- Đã thiết lập user và phân quyền (không có user, khỏi kết nối)

- Kích hoạt chức năng remote connection cho MS SQL Server ( Microsoft SQL Server => Configuration Tools => SQL Server Surface Area Configuration => urface Area Configuration for Services and Connections => Database Engine => Remote ConnectionsLocal and remote connections , rồi sau đó chọn protocol muốn sử dụng => Apply. Khởi động lại máy.)

- Kích hoạt SQL Server Browser Service

- Vào Firewall (nếu có), chọn Exception cho SQL Server

* Cuối cùng, điều quan trọng nhất đây: máy phải forward port ra Internet, nếu bạn sử dụng modem phải đăng nhập vào modem admin để hướng port của SQL Server ra Internet.

4.2. Máy remote tới máy ở trên:

- Server: là IP ở trên

- User / Pass: đã thiết lập ở trên

- Database: tên db cho phép tới user kết nối.

5.Nhân bản cơ sở dữ liệu

Đồng bộ dữ liệu là phương pháp cho phép sao chép và phân phối dữ liệu cũng như

các đối tượng cơ sở dữ liệu từ một cơ sở dữ liệu này đến một cơ sở dữ liệu khác và sau đó đồng bộ hóa giữa các cơ sở dữ liệu để duy trì tính nhất quán.

Nhân bản và đồng bộ dữ liệu với sql server – Phân loại

Microsoft SQL Server cung cấp các loại đồng bộ dữ liệu bao gồm Transactional replication, Merge replication và Snapshot replication.

TRANSACTIONAL

Là loại đồng bộ bắt đầu với một bản chụp của các đối tượng cơ sở dữ liệu cũng như dữ liệu, sau đó những thay đổi dữ liệu tiếp theo chỉ được cập nhật một chiều

MERGE

Tương tự như Transactional replication, thường bắt đầu với một bản chụp của các

đối tượng cơ sở dữ liệu và dữ liệu, sau đó những thay đổi dữ liệu tiếp theo được cập nhật hai chiều từPublisher đếnSubscriber ngược lại.

SNAPSHOT

Giúp sao chép dữ liệu tại một thời điểm và không theo dõi các bản cập nhật dữ liệu tiếp theo. Khi đồng bộ hóa xảy ra, toàn bộ ảnh chụp được tạo ra và gửi đến các Subscriber một lần duy nhất.

Nhân bản và đồng bộ dữ liệu với sql server – Các bước thiết lập đồng bộ dữ

liệu Chuẩn bị

– Hai máy tính có cài Microsoft SQL Server cùng phiên bản. Một máy làmPublisher (Bên thiết lập để nhân bản và đồng bộ dữ liệu gọi là xuất bản). Máy tính thứ hai dùng để nhận dữ liệu được gọiSubscriber.

– Một cơ sở dữ liệu trên máy tính Publisher – Khởi độngSQL Server Agent

MởSQL Server Configuration Manager.Lưu ý, chúng ta có thể mở SQL Server Configuration Manager bằng dòng lệnh bằng cách sử dụng phím Windows + R và nhậpSQLSERVERMANAGERXX.msc. Đối với SQL Server 2008 thì XX là 10, SQL Server 2012 thì XX là 11, SQL Server 2014 thì XX là 12. Giả sử mở SQL Server Configuration Manager 2014 thì câu lệnh sẽ như hình

ChọnSQL Server Servicesở khung bên trái-> chuột phảiSQL Server Agent (MSSQLSERVER)ở khung bên phải -> chọnStart.

Nhân bản và đồng bộ dữ liệu với sql server – Tạo Publication

Tại máy chủ làm Publisher, mởSQL Server Management Studio -> kết ni vào máy ch và thc hin các bước sau:

2/ Chọn Next 3 lần. Sau đó chọn cơ sở dữ liệu muốn đồng bộ (Trong hình chúng tôi chọn QuanLyBanHang) -> chọn Next

3/ Chọn loại đồng bộ (Trong hình chúng tôi chọn Transactional publication), sau đó chọn Next

4/ Lựa chọn các bảng hoặc các đối tượng cơ sở dữ liệu muốn nhân bản và đồng bộ. Tại bước này, các bạn có thể chọn tất cả các bảng của database hoặc một số bảng mà mình muốn.

5/ Chọn Next, tại màn hình kế tiếp chọnCreate a snapshot immediately and keep the snapshot aviable to initialize subscritions

Một phần của tài liệu Giáo trình hệ quản trị cở dữ liệu (nghề lập trình viên máy tính cao đẳng) (Trang 73)

Tải bản đầy đủ (PDF)

(104 trang)