Linux下Mysql命令,创建mysql,删除mysql
在 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 数据库和用户。