在 Linux 系統下,您可以通過命令行來創建和刪除 MySQL 數據庫。以下是詳細的操作步驟,包括創建和刪除數據庫、用戶,以及常見的相關管理命令。
1. 登錄 MySQL
在執行任何 MySQL 操作之前,需要先登錄 MySQL。
1.1 使用 root 用戶登錄 MySQL
bash
復制
mysql -u root -p
- 系統會提示輸入 MySQL
root
用戶的密碼。
2. 創建 MySQL 數據庫
2.1 創建新數據庫
使用以下命令創建數據庫:
sql
復制
CREATE DATABASE 數據庫名;
- 示例:
sql
復制
CREATE DATABASE my_database;
plaintext
復制
Query OK, 1 row affected (0.01 sec)
2.2 設置字符集和排序規則(可選)
在創建數據庫時,可以指定字符集(如 UTF-8)和排序規則:
sql
復制
CREATE DATABASE 數據庫名 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
- 示例:
sql
復制
CREATE DATABASE my_database CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
3. 刪除 MySQL 數據庫
3.1 刪除數據庫
使用以下命令刪除數據庫:
sql
復制
DROP DATABASE 數據庫名;
示例:
sql
復制
DROP DATABASE my_database;
輸出:
plaintext
復制
Query OK, 0 rows affected (0.01 sec)
注意:
- 刪除數據庫是不可逆操作,請務必確認后再執行。
- 如果嘗試刪除不存在的數據庫,會導致錯誤:
plaintext
復制
ERROR 1008 (HY000): Can't drop database 'my_database'; database doesn't exist
3.2 檢查數據庫是否存在
在刪除之前,可以通過以下命令查看數據庫列表:
sql
復制
SHOW DATABASES;
4. 創建 MySQL 用戶并授予權限
4.1 創建新用戶
使用以下命令創建一個用戶:
sql
復制
CREATE USER '用戶名'@'主機' IDENTIFIED BY '密碼';
- 示例:
sql
復制
CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password123';
4.2 授予用戶權限
為用戶授予對某個數據庫的權限:
sql
復制
GRANT 權限類型 ON 數據庫名.* TO '用戶名'@'主機';
- 常見權限類型:
- ALL PRIVILEGES:授予所有權限。
- SELECT, INSERT, UPDATE, DELETE:授予讀寫權限。
- 示例:
sql
復制
GRANT ALL PRIVILEGES ON my_database.* TO 'new_user'@'localhost';
4.3 刷新權限
執行以下命令刷新權限,讓其立即生效:
sql
復制
FLUSH PRIVILEGES;
4.4 查看用戶權限
檢查某個用戶的權限:
sql
復制
SHOW GRANTS FOR '用戶名'@'主機';
- 示例:
sql
復制
SHOW GRANTS FOR 'new_user'@'localhost';
5. 刪除 MySQL 用戶
5.1 刪除用戶
使用以下命令刪除用戶:
sql
復制
DROP USER '用戶名'@'主機';
- 示例:
sql
復制
DROP USER 'new_user'@'localhost';
5.2 檢查用戶是否存在
在刪除之前,可以通過以下命令查看所有用戶:
sql
復制
SELECT User, Host FROM mysql.user;
6. 常用 MySQL 命令匯總
命令 | 作用 |
---|---|
SHOW DATABASES; | 查看所有數據庫。 |
CREATE DATABASE 數據庫名; | 創建一個新的數據庫。 |
DROP DATABASE 數據庫名; | 刪除一個數據庫。 |
CREATE USER '用戶名'@'主機'; | 創建一個新的 MySQL 用戶。 |
DROP USER '用戶名'@'主機'; | 刪除一個 MySQL 用戶。 |
GRANT 權限 ON 數據庫名.* TO 用戶名; | 為用戶授予指定數據庫的權限。 |
REVOKE 權限 ON 數據庫名.* FROM 用戶名; | 撤銷用戶對指定數據庫的權限。 |
SHOW GRANTS FOR 用戶名; | 查看某個用戶的權限。 |
FLUSH PRIVILEGES; | 刷新權限,使更改立即生效。 |
SELECT User, Host FROM mysql.user; | 列出所有 MySQL 用戶及其主機來源。 |
7. 示例操作流程
以下是一個完整的示例,展示如何創建數據庫、用戶,授予權限,并刪除數據庫和用戶:
7.1 創建數據庫和用戶
sql
復制
CREATE DATABASE example_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'example_user'@'localhost' IDENTIFIED BY 'secure_password';
GRANT ALL PRIVILEGES ON example_db.* TO 'example_user'@'localhost';
FLUSH PRIVILEGES;
7.2 刪除數據庫和用戶
sql
復制
DROP DATABASE example_db;
DROP USER 'example_user'@'localhost';
8. 注意事項
- 備份數據:在刪除數據庫之前,請務必備份相關數據。
bash
復制
mysqldump -u root -p 數據庫名 > backup.sql
- 權限最小化:授予用戶權限時遵循最小化原則,只授予所需的權限。
- 字符集設置:推薦使用
utf8mb4
,它支持更多字符(如表情符號)。
通過以上方法,您可以在 Linux 下高效地管理 MySQL 數據庫和用戶。