Android

Cách quản lý cơ sở dữ liệu mysql và người dùng từ dòng lệnh

Spatial Data Access Tool

Spatial Data Access Tool

Mục lục:

Anonim

MySQL là hệ thống quản lý cơ sở dữ liệu quan hệ nguồn mở phổ biến nhất. Máy chủ MySQL cho phép chúng tôi tạo ra nhiều người dùng và cơ sở dữ liệu và cấp các đặc quyền phù hợp để người dùng có thể truy cập và quản lý cơ sở dữ liệu.

Hướng dẫn này giải thích cách sử dụng dòng lệnh để tạo và quản lý cơ sở dữ liệu và người dùng MySQL hoặc MariaDB.

Trước khi bắt đầu

Trước khi bạn bắt đầu với hướng dẫn này, chúng tôi giả định rằng bạn đã cài đặt máy chủ MySQL hoặc MariaDB trên hệ thống của bạn. Tất cả các lệnh sẽ được thực thi như một người dùng root.

Để mở dấu nhắc MySQL, hãy nhập lệnh sau và nhập mật khẩu người dùng root MySQL khi được nhắc:

mysql -u root -p

Tạo cơ sở dữ liệu MySQL mới

Để tạo cơ sở dữ liệu MySQL mới chạy lệnh sau, chỉ cần thay thế database_name bằng tên của cơ sở dữ liệu mà bạn muốn tạo:

CREATE DATABASE database_name;

Query OK, 1 row affected (0.00 sec)

ERROR 1007 (HY000): Can't create database 'database_name'; database exists

Để tránh lỗi nếu cơ sở dữ liệu có cùng tên như bạn đang cố tạo, bạn có thể sử dụng lệnh sau:

CREATE DATABASE IF NOT EXISTS database_name;

Query OK, 1 row affected, 1 warning (0.00 sec)

Trong kết quả đầu ra ở trên, Query OK có nghĩa là truy vấn đã thành công và 1 warning cho chúng tôi biết rằng cơ sở dữ liệu đã tồn tại và không có cơ sở dữ liệu mới nào được tạo.

Liệt kê tất cả các cơ sở dữ liệu MySQL

Bạn có thể liệt kê tất cả các cơ sở dữ liệu tồn tại trên máy chủ MySQL hoặc MariaDB của chúng tôi bằng lệnh sau:

SHOW DATABASES;

Đầu ra sẽ trông giống như thế này:

+--------------------+ | Database | +--------------------+ | information_schema | | database_name | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec)

Các cơ sở dữ liệu information_schema , mysql , performance_schema sys được tạo khi cài đặt và chúng đang lưu trữ thông tin về tất cả các cơ sở dữ liệu khác, cấu hình hệ thống, người dùng, quyền và các dữ liệu quan trọng khác. Các cơ sở dữ liệu này là cần thiết cho chức năng thích hợp của cài đặt MySQL.

Xóa cơ sở dữ liệu MySQL

Xóa một cơ sở dữ liệu MySQL cũng đơn giản như chạy một lệnh đơn. Đây là một hành động không thể đảo ngược và cần được thực hiện một cách thận trọng. Hãy chắc chắn rằng bạn không xóa cơ sở dữ liệu sai, vì một khi bạn xóa cơ sở dữ liệu, nó không thể được phục hồi.

Để xóa MySQL hoặc MariaDB, cơ sở dữ liệu chạy lệnh sau:

DROP DATABASE database_name;

Query OK, 0 rows affected (0.00 sec)

ERROR 1008 (HY000): Can't drop database 'database_name'; database doesn't exist

Để tránh lỗi này, bạn có thể sử dụng lệnh sau:

DROP DATABASE IF EXISTS database_name;

Tạo một tài khoản người dùng MySQL mới

Tài khoản người dùng trong MySQL bao gồm tên người dùng và các phần tên máy chủ.

Để tạo tài khoản người dùng MySQL mới chạy lệnh sau, chỉ cần thay thế 'cơ sở dữ liệu' bằng tên của người dùng mà bạn muốn tạo:

CREATE USER 'database_user'@'localhost' IDENTIFIED BY 'user_password';

Trong lệnh trên, chúng tôi đã đặt phần tên máy chủ thành localhost , có nghĩa là người dùng này sẽ chỉ có thể kết nối với máy chủ MySQL từ localhost (tức là từ hệ thống nơi Máy chủ MySQL chạy). Nếu bạn muốn cấp quyền truy cập từ (các) máy chủ khác, chỉ cần thay đổi localhost bằng IP máy từ xa hoặc sử dụng ký tự đại diện '%' cho phần máy chủ, điều đó có nghĩa là tài khoản người dùng sẽ có thể kết nối từ bất kỳ máy chủ nào.

Tương tự như khi làm việc với cơ sở dữ liệu để tránh lỗi khi cố gắng tạo tài khoản người dùng đã tồn tại, bạn có thể sử dụng:

CREATE USER IF NOT EXISTS 'database_user'@'localhost' IDENTIFIED BY 'user_password';

Query OK, 0 rows affected, 1 warning (0.00 sec)

Thay đổi mật khẩu tài khoản người dùng MySQL

Cú pháp thay đổi mật khẩu tài khoản người dùng MySQL hoặc MariaDB tùy thuộc vào phiên bản máy chủ bạn đang chạy trên hệ thống của mình.

Bạn có thể tìm phiên bản máy chủ của mình bằng cách ban hành lệnh sau:

mysql --version

ALTER USER 'database_user'@'localhost' IDENTIFIED BY 'new_password';

SET PASSWORD FOR 'database_user'@'localhost' = PASSWORD('new_password');

Trong cả hai trường hợp, đầu ra sẽ trông như thế này:

Query OK, 0 rows affected (0.00 sec)

Liệt kê tất cả các tài khoản người dùng MySQL

Bạn có thể liệt kê tất cả các tài khoản người dùng MySQL hoặc MariaDB bằng cách truy vấn bảng mysql.users :

SELECT user, host FROM mysql.user;

Đầu ra sẽ trông tương tự như dưới đây:

+------------------+-----------+ | user | host | +------------------+-----------+ | database_user | % | | database_user | localhost | | debian-sys-maint | localhost | | mysql.session | localhost | | mysql.sys | localhost | | root | localhost | +------------------+-----------+ 6 rows in set (0.00 sec)

Xóa tài khoản người dùng MySQL

Để xóa tài khoản người dùng, sử dụng lệnh sau:

DROP USER 'database_user@'localhost';

ERROR 1396 (HY000): Operation DROP USER failed for 'database_user'@'localhost'

Tương tự như khi làm việc với cơ sở dữ liệu để tránh lỗi bạn có thể sử dụng:

DROP USER IF EXISTS 'database_user'@'localhost';

Query OK, 0 rows affected, 1 warning (0.00 sec)

Cấp quyền cho tài khoản người dùng MySQL

Có nhiều loại đặc quyền có thể được cấp cho tài khoản người dùng. Bạn có thể tìm thấy một danh sách đầy đủ các đặc quyền được hỗ trợ bởi MySQL tại đây. Trong hướng dẫn này, chúng tôi sẽ đi qua một số ví dụ:

Để có tất cả các đặc quyền cho tài khoản người dùng qua một cơ sở dữ liệu cụ thể, hãy sử dụng lệnh sau:

GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';

Để có tất cả các đặc quyền cho tài khoản người dùng trên tất cả các cơ sở dữ liệu, hãy sử dụng lệnh sau:

GRANT ALL PRIVILEGES ON *.* TO 'database_user'@'localhost';

Để tạo tất cả các đặc quyền cho tài khoản người dùng qua một bảng cụ thể từ cơ sở dữ liệu, hãy sử dụng lệnh sau:

GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';

GRANT SELECT, INSERT, DELETE ON database_name.* TO database_user@'localhost';

Thu hồi quyền từ tài khoản người dùng MySQL

REVOKE ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';

Hiển thị đặc quyền tài khoản người dùng MySQL

Để tìm (các) đặc quyền được cấp cho một loại tài khoản người dùng MySQL cụ thể:

SHOW GRANTS FOR 'database_user'@'localhost';

+---------------------------------------------------------------------------+ | Grants for database_user@localhost | +---------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'database_user'@'localhost' | | GRANT ALL PRIVILEGES ON `database_name`.* TO 'database_user'@'localhost' | +---------------------------------------------------------------------------+ 2 rows in set (0.00 sec)

Phần kết luận

Hướng dẫn này chỉ bao gồm những điều cơ bản, nhưng nó nên là một khởi đầu tốt cho bất cứ ai muốn tìm hiểu cách quản lý cơ sở dữ liệu MySQL và người dùng từ dòng lệnh. Bạn cũng có thể kiểm tra hướng dẫn về cách đặt lại mật khẩu root của MySQL trong trường hợp bạn quên nó.

Đó là tất cả! Nếu bạn có bất kỳ câu hỏi hoặc phản hồi, hãy để lại nhận xét.

mysia mariadb