Linux下如何执行MySQL命令?

在Linux系统中执行MySQL命令是数据库管理和开发中的常见操作,涵盖了从连接数据库、执行查询到管理用户等多个方面,以下是详细的操作指南和注意事项。

linux 执行mysql命令
(图片来源网络,侵删)

连接MySQL数据库

在Linux终端执行MySQL命令前,需先建立与MySQL服务器的连接,基本语法为:

mysql -h主机名 -u用户名 -p密码

参数说明:

  • -h:指定MySQL服务器的主机名或IP地址,本地连接可省略或使用localhost
  • -u:指定连接的用户名,如root
  • -p:提示输入密码,若直接在命令中写密码(如-p123456),可能存在安全风险,建议不写密码,在交互界面输入。

示例(本地连接):

mysql -u root -p

输入正确密码后,将进入MySQL命令行界面,提示符为mysql>

linux 执行mysql命令
(图片来源网络,侵删)

执行SQL查询

连接成功后,可直接输入SQL语句执行查询,需注意SQL语句以分号()

查看数据库列表

SHOW DATABASES;

执行结果将返回MySQL服务器中所有数据库的名称。

选择数据库

USE 数据库名;

选择test_db数据库:

USE test_db;

若切换成功,会提示Database changed

linux 执行mysql命令
(图片来源网络,侵删)

查看表结构

DESCRIBE 表名;

或简写为:

DESC 表名;

查询表数据

SELECT * FROM 表名 WHERE 条件;

查询users表中年龄大于20的用户:

SELECT * FROM users WHERE age > 20;

使用脚本文件批量执行SQL

若需执行多条SQL语句或复杂脚本,可将SQL语句保存为.sql文件(如backup.sql),通过以下方式执行:

登录后执行

mysql -u root -p < backup.sql

系统会提示输入密码,随后执行文件中的所有SQL语句。

不登录直接执行

mysql -u root -p密码 -h localhost 数据库名 < backup.sql

注意:直接在命令中写密码可能被历史命令记录,建议使用配置文件或环境变量管理密码。

常用管理命令

创建数据库

CREATE DATABASE 数据库名 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

创建用户并授权

CREATE USER '用户名'@'主机' IDENTIFIED BY '密码';
GRANT ALL PRIVILEGES ON 数据库名.* TO '用户名'@'主机';
FLUSH PRIVILEGES;

创建用户dev_user并授予test_db数据库的所有权限:

CREATE USER 'dev_user'@'localhost' IDENTIFIED BY 'DevPass123!';
GRANT ALL PRIVILEGES ON test_db.* TO 'dev_user'@'localhost';
FLUSH PRIVILEGES;

备份数据库

使用mysqldump工具:

mysqldump -u 用户名 -p 数据库名 > 备份文件.sql

备份test_db数据库:

mysqldump -u root -p test_db > test_db_backup.sql

恢复数据库

mysql -u 用户名 -p 数据库名 < 备份文件.sql

常见问题与解决

忘记MySQL root密码

解决步骤:

  1. 停止MySQL服务:
    sudo systemctl stop mysql
  2. 跳过权限表启动:
    sudo mysqld_safe --skip-grant-tables &
  3. 无密码登录并修改密码:
    mysql -u root
    UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root';
    FLUSH PRIVILEGES;
  4. 重启MySQL服务:
    sudo systemctl restart mysql

解决中文乱码问题

若查询结果出现中文乱码,需确保:

  • 数据库、表、字段字符集为utf8mb4
  • Linux终端字符集与MySQL一致,可通过以下命令检查:
    echo $LANG

    若为en_US.UTF-8,则支持UTF-8;若需修改,可执行:

    export LANG=zh_CN.UTF-8

相关问答FAQs

Q1: 如何在Linux下查看MySQL的版本信息?
A1: 可通过以下两种方式查看:

  1. 登录MySQL后执行:
    SELECT VERSION();
  2. 或在终端直接执行:
    mysql -V

Q2: 如何定期自动备份MySQL数据库?
A2: 可使用crontab设置定时任务,每天凌晨2点备份test_db数据库:

  1. 编辑crontab:
    crontab -e
  2. 添加以下内容:
    0 2 * * * /usr/bin/mysqldump -u root -p'密码' test_db | gzip > /backup/test_db_$(date +\%Y\%m\%d).sql.gz

    注意:密码可能被明文记录,建议使用MySQL配置文件(如.my.cnf)存储凭据以提高安全性。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/424380.html<

(0)
运维的头像运维
上一篇2025-10-25 19:45
下一篇 2025-10-25 19:50

相关推荐

  • Linux MySQL退出命令是哪个?

    在Linux操作系统中,与MySQL数据库的交互通常通过命令行客户端完成,而退出MySQL命令行环境是日常操作中的基础环节,掌握正确的退出命令不仅能提升操作效率,还能避免因异常退出导致的数据或连接问题,本文将详细解析Linux环境下MySQL的退出命令,涵盖多种退出方式、适用场景及注意事项,并通过表格对比不同命……

    2025-11-20
    0
  • Windows下重启MySQL命令是什么?

    在Windows操作系统中重启MySQL服务是数据库管理和维护中常见的操作,无论是配置修改后使生效、解决服务异常还是进行系统维护,掌握正确的重启方法都至关重要,Windows环境下重启MySQL服务主要有多种途径,包括通过命令提示符(CMD)或PowerShell执行命令、通过服务管理器图形界面操作,以及借助第……

    2025-11-19
    0
  • 哪个键是电脑命令键?

    在计算机操作中,“命令键”通常指的是键盘上用于触发特定快捷组合键的修饰键,其核心功能是与其他按键配合,快速执行操作系统或软件的预设命令,不同操作系统的键盘设计对“命令键”的称谓和标识存在差异,以下将详细解析主流操作系统中的命令键及其使用逻辑,不同操作系统的命令键定义macOS系统在苹果Mac键盘上,最核心的命令……

    2025-11-19
    0
  • Centos MySQL启动命令是什么?

    在CentOS系统中,MySQL的启动命令是数据库管理员日常操作中常用的基础指令,掌握其正确使用方法及相关的管理技巧对于系统维护至关重要,CentOS系统下MySQL的安装方式不同(如通过yum源安装、二进制包安装或源码编译安装),其服务名称和启动命令可能存在细微差异,但核心逻辑一致,以下将详细说明不同场景下的……

    2025-11-17
    0
  • MongoDB如何查看当前安装版本?

    在 MongoDB 中,查看数据库版本信息是日常运维和开发中常见的操作,无论是排查兼容性问题、确认功能支持范围,还是升级前的版本核对,都需要准确获取当前 MongoDB 实例的版本号,以下是关于 MongoDB 查看版本命令的详细说明,涵盖多种场景和方法,帮助用户全面掌握版本查询技巧,使用 mongod 或 m……

    2025-11-16
    0

发表回复

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