当前位置: 首页 > news >正文

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. 注意事项

  1. 备份数据:在删除数据库之前,请务必备份相关数据。

    bash

    复制

    mysqldump -u root -p 数据库名 > backup.sql
    
  2. 权限最小化:授予用户权限时遵循最小化原则,只授予所需的权限。
  3. 字符集设置:推荐使用 utf8mb4,它支持更多字符(如表情符号)。

通过以上方法,您可以在 Linux 下高效地管理 MySQL 数据库和用户。

http://www.lryc.cn/news/626046.html

相关文章:

  • 基于多级缓存架构的Redis集群与Caffeine本地缓存实战经验分享
  • 原牛:一站式自媒体工具平台
  • 【LeetCode题解】LeetCode 153. 寻找旋转排序数组中的最小值
  • [优选算法专题二——找到字符串中所有字母异位词]
  • 工业4.0时代,耐达讯自动化Profibus转光纤如何重构HMI通信新标准?“
  • 链表基本运算详解:查找、插入、删除及特殊链表
  • 多线程—飞机大战排行榜功能(2.0版本)
  • 科技云报到:AI推理破局,金融服务如何“逆天改命”
  • 颠覆性进化:OpenAI正式发布GPT-5,AI大模型进入“超级智能”时代
  • bit-Agent正式接入GPT-5,九科信息智能体能力再升级!
  • 电子电气架构 ---SDV技术基础与传统E/E架构有何不同?
  • 免费OCR工具支持哪些文档格式转换
  • 中兴B862AV3.2M/B862AV3.1-M2 晨星mso9385_安卓9_原厂备份救砖包
  • 基于C语言基础对C++的进一步学习_知识补充、组合类、类中的静态成员与静态函数、类中的常对象和常成员函数、类中的this指针、类中的友元
  • 网络编程day3
  • 机器翻译60天修炼专栏介绍和目录
  • 大模型问题:幻觉分类+原因+各个训练阶段产生幻觉+幻觉的检测和评估基准
  • 【技术揭秘】AI Agent操作系统架构演进:从单体到分布式智能的跃迁
  • Incredibuild 新增 Unity 支持:击破构建时间过长的痛点
  • Pygame第11课——实现经典打方块小游戏
  • 数据结构:二叉树oj练习
  • Linux------《零基础到联网:CentOS 7 在 VMware Workstation 中的全流程安装与 NAT 网络配置实战》
  • Apache ShenYu网关与Nacos的关联及如何配合使用
  • AJAX (一)
  • C# DevExpress控件安装使用教程
  • 【学习】Linux 内核中的 cgroup freezer 子系统
  • 【自动化运维神器Ansible】Playbook调用Role详解:从入门到精通
  • 常用css
  • 【C++】C++ 的护身符:解锁 try-catch 异常处理
  • 用java语言完成手写mybatis框架(第2章)