Linux如何安全掌握MySQL命令行?

前期准备

  1. 安装MySQL

    # Ubuntu/Debian
    sudo apt update && sudo apt install mysql-server
    # CentOS/RHEL
    sudo yum install mysql-server
    sudo systemctl start mysqld
  2. 获取初始密码(仅首次安装)

    sudo grep 'temporary password' /var/log/mysqld.log  # CentOS
    sudo cat /etc/mysql/debian.cnf  # Ubuntu

连接MySQL服务器

场景 命令示例 参数说明
本地连接 mysql -u root -p -u:用户名,-p:密码输入提示
指定主机 mysql -h 192.168.1.100 -u admin -p -h:服务器IP,-P 3307:指定端口
无交互登录 mysql -u root -p'YourPassword' 警告:密码明文有泄露风险

基础数据库操作

-- 查看所有数据库
SHOW DATABASES;
-- 创建新数据库
CREATE DATABASE mydb;
-- 选择数据库
USE mydb;
-- 创建表
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    email VARCHAR(100) UNIQUE
);
-- 插入数据
INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');
-- 查询数据
SELECT * FROM users WHERE name LIKE 'A%';
-- 更新数据
UPDATE users SET email = 'new@example.com' WHERE id = 1;
-- 删除数据
DELETE FROM users WHERE id = 2;

用户与权限管理

-- 创建用户
CREATE USER 'dev'@'localhost' IDENTIFIED BY 'StrongPass123!';
-- 授权所有权限
GRANT ALL PRIVILEGES ON mydb.* TO 'dev'@'localhost';
-- 撤销权限
REVOKE DELETE ON mydb.* FROM 'dev'@'localhost';
-- 立即生效
FLUSH PRIVILEGES;

备份与恢复

  1. 备份整个数据库

    mysqldump -u root -p --all-databases > full_backup.sql
  2. 备份单库

    mysqldump -u root -p mydb > mydb_backup.sql
  3. 恢复数据库

    mysql -u root -p mydb < mydb_backup.sql

安全操作规范

  1. 避免密码暴露

    # 正确做法:使用提示输入
    mysql -u root -p
    # 错误做法:命令行明文密码
    mysql -u root -p'password'  # 可能被ps命令捕获
  2. 操作历史清理

    history -c  # 清除当前会话历史
    rm ~/.mysql_history  # 删除历史文件

故障排查

  • 连接拒绝

    # 检查服务状态
    sudo systemctl status mysql
    # 验证端口监听
    sudo netstat -tuln | grep 3306
  • 忘记root密码

    1. 编辑配置文件:sudo vi /etc/my.cnf
    2. [mysqld]段添加:skip-grant-tables
    3. 重启服务:sudo systemctl restart mysql
    4. 无密码登录重置:ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass';

高级技巧

  • 批处理模式

    mysql -u user -p < script.sql
  • 输出结果到文件

    SELECT * INTO OUTFILE '/tmp/users.csv' 
    FIELDS TERMINATED BY ',' 
    FROM users;
  • 查看运行进程

    SHOW PROCESSLIST;

引用说明
本文操作基于MySQL 8.0官方文档,遵循MySQL安全指南(MySQL Security Guidelines),命令行参数参考mysql --helpmysqldump手册页,权限管理部分符合最小权限原则(Principle of Least Privilege)。

通过系统化练习上述命令,您将高效管理Linux环境下的MySQL数据库,关键操作前务必验证备份有效性,生产环境避免直接使用root账户日常操作。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6599.html

(0)
酷番叔酷番叔
上一篇 2025年7月7日 16:13
下一篇 2025年7月8日 00:48

相关推荐

  • 手机充电到100%真的伤电池吗

    在Linux系统中,hosts文件是一个用于本地域名解析的关键配置文件,它允许用户手动指定域名与IP地址的映射关系,绕过DNS服务器直接生效,以下是如何安全、高效配置hosts文件的完整指南:hosts文件的作用与重要性核心功能:当访问域名(如www.example.com)时,系统首先查询hosts文件,若存……

    2025年6月20日
    8300
  • Linux系统下,新建文本文件的命令行操作步骤是怎样的?

    在Linux操作系统中,文本文件是日常工作和开发中最常用的文件类型之一,无论是编写脚本、配置文件还是记录数据,都离不开新建文本文件的操作,Linux环境下新建文本文件的方式多样,既可以通过命令行高效操作,也可以借助图形界面直观完成,本文将详细介绍Linux中新建文本文件的多种方法,涵盖命令行工具和图形界面操作……

    2025年9月23日
    4300
  • linux如何知道挂载路径

    Linux 中,可通过 df -h 命令查看各分区挂载路径,也可

    2025年8月16日
    4900
  • Linux如何查看命令的所有参数?

    Linux系统中,参数是命令执行、系统运行的核心配置,无论是命令行工具的选项、内核的运行参数,还是环境变量的定义,都直接影响着系统的行为和效率,掌握查看各类参数的方法,是Linux系统管理和日常使用的基础能力,本文将从命令行参数、系统运行参数、内核参数及环境变量四个维度,详细介绍Linux下查看所有参数的实用方……

    2025年10月3日
    2600
  • Linux 4.0内核如何编译?具体步骤有哪些?

    编译Linux 4.0内核是定制化系统、优化性能或修复漏洞的重要操作,整个过程需依赖工具链、配置选项及正确安装步骤,以下是详细编译流程:环境准备编译内核需先安装必要工具和依赖库,不同发行版命令略有差异:Ubuntu/Debian: sudo apt-get updatesudo apt-get install……

    2025年10月1日
    3000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信