Apache & MySQL & PHP
Apache & MySQL & PHP
Đặng Thành Trung
Đặng Thành Trung
1. Giới thiệu về Apache
1. Giới thiệu về Apache
•
Là một WEB Server miễn phí được phát triển theo chuẩn mã nguồn mở.
Là một WEB Server miễn phí được phát triển theo chuẩn mã nguồn mở.
•
Apache chạy được trong cả hai môi trường Linux và Windows.
Apache chạy được trong cả hai môi trường Linux và Windows.
•
Có thể download phiên bản mới nhất của Apache tại địa chỉ:
Có thể download phiên bản mới nhất của Apache tại địa chỉ:
•
Các phiên bản 1.x và 2.x (mới nhất) khác nhau về kiến trúc. Chi tiết xin xem trong feature log.
Các phiên bản 1.x và 2.x (mới nhất) khác nhau về kiến trúc. Chi tiết xin xem trong feature log.
1.1. Cài đặt Apache 2.x
1.1. Cài đặt Apache 2.x
•
Download phiên bản mới nhất
Download phiên bản mới nhất
RPM (.rpm)
RPM (.rpm)
Linux
Linux
Source code (.tar.bz2)
Source code (.tar.bz2)
Apache
Apache
Program install (.msi)
Program install (.msi)
Windows
Windows
Source code (.zip)
Source code (.zip)
1.2. Cài đặt Apache 2.x (Windows)
1.2. Cài đặt Apache 2.x (Windows)
•
Để cài đặt Apache trong Windows bằng chương trình cài đặt tự động, cần download chương trình này về từ website của Apache.
Để cài đặt Apache trong Windows bằng chương trình cài đặt tự động, cần download chương trình này về từ website của Apache.
Thông thường những chương trình dạng này sẽ không hỗ trợ giao thức https.
Thông thường những chương trình dạng này sẽ không hỗ trợ giao thức https.
•
Quá trình cài đặt sẽ tự động sao chép tất cả các file cần thiết vào thư mục chỉ định.
Quá trình cài đặt sẽ tự động sao chép tất cả các file cần thiết vào thư mục chỉ định.
•
Có thể sử dụng chương trình quản lý ở mức dịch vụ để start, stop, restart, reload Apache hoặc khởi động bằng tay.
Có thể sử dụng chương trình quản lý ở mức dịch vụ để start, stop, restart, reload Apache hoặc khởi động bằng tay.
1.3. Cấu hình Apache
1.3. Cấu hình Apache
•
Toàn bộ cấu hình của Apache đều được lưu dưới dạng text.
Toàn bộ cấu hình của Apache đều được lưu dưới dạng text.
•
File cấu hình chính là
File cấu hình chính là
httpd.conf
httpd.conf
nằm trong thư mục
nằm trong thư mục
{apache_dir}\conf
{apache_dir}\conf
. Trong file này có thể chứa các khai báo include đến
. Trong file này có thể chứa các khai báo include đến
những file cấu hình khác.
những file cấu hình khác.
•
Mỗi dòng trong file cấu hình đều mang 1 ý nghĩa
Mỗi dòng trong file cấu hình đều mang 1 ý nghĩa
–
Là khoảng trắng
Là khoảng trắng
–
Là chú thích (bắt đầu bằng ký tự #)
Là chú thích (bắt đầu bằng ký tự #)
–
Là khai báo (gồm từ khóa và giá trị). Từ khóa và
Là khai báo (gồm từ khóa và giá trị). Từ khóa và
giá trị
giá trị
1.3. Cấu hình Apache (tt)
1.3. Cấu hình Apache (tt)
•
Toàn bộ tài liệu về Apache (bao gồm cả các khai báo cấu hình) đều được cài đặt (mặc định) cùng với Apache. Có thể truy cập
Toàn bộ tài liệu về Apache (bao gồm cả các khai báo cấu hình) đều được cài đặt (mặc định) cùng với Apache. Có thể truy cập
vào tài liệu này thông qua URL (có dấu / cuối cùng)
vào tài liệu này thông qua URL (có dấu / cuối cùng)
http://<tênmáy | IP>/manual/
http://<tênmáy | IP>/manual/
•
Thông thường URL trên sẽ bị vô hiệu hóa (mặc định) cho đến khi bỏ chú thích dòng “
Thông thường URL trên sẽ bị vô hiệu hóa (mặc định) cho đến khi bỏ chú thích dòng “
Include conf/extra/httpd-manual.conf
Include conf/extra/httpd-manual.conf
” trong
” trong
file cấu hình chính (
file cấu hình chính (
httpd.conf
httpd.conf
) và restart lại Apache.
) và restart lại Apache.
1.3. Cấu hình Apache (tt)
1.3. Cấu hình Apache (tt)
•
Sau đây là một số khai báo thường gặp khi cấu hình Apache:
Sau đây là một số khai báo thường gặp khi cấu hình Apache:
–
Listen
Listen
: Khai báo web server sẽ được dùng tại IP
: Khai báo web server sẽ được dùng tại IP
nào và cổng nào. Có thể khai báo nhiều lần
nào và cổng nào. Có thể khai báo nhiều lần
–
LoadModule
LoadModule
: Khai báo các module được nạp vào khi
: Khai báo các module được nạp vào khi
Apache khởi động. Nên dùng để bỏ bớt các module
Apache khởi động. Nên dùng để bỏ bớt các module
không cần thiết hoặc nạp module do người dùng tự
không cần thiết hoặc nạp module do người dùng tự
viết.
viết.
–
ServerName
ServerName
: Tên của server. Nếu Apache không tìm
: Tên của server. Nếu Apache không tìm
được tên của máy tính qua DNS thì khai báo này
được tên của máy tính qua DNS thì khai báo này
bắt buộc phải có.
bắt buộc phải có.
–
DocumentRoot
DocumentRoot
: Thư mục gốc của web server. Cần lưu
: Thư mục gốc của web server. Cần lưu
ý đến quyền của hệ thống gán lên thư mục này đối
ý đến quyền của hệ thống gán lên thư mục này đối
với account dùng để chạy Apache.
với account dùng để chạy Apache.
1.3. Cấu hình Apache (tt)
1.3. Cấu hình Apache (tt)
•
một số khai báo thường gặp khi cấu hình Apache:
một số khai báo thường gặp khi cấu hình Apache:
–
DirectoryIndex
DirectoryIndex
: Khai báo các file mặc định
: Khai báo các file mặc định
–
AddDefaultCharset
AddDefaultCharset
: Khai báo bảng mã mặc định của
: Khai báo bảng mã mặc định của
luồng siêu văn bản trả về cho client.
luồng siêu văn bản trả về cho client.
–
Directory
Directory
: Là khai báo khối (bên trong chứa các
: Là khai báo khối (bên trong chứa các
khai báo con) dùng để định nghĩa quy tắc ứng xử
khai báo con) dùng để định nghĩa quy tắc ứng xử
của Apache đối với từng thư mục.
của Apache đối với từng thư mục.
–
VirtualHost
VirtualHost
: Là khai báo khối, dùng để định nghĩa
: Là khai báo khối, dùng để định nghĩa
các web server ảo theo tên trên một máy tính duy
các web server ảo theo tên trên một máy tính duy
nhất.
nhất.
–
Alias
Alias
: Dùng để tạo các thư mục ảo.
: Dùng để tạo các thư mục ảo.
2. Giới thiệu về MySQL
2. Giới thiệu về MySQL
•
Là một hệ quản trị cơ sở dữ liệu miễn phí được phát triển theo chuẩn mã nguồn mở.
Là một hệ quản trị cơ sở dữ liệu miễn phí được phát triển theo chuẩn mã nguồn mở.
•
MySQL chạy được trong cả hai môi trường Linux và Windows.
MySQL chạy được trong cả hai môi trường Linux và Windows.
•
Có thể download phiên bản mới nhất của MySQL tại địa chỉ:
Có thể download phiên bản mới nhất của MySQL tại địa chỉ:
•
Các phiên bản 3.x, 4x và 5.x (mới nhất) khác nhau về kiến trúc. Chi tiết xin xem trong feature log.
Các phiên bản 3.x, 4x và 5.x (mới nhất) khác nhau về kiến trúc. Chi tiết xin xem trong feature log.
2.1. Cài đặt MySQL 5.x
2.1. Cài đặt MySQL 5.x
•
Download phiên bản mới nhất
Download phiên bản mới nhất
RPM (.rpm)
RPM (.rpm)
Linux
Linux
Source code (.tar.gz)
Source code (.tar.gz)
MySQL
MySQL
Program install (.msi)
Program install (.msi)
Windows
Windows
Source code (.zip)
Source code (.zip)
2.2. Cài đặt MySQL 5.x (Windows)
2.2. Cài đặt MySQL 5.x (Windows)
•
Để cài đặt MySQL trong Windows bằng chương trình cài đặt tự động, cần download chương trình này về từ website của MySQL.
Để cài đặt MySQL trong Windows bằng chương trình cài đặt tự động, cần download chương trình này về từ website của MySQL.
•
Quá trình cài đặt sẽ tự động sao chép tất cả các file cần thiết vào thư mục chỉ định.
Quá trình cài đặt sẽ tự động sao chép tất cả các file cần thiết vào thư mục chỉ định.
•
Sau khi cài đặt có thể sử dụng tiện ích cấu hình tự động để thiết lập các tham số ban đầu cho MySQL.
Sau khi cài đặt có thể sử dụng tiện ích cấu hình tự động để thiết lập các tham số ban đầu cho MySQL.
•
Tập tin cấu hình của MySQL có tên là
Tập tin cấu hình của MySQL có tên là
my.ini
my.ini
được đặt tại thư mục
được đặt tại thư mục
{mysql_dir}
{mysql_dir}
là thư mục cài đặt MySQL.
là thư mục cài đặt MySQL.
2.3. Tập lệnh của mysql
2.3. Tập lệnh của mysql
•
Các lệnh của mysql được lưu trong thư mục {mysql_dir}\bin
Các lệnh của mysql được lưu trong thư mục {mysql_dir}\bin
•
Nên đưa thư mục trên vào đường dẫn PATH để có thể sử dụng lệnh trong mọi ngữ cảnh của dòng lệnh.
Nên đưa thư mục trên vào đường dẫn PATH để có thể sử dụng lệnh trong mọi ngữ cảnh của dòng lệnh.
•
Sau đây là một số lệnh thường dùng
Sau đây là một số lệnh thường dùng
–
mysqld-nt
mysqld-nt
: Là chương trình server để lắng nghe
: Là chương trình server để lắng nghe
các yêu cầu của client.
các yêu cầu của client.
–
mysql
mysql
: Là chương trình client dùng để kết nối và
: Là chương trình client dùng để kết nối và
quản trị bằng câu lệnh.
quản trị bằng câu lệnh.
–
mysqldump
mysqldump
: Là chương trình cho phép kết xuất cấu
: Là chương trình cho phép kết xuất cấu
trúc và dữ liệu của các bảng trong mysql ra luồng
trúc và dữ liệu của các bảng trong mysql ra luồng
dữ liệu dạng text.
dữ liệu dạng text.
2.4. Sử dụng lệnh mysql
2.4. Sử dụng lệnh mysql
•
Để sử dụng lệnh mysql kết nối vào một mysql server ta dùng cú pháp sau:
Để sử dụng lệnh mysql kết nối vào một mysql server ta dùng cú pháp sau:
mysql [–u <user>] [-p] [-h <host>] [-P <port>]
mysql [–u <user>] [-p] [-h <host>] [-P <port>]
•
Trong đó:
Trong đó:
–
u: Dùng để chỉ định người dùng khi kết nối. Mặc
u: Dùng để chỉ định người dùng khi kết nối. Mặc
định trong Windows là ODBC.
định trong Windows là ODBC.
–
p: Dùng để chỉ định là người dùng tương ứng có
p: Dùng để chỉ định là người dùng tương ứng có
mật khẩu kết nối hay không.
mật khẩu kết nối hay không.
–
h: Dùng để chỉ định địa chỉ (Tên hoặc IP) của
h: Dùng để chỉ định địa chỉ (Tên hoặc IP) của
mysql server cần kết nối. Mặc định là localhost.
mysql server cần kết nối. Mặc định là localhost.
–
P: Dùng để chỉ định cổng kết nối. Mặc định là
P: Dùng để chỉ định cổng kết nối. Mặc định là
3306.
3306.
2.4. Sử dụng lệnh mysql (tt)
2.4. Sử dụng lệnh mysql (tt)
•
Sau khi kết nối thành công, có thể sử dụng các lệnh sau (kết thúc lệnh là dấu ;) để quản trị mysql server:
Sau khi kết nối thành công, có thể sử dụng các lệnh sau (kết thúc lệnh là dấu ;) để quản trị mysql server:
–
source <path to file>
source <path to file>
–
<create | drop> database <db name>; show
<create | drop> database <db name>; show
databases
databases
–
use <db name>; show tables
use <db name>; show tables
–
<create | drop | alter> table; desc <table name>
<create | drop | alter> table; desc <table name>
–
select, insert, update, delete
select, insert, update, delete
–
grant, revoke, flush, set password
grant, revoke, flush, set password
–
…
…
•
Tập đầy đủ các lệnh mysql có thể được download và tra cứu tại trang chủ của MySQL.
Tập đầy đủ các lệnh mysql có thể được download và tra cứu tại trang chủ của MySQL.
2.5. Bảo mật trong MySQL
2.5. Bảo mật trong MySQL
•
Để kết nối được với mysql server, client cần có ít nhất 1
Để kết nối được với mysql server, client cần có ít nhất 1
account đã được khai báo trong
account đã được khai báo trong
csdl người dùng & phân quyền
csdl người dùng & phân quyền
của mysql server. Đây là một csdl ẩn, không được phép hiển thị
của mysql server. Đây là một csdl ẩn, không được phép hiển thị
trong mọi lệnh của mysql.
trong mọi lệnh của mysql.
•
Tất cả dữ liệu nằm trong csdl có tên là mysql chính là
Tất cả dữ liệu nằm trong csdl có tên là mysql chính là
ánh xạ
ánh xạ
của csdl người dùng & phân quyền.
của csdl người dùng & phân quyền.
•
Lưu ý, ánh xạ trên là
Lưu ý, ánh xạ trên là
một chiều
một chiều
. Tức là chỉ có
. Tức là chỉ có
chiều từ csdl
chiều từ csdl
mysql sang csdl người dùng & phân quyền
mysql sang csdl người dùng & phân quyền
. Tuy nhiên, không
. Tuy nhiên, không
phải mỗi khi csdl mysql thay đổi thì csdl kia thay đổi theo.
phải mỗi khi csdl mysql thay đổi thì csdl kia thay đổi theo.
•
Để có quyền thay đổi (thực hiện ánh xạ), người dùng cần phải
Để có quyền thay đổi (thực hiện ánh xạ), người dùng cần phải
có 2 quyền:
có 2 quyền:
grant
grant
và
và
reload
reload
.
.
2.5. Bảo mật trong MySQL (tt)
2.5. Bảo mật trong MySQL (tt)
•
CSDL mysql chứa nhiều bảng bên trong, trong đó chỉ có
CSDL mysql chứa nhiều bảng bên trong, trong đó chỉ có
bảng user
bảng user
chứa định nghĩa về người dùng mysql.
chứa định nghĩa về người dùng mysql.
•
Bảng user có
Bảng user có
khóa chính là user và host
khóa chính là user và host
–
nếu host = ‘’ nghĩa là user được phép đăng nhập từ mọi host
nếu host = ‘’ nghĩa là user được phép đăng nhập từ mọi host
–
nếu host = ‘%’ nghĩa là user được phép đăng nhập từ mọi host
nếu host = ‘%’ nghĩa là user được phép đăng nhập từ mọi host
trừ localhost
trừ localhost
–
giá trị của host là khác nhau với tên và IP (nghĩa là
giá trị của host là khác nhau với tên và IP (nghĩa là
‘localhost’ <> 127.0.0.1
‘localhost’ <> 127.0.0.1
)
)
•
Mật khẩu của người dùng được lưu dưới dạng kết quả của hàm băm
Mật khẩu của người dùng được lưu dưới dạng kết quả của hàm băm
password. Để đổi mật khẩu cần dùng lệnh
password. Để đổi mật khẩu cần dùng lệnh
set password
set password
.
.
•
Bảng user cũng chứa các quyền toàn cục của người dùng.
Bảng user cũng chứa các quyền toàn cục của người dùng.
•
Các bảng khác:
Các bảng khác:
db, tables_priv, columns_priv
db, tables_priv, columns_priv
chứa các quyền của
chứa các quyền của
người dùng đối với các csdl, bảng và cột trong bảng (Sử dụng lệnh
người dùng đối với các csdl, bảng và cột trong bảng (Sử dụng lệnh
desc
desc
để biết thêm chi tiết).
để biết thêm chi tiết).
2.6. Người dùng và phân quyền
2.6. Người dùng và phân quyền
•
Sử dụng lệnh grant để tạo người dùng:
Sử dụng lệnh grant để tạo người dùng:
GRANT
GRANT
priv_type [(column_list)]
priv_type [(column_list)]
ON
ON
[
[
TABLE
TABLE
] {tbl_name | * | *.* | db_name.*}
] {tbl_name | * | *.* | db_name.*}
TO
TO
user@host [
user@host [
IDENTIFIED BY
IDENTIFIED BY
[
[
PASSWORD
PASSWORD
] 'password']
] 'password']
[
[
WITH GRANT OPTION
WITH GRANT OPTION
]
]
–
priv_type gồm các quyền:
priv_type gồm các quyền:
•
ALL [PRIVILEGES]
ALL [PRIVILEGES]
•
ALTER
ALTER
•
<CREATE | DROP> <DATABASE | TABLE>
<CREATE | DROP> <DATABASE | TABLE>
•
SELECT,INSERT,UPDATE, DELETE
SELECT,INSERT,UPDATE, DELETE
•
…
…
•
trong đó cần lưu ý:
trong đó cần lưu ý:
ALL không chứa quyền
ALL không chứa quyền
grant
grant
.
.
2.6. Người dùng và phân quyền (tt)
2.6. Người dùng và phân quyền (tt)
•
Sử dụng lệnh grant (tt):
Sử dụng lệnh grant (tt):
–
‘
‘
password’ là
password’ là
mật khẩu thô
mật khẩu thô
, không cần dùng hàm
, không cần dùng hàm
password. Nếu là
password. Nếu là
dạng băm
dạng băm
thì có thể dùng với từ khóa
thì có thể dùng với từ khóa
PASSWORD.
PASSWORD.
–
Để có thể phân quyền cho một người dùng khác, người
Để có thể phân quyền cho một người dùng khác, người
dùng đang thi hành lệnh phải có
dùng đang thi hành lệnh phải có
quyền grant
quyền grant
(global)
(global)
và
và
quyền insert,update
quyền insert,update
trên bảng user trong csdl
trên bảng user trong csdl
mysql.
mysql.
–
Thông thường, nếu người dùng chưa tồn tại thì
Thông thường, nếu người dùng chưa tồn tại thì
grant
grant
tạo luôn người dùng mới
tạo luôn người dùng mới
, nếu không nó sẽ cấp quyền
, nếu không nó sẽ cấp quyền
cho người dùng đã có (nhưng
cho người dùng đã có (nhưng
không xóa các quyền khác
không xóa các quyền khác
,
,
để xóa cần dùng lệnh
để xóa cần dùng lệnh
REVOKE
REVOKE
có cú pháp như GRANT).
có cú pháp như GRANT).
–
Một số phiên bản install của MySQL
Một số phiên bản install của MySQL
bắt buộc phải tạo
bắt buộc phải tạo
người dùng bằng CREATE USER
người dùng bằng CREATE USER
trước mới cho grant.
trước mới cho grant.
2.6. Người dùng và phân quyền (tt)
2.6. Người dùng và phân quyền (tt)
•
Sử dụng lệnh grant (tt):
Sử dụng lệnh grant (tt):
–
Cũng trong một số phiên bản MySQL, sau khi thi
Cũng trong một số phiên bản MySQL, sau khi thi
hành xong lệnh grant,
hành xong lệnh grant,
chỉ có csdl mysql là được
chỉ có csdl mysql là được
cập nhật
cập nhật
. CSDL người dùng & phân quyền thực sự
. CSDL người dùng & phân quyền thực sự
của MySQL vẫn
của MySQL vẫn
chưa được ánh xạ
chưa được ánh xạ
từ csdl mysql
từ csdl mysql
sang.
sang.
–
Để thực hiện ánh xạ trên, người dùng cần thực
Để thực hiện ánh xạ trên, người dùng cần thực
hiện lệnh
hiện lệnh
flush privileges
flush privileges
và phải có
và phải có
quyền
quyền
reload
reload
.
.
2.6. Người dùng và phân quyền (tt)
2.6. Người dùng và phân quyền (tt)
•
Cập nhật trực tiếp vào csdl mysql:
Cập nhật trực tiếp vào csdl mysql:
–
Như đã nói, csdl người dùng & phân quyền của
Như đã nói, csdl người dùng & phân quyền của
MySQL là ánh xạ trực tiếp từ csdl mysql sang. Do
MySQL là ánh xạ trực tiếp từ csdl mysql sang. Do
đó, nếu có đủ quyền, người dùng có thể
đó, nếu có đủ quyền, người dùng có thể
insert,update,delete trực tiếp lên các bảng trong
insert,update,delete trực tiếp lên các bảng trong
csdl mysql. Sau đó, thực hiện việc ánh xạ bằng
csdl mysql. Sau đó, thực hiện việc ánh xạ bằng
lệnh flush privileges.
lệnh flush privileges.
–
Hiệu quả của các thao tác trên tương ứng với lệnh
Hiệu quả của các thao tác trên tương ứng với lệnh
grant.
grant.
•
Lưu ý:
Lưu ý:
–
Nếu quên mật khẩu của tài khoản root, có thể
Nếu quên mật khẩu của tài khoản root, có thể
reset lại thông qua hướng dẫn về phần này tại mục
reset lại thông qua hướng dẫn về phần này tại mục
“
“
Appendix A.4.1 How to reset the root password
Appendix A.4.1 How to reset the root password
”
”
trong tài liệu do MySQL cung cấp tại địa chỉ
trong tài liệu do MySQL cung cấp tại địa chỉ
2.7 Ví dụ
2.7 Ví dụ
•
Yêu cầu:
Yêu cầu:
–
Cài đặt MySQL phiên bản 5.x vào hệ điều hành
Cài đặt MySQL phiên bản 5.x vào hệ điều hành
Windows
Windows
–
Dùng chương trình Install Wizard để thiết lập MySQL
Dùng chương trình Install Wizard để thiết lập MySQL
chạy như một service và đặt mật khẩu của tài khoản
chạy như một service và đặt mật khẩu của tài khoản
root là ‘root’.
root là ‘root’.
•
Thực hành:
Thực hành:
–
Gõ lệnh
Gõ lệnh
mysql –u root –p
mysql –u root –p
tại dấu nhắc lệnh của cửa
tại dấu nhắc lệnh của cửa
sổ DOS, sau đó nhập mật khẩu ‘root’ để đăng nhập
sổ DOS, sau đó nhập mật khẩu ‘root’ để đăng nhập
vào cửa sổ lệnh của MySQL và thực hiện những lệnh
vào cửa sổ lệnh của MySQL và thực hiện những lệnh
sau
sau
–
show databases
show databases
;
;
// Xem các csdl hiện có
// Xem các csdl hiện có
–
create database mydb
create database mydb
;
;
// Tạo csdl mydb
// Tạo csdl mydb
–
use mydb
use mydb
;
;
// Đặt csdl hiện hành là mydb
// Đặt csdl hiện hành là mydb
2.7. Ví dụ (tt)
2.7. Ví dụ (tt)
•
Thực hành (tt):
Thực hành (tt):
–
create table
create table
`mytable` (
`mytable` (
`field1`
`field1`
char
char
(10)
(10)
collate
collate
utf8_unicode_ci
utf8_unicode_ci
not null
not null
,
,
`field2`
`field2`
int unsigned default 0
int unsigned default 0
,
,
`field3`
`field3`
datetime
datetime
,
,
primary key
primary key
(`field1`, `field2`),
(`field1`, `field2`),
index
index
(`field1`),
(`field1`),
unique
unique
(`field3`)
(`field3`)
)
)
engine
engine
=
=
myisam
myisam
default charset
default charset
=utf8
=utf8
collate
collate
=
=
utf8_bin
utf8_bin
;
;
–
show tables
show tables
;
;
–
desc
desc
mytable;
mytable;
–
insert into
insert into
mytable
mytable
set
set
field1 = ‘abc’, field2 = 1, field3 =
field1 = ‘abc’, field2 = 1, field3 =
now
now
();
();
2.7 Ví dụ (tt)
2.7 Ví dụ (tt)
•
Thực hành (tt):
Thực hành (tt):
–
use
use
mysql;
mysql;
–
show tables
show tables
;
;
–
desc
desc
user;
user;
–
insert into
insert into
user
user
set
set
user = ‘u1’, host = ‘localhost’,
user = ‘u1’, host = ‘localhost’,
password = password(‘test’);
password = password(‘test’);
–
create user
create user
u2@localhost
u2@localhost
identified by
identified by
‘test’;
‘test’;
–
create user
create user
u3@localhost
u3@localhost
identified by password
identified by password
‘
‘
*94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29’;
*94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29’;
–
grant all on
grant all on
*.*
*.*
to
to
u1@localhost
u1@localhost
with grant option
with grant option
;
;
–
grant select,insert on
grant select,insert on
mydb.*
mydb.*
to
to
u2@localhost;
u2@localhost;
2.7. Ví dụ (tt)
2.7. Ví dụ (tt)
•
Thực hành (tt):
Thực hành (tt):
–
insert into mysql.tables_priv set
insert into mysql.tables_priv set
host = ‘localhost’, user = ‘u3’,
host = ‘localhost’, user = ‘u3’,
db = ‘mydb’, table_name = ‘mytable’,
db = ‘mydb’, table_name = ‘mytable’,
table_priv = ‘Select,Insert,Update’
table_priv = ‘Select,Insert,Update’
;
;
–
flush privileges
flush privileges
;
;
–
set password
set password
=
=
password
password
(‘abc’);
(‘abc’);
–
Copy các lệnh cần thiết vào file c:\mysql.sql sau
Copy các lệnh cần thiết vào file c:\mysql.sql sau
đó chạy lệnh sau tại dấu nhắc lệnh của MySQL:
đó chạy lệnh sau tại dấu nhắc lệnh của MySQL:
source
source
c:\mysql.sql;
c:\mysql.sql;
–
Sau đó thoát khỏi dấu nhắc lệnh của MySQL và thi
Sau đó thoát khỏi dấu nhắc lệnh của MySQL và thi
hành lệnh sau:
hành lệnh sau:
mysqldump
mysqldump
–
–
u
u
root –
root –
p
p
all
all
-
-
databases
databases
> c:\all.sql
> c:\all.sql
3. Giới thiệu về PHP
3. Giới thiệu về PHP
•
Là một ngôn ngữ lập trình server-side miễn phí được phát triển theo chuẩn mã nguồn mở. PHP ra đời từ sự viết tắt của cụm từ
Là một ngôn ngữ lập trình server-side miễn phí được phát triển theo chuẩn mã nguồn mở. PHP ra đời từ sự viết tắt của cụm từ
Personal Home Page. Nhưng hiện nay PHP được coi là sự chơi chữ của việc viết tắt đệ quy cụm từ PHP: Hypertext
Personal Home Page. Nhưng hiện nay PHP được coi là sự chơi chữ của việc viết tắt đệ quy cụm từ PHP: Hypertext
Preprocessor.
Preprocessor.
•
PHP chạy được trong cả hai môi trường Linux và Windows. Có thể download phiên bản mới nhất của PHP tại địa chỉ:
PHP chạy được trong cả hai môi trường Linux và Windows. Có thể download phiên bản mới nhất của PHP tại địa chỉ:
•
Các phiên bản 4x và 5.x (mới nhất) khác nhau về kiến trúc. Chi tiết xin xem trong feature log.
Các phiên bản 4x và 5.x (mới nhất) khác nhau về kiến trúc. Chi tiết xin xem trong feature log.