MySQL là một hệ quản trị cơ sở dữ liệu phổ biến, được sử dụng như là nhà cung cấp lưu trữ dữ liệu cho hàng nghìn ứng dụng web và máy chủ. Hướng dẫn này sẽ giúp người mới bắt đầu làm quen với MySQL trên Debian 6 (Squeeze) Linode. Đối với mục đích của hướng dẫn này, giả sử rằng bạn đã làm theo các bước được nêu trong Thiết lập và Bảo mật Phiên bản Máy tính của chúng tôi, rằng hệ thống của bạn đã được cập nhật và bạn đã đăng nhập vào Linode của mình với tư cách root thông qua SSH.
Cài đặt MySQL
Đảm bảo kho lưu trữ gói và các chương trình đã cài đặt của bạn được cập nhật bằng cách đưa ra các lệnh sau:
apt-get update
apt-get upgrade --show-upgraded
Bắt đầu bằng cách đưa ra lệnh sau trong thiết bị đầu cuối của bạn:
apt-get install mysql-server
Bạn sẽ được nhắc đặt mật khẩu cho người dùng gốc MySQL. Chọn một mật khẩu mạnh và giữ nó ở nơi an toàn để tham khảo sau này.
Gói máy chủ MySQL sẽ được cài đặt trên máy chủ của bạn, cùng với các phần phụ thuộc và thư viện máy khách. Sau khi cài đặt MySQL, bạn nên chạy mysql_secure_installation
, một chương trình giúp bảo mật MySQL. Nó cung cấp cho bạn tùy chọn để vô hiệu hóa đăng nhập gốc từ bên ngoài localhost, xóa tài khoản người dùng ẩn danh và xóa cơ sở dữ liệu thử nghiệm. Ngoài ra, nó cho phép bạn đặt mật khẩu gốc của mình. Chạy lệnh sau để thực thi chương trình:
mysql_secure_installation
Định cấu hình MySQL
Theo mặc định, MySQL đưa ra một số giả định về môi trường máy chủ của bạn liên quan đến bộ nhớ. Để định cấu hình MySQL một cách thận trọng hơn, bạn cần chỉnh sửa một số cài đặt trong tệp cấu hình (/etc/mysql/my.cnf
) như sau:
- Tệp:/ etc / mysql / my.cnf
-
1 2 3 4 5 6
key_buffer = 16M max_allowed_packet = 1M thread_stack = 128K table_cache = 4 sort_buffer = 64K net_buffer_length = 2K
Đưa ra lệnh sau để khởi động lại MySQL sau khi thực hiện các thay đổi cấu hình:
/etc/init.d/mysql restart
Các cài đặt này chỉ là các giá trị được đề xuất cho môi trường bộ nhớ thấp; vui lòng điều chỉnh chúng theo các giá trị thích hợp cho máy chủ của bạn. Tham khảo phần “Thông tin thêm” ở cuối hướng dẫn này để có thêm tài nguyên cho chủ đề này.
MySQL sẽ liên kết với localhost (127.0.0.1) theo mặc định. Không nên cho phép truy cập không hạn chế vào MySQL trên một IP công cộng, nhưng bạn có thể thay đổi địa chỉ mà nó lắng nghe bằng cách sửa đổi bind-address
tham số. Nếu bạn quyết định liên kết MySQL với IP công cộng của mình, bạn nên triển khai các quy tắc tường lửa chỉ cho phép kết nối từ các địa chỉ IP cụ thể.
Sử dụng MySQL
Công cụ tiêu chuẩn để tương tác với MySQL là mysql
chương trình khách hàng. Để bắt đầu, hãy đưa ra lệnh sau theo lời nhắc của bạn:
mysql -u root -p
Bạn sẽ được nhắc nhập mật khẩu của người dùng MySQL gốc. Nhập mật khẩu bạn đã chỉ định khi cài đặt MySQL và bạn sẽ thấy màn hình MySQL monitor:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 36
Server version: 5.1.49-3 (Debian)
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Nếu bạn quên mật khẩu gốc của mình, hãy sử dụng công cụ cấu hình lại gói Debian để thay đổi mật khẩu đó:
dpkg-reconfigure mysql-server-5.1
Để tạo danh sách các lệnh cho lời nhắc MySQL, hãy nhập \h
:
List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
? (\?) Synonym for `help'.
clear (\c) Clear the current input statement.
connect (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter.
edit (\e) Edit command with $EDITOR.
ego (\G) Send command to mysql server, display result vertically.
exit (\q) Exit mysql. Same as quit.
go (\g) Send command to mysql server.
help (\h) Display this help.
nopager (\n) Disable pager, print to stdout.
notee (\t) Don't write into outfile.
pager (\P) Set PAGER [to_pager]. Print the query results via PAGER.
print (\p) Print current command.
prompt (\R) Change your mysql prompt.
quit (\q) Quit mysql.
rehash (\#) Rebuild completion hash.
source (\.) Execute an SQL script file. Takes a file name as an argument.
status (\s) Get status information from the server.
system (\!) Execute a system shell command.
tee (\T) Set outfile [to_outfile]. Append everything into given outfile.
use (\u) Use another database. Takes database name as argument.
charset (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
warnings (\W) Show warnings after every statement.
nowarning (\w) Don't show warnings after every statement.
For server side help, type 'help contents'
mysql>
Hãy tạo một cơ sở dữ liệu và chỉ định một người dùng cho nó. Đưa ra các lệnh sau tại dấu nhắc MySQL:
CREATE DATABASE testdb;
CREATE USER 'testuser' IDENTIFIED BY 's8723hk2';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser';
exit
Bây giờ, hãy đăng nhập lại vào máy khách MySQL với tư cách là testuser
và tạo một bảng mẫu có tên là “khách hàng”. Đưa ra các lệnh sau:
mysql -u testuser -p
USE testdb;
CREATE TABLE customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
Thao tác này tạo một bảng có trường ID khách hàng thuộc loại INT cho số nguyên (tự động tăng dần cho các bản ghi mới, được sử dụng làm khóa chính), cũng như hai trường để lưu trữ tên của khách hàng. Tất nhiên, bạn có thể muốn lưu trữ nhiều thông tin hơn thế này về khách hàng, nhưng dù sao thì đó cũng là một ví dụ điển hình về trường hợp phổ biến.
Thông tin khác
Bạn có thể muốn tham khảo các nguồn sau đây để biết thêm thông tin về chủ đề này. Mặc dù những điều này được cung cấp với hy vọng rằng chúng sẽ hữu ích, xin lưu ý rằng chúng tôi không thể đảm bảo tính chính xác hoặc kịp thời của các tài liệu được lưu trữ bên ngoài.
- Hướng dẫn sử dụng tham chiếu MySQL 5.1
- Hướng dẫn sử dụng PHP MySQL
- Các ví dụ về Perl DBI cho DBD ::mysql
- Hướng dẫn sử dụng MySQLdb