Bài này mình lấy nội dung ở trang hocvps, có chỉnh sửa 1 chút, mục đích lưu trữ thôi. Trang hocvps là 1 trong những trang cung cấp kiến thức về VPS rất hay được phát triển bởi bạn Luân Trần.
Đầu tiên và lệnh đăng nhập MySQL / Mariadb bạn dùng lệnh:
mysql -u root -p
Trong đó: root là user đăng nhập, bạn thay bằng tài khoản của bạn. Tùy chọn -p để bạn nhập mật khẩu
1. Thư mục chứa database
Trên CentOS, toàn bộ file raw database được lưu trong thư mục /var/lib/mysql
2. Quản lý tài khoản và phân quyền
Hiển thị toàn bộ users: mysql> SELECT * FROM mysql.user; Tạo user mới; mysql> CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password'; Xóa null user: mysql> DELETE FROM mysql.user WHERE user = ' '; Xóa tất cả user mà không phải root: mysql> DELETE FROM mysql.user WHERE NOT (host="localhost" AND user="root"); Đổi tên tài khoản root (giúp bảo mật): mysql> UPDATE mysql.user SET user="new_root" WHERE user="root"; Gán full quyền cho một user mới: mysql> GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' IDENTIFIED BY 'mypass' WITH GRANT OPTION; Phân quyền chi tiết cho một user mới: mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON mydatabase.* TO 'username'@'localhost' IDENTIFIED BY 'mypass'; Gán full quyền cho một user mới trên một database nhất định: mysql> GRANT ALL PRIVILEGES ON mydatabase.* TO 'username'@'localhost' IDENTIFIED BY 'mypass' WITH GRANT OPTION; Thay đổi mật khẩu user: mysql> UPDATE mysql.user SET password=PASSWORD("newpass") WHERE User='username'; Xóa user: mysql> DELETE FROM mysql.user WHERE user="username"; Cuối cùng reload user và thoát mysql> FLUSH PRIVILEGES; mysql> exit;
3. Các thao tác database
Hiển thị toàn bộ databases: mysql> SHOW DATABASES; Tạo database: mysql> CREATE DATABASE mydatabase; Sử dụng một database: mysql> USE mydatabase; Xóa một database: mysql> DROP DATABASE mydatabase; Tối ưu database: All Databases: $ sudo mysqlcheck -o --all-databases -u root -p Single Database: $ sudo mysqlcheck -o db_schema_name -u root -p
4. Các thao tác table
Tất cả các thao tác bên dưới bạn phải lựa chọn trước database bằng cách dùng lệnh: mysql> USE mydatabase;
Hiển thị toàn bộ table: mysql> SHOW TABLES; Hiển thị dữ liệu của table: mysql> SELECT * FROM tablename; Đổi tên table: mysql> RENAME TABLE first TO second; hoặc mysql> ALTER TABLE mytable rename as mynewtable; Xóa table: mysql> DROP TABLE mytable;
5. Các thao tác cột và hàng
Tất cả các thao tác bên dưới bạn phải lựa chọn trước database bằng cách dùng lệnh: mysql> USE mydatabase;
Hiển thị các column trong table: mysql> DESC mytable; hoặc mysql> SHOW COLUMNS FROM mytable; Đổi tên column: mysql> UPDATE mytable SET mycolumn="newinfo" WHERE mycolumn="oldinfo"; Select dữ liệu: mysql> SELECT * FROM mytable WHERE mycolumn='mydata' ORDER BY mycolumn2; Insert dữ liệu vào table: mysql> INSERT INTO mytable VALUES('column1data','column2data','column3data','column4data','column5data','column6data','column7data','column8data','column9data'); Xóa dữ liệu trong table: mysql> DELETE FROM mytable WHERE mycolumn="mydata"; Cập nhật dữ liệu trong table: mysql> UPDATE mytable SET column1="mydata" WHERE column2="mydata";
6. Các thao tác sao lưu và phục hồi
Sao lưu toàn bộ database bằng lệnh (chú ý không có khoảng trắng giữa -p và mật khẩu): mysqldump -u root -pmypass --all-databases > alldatabases.sql Sao lưu một database bất kỳ: mysqldump -u username -pmypass databasename > database.sql Khôi phục toàn bộ database bằng lệnh: mysql -u username -pmypass < alldatabases.sql (no space in between -p and mypass) Khôi phục một database bất kỳ: mysql -u username -pmypass databasename < database.sql Chỉ sao lưu cấu trúc database: mysqldump --no-data --databases databasename > structurebackup.sql Chỉ sao lưu cấu trúc nhiều database: mysqldump --no-data --databases databasename1 databasename2 databasename3 > structurebackup.sql Sao lưu một số table nhất định: mysqldump --add-drop-table -u username -pmypass databasename table_1 table_2 > databasebackup.sql