Tổng hợp các lệnh thường dùng để quản trị MySQL

1. Vị trí các tập tin CSDL:

/var/lib/mysql

2. Quản lý các tài khoản user và database admin
:

Lưu ý: Trước khi thực hiện các câu lệnh bên dưới bạn cần phải đăng nhập vào MySQL bằng tài khoản quản trị (root).

Hiển thị tất cả tài khoản user trong MySQL
:

Mã:
mysql> SELECT * FROM mysql.user;


Xóa tài khoản rỗng:

Mã:
 mysql> DELETE FROM mysql.user WHERE user = ' ';
Xóa tất cả tài khoản không phải là tài khoản root:
Mã:
mysql> DELETE FROM mysql.user WHERE NOT (host="localhost" AND user="root");

Thay đổi tên tài khoản root thành dạng khó đóan (vì mục đích bảo mật)
:
Mã:
mysql> UPDATE mysql.user SET user="mydbadmin" WHERE user="root";


Tạo tài khoản quản trị mới:

Mã:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' IDENTIFIED BY 'mypass' WITH GRANT OPTION;

Thêm một tài khoản mới vào một CSDL chỉ định với quyền chỉ định:

Mã:
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON mydatabase.* TO 'username'@'localhost' IDENTIFIED BY 'mypass';
Thêm một tài khoản quản trị mới vào một CSDL chỉ định với quyền FULL:
Mã:
mysql> GRANT ALL PRIVILEGES ON mydatabase.* TO 'username'@'localhost' IDENTIFIED BY 'mypass' WITH GRANT OPTION;

Thay đổi mật khẩu của một tài khoản:

Mã:
mysql> UPDATE mysql.user SET password=oldpass("newpass") WHERE User='username';


Xóa một tài khoản:

Mã:
mysql> DELETE FROM mysql.user WHERE user="username";
3. Làm việc với CSDL

Hiển thị tất cả các CSDL hiện có:
Mã:
mysql> SHOW DATABASES;

Tạo một CSDL:
Mã:
mysql> CREATE DATABASE mydatabase;


Sử dụng một CSDL cụ thể:

Mã:
mysql> USE mydatabase;

Xóa một CSDL:
Mã:
mysql> DROP DATABASE mydatabase;

Đổi tên một CSDL từ dòng lệnh (không cần đăng nhập vào MySQL), lưu ý không có khoảng trắng giữa -p và mypass:
Mã:
mysqldump -u dbauser -pmypass databasename > mybackup.sql
mysql -u dbauser -pmypass newdatabasename < mybackup.sql

Hiển thị 200 câu truy vấn gần nhất đến CSDL với tên bảng là "queries" và cột "query_id":
Mã:
mysql> SELECT * FROM queries ORDER BY query_id DESC LIMIT 200;
4. Làm việc với bảng

Hiển thị tất cả các bảng trong CSDL đã chọn:
Mã:
mysql> SHOW TABLES;

Hiển thị toàn bộ dữ liệu trong bảng chỉ định:
Mã:
mysql> SELECT * FROM tablename;

Đổi tên bảng:
Mã:
mysql> RENAME TABLE first TO second;
hoặc
mysql> ALTER TABLE mytable rename as mynewtable
Xóa bảng:
Mã:
mysql> DROP TABLE mytable;
5. Làm việc với bảng và record

Hiển thị các cột trong bảng:
Mã:
mysql> DESC mytable;
hoặc 
mysql> SHOW COLUMNS FROM mytable;

Cập nhật một record thuộc bảng được chọn trước:

Mã:
mysql> UPDATE mytable SET mycolumn="newinfo" WHERE mycolumn="oldinfo";

Chọn dữ liệu trong một bảng thuộc CSDL chọn trước:
Mã:
mysql> SELECT * FROM mytable WHERE mycolumn='mydata' ORDER BY mycolumn2;

Thêm dữ liệu vào cột thuộc CSDL chọn trước:
Mã:
mysql> INSERT INTO mytable VALUES('column1data','column2data','column3data','column4data','column5data','column6data','column7data','column8data','column9data');

Xóa dữ liệu của một record thuộc cột:

Mã:
mysql> DELETE FROM mytable WHERE mycolumn="mydata";
6. Sao lưu CSDL

Sao lưu tất cả CSDL (không nén) từ dòng lệnh (không đăng nhập vào MySQL):
Mã:
backup: mysqldump --all-databases > alldatabases.sql
restore: mysql -u username -pmypass < alldatabases.sql (no space in between -p and mypass)

Sao lưu tất cả CSDL (nén) từ dòng lệnh (không đăng nhập vào MySQL):
Mã:
Với bzip2: mysqldump --all-databases | bzip2 -c > databasebackup.sql.bz2 (dùng bunzip2 để giải nén)
Với gzip: mysqldump --all-databases | gzip > databasebackup.sql.gz (dùng gunzip để giải nén)
Mã backup tự động tất cả CSDL với gzip:
Mã:
#!/bin/sh
date=`date -I`
mysqldump --all-databases | gzip > /var/backup/dbbackup-$date.sql.gz

Sao lưu một CSDL chỉ định:
Mã:
mysqldump -u username -pmypass databasename > backupfile.sql

Chỉ sao lưu cấu trúc CSDL:
Mã:
mysqldump --no-data --databases databasename > structurebackup.sql

Sao lưu CSDL và các bảng chỉ định thuộc CSDL đó:
Mã:
mysqldump --add-drop-table -u username -pmypass databasename table_1 table_2 > databasebackup.sql

Comments