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 Ubuntu Hardy Linode. Đối với mục đích của hướng dẫn này, chúng tôi sẽ cho 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. Nếu bạn đang thực hiện các bước này với tư cách là người dùng thông thường có đặc quyền sudo, hãy nhớ thêm “sudo” vào các lệnh được hiển thị bên dưới.
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. Tiếp theo, hãy đảm bảo rằng /etc/hosts
của bạn tệp có các mục nhập thích hợp, tương tự như các mục được hiển thị bên dưới:
- Tệp:/ etc / hosts
-
127.0.0.1 localhost.localdomain localhost 12.34.56.78 servername.mydomain.com servername
Đảm bảo thay thế địa chỉ IP công khai của Linode của bạn cho “12.34.56.78” trong ví dụ trên.
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. mysql_secure_installation
cung cấp cho bạn tùy chọn vô hiệu hóa thông tin đăng nhập gốc từ bên ngoài localhost, xóa tài khoản người dùng ẩn danh và tùy chọn 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
Sau khi chạy mysql_secure_installation
, MySQL an toàn và sẵn sàng được định cấu hình.
Đị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 = 64K table_cache = 4 sort_buffer = 64K net_buffer_length = 2K
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 33
Server version: 5.0.75-0ubuntu10 (Ubuntu)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
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 để thay đổi mật khẩu đó:
dpkg-reconfigure mysql-server-5.0
Để 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 command.
connect (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter. NOTE: Takes the rest of the line as new 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:
| |
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
| |
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ể 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