如何在Linux系统下使用MySQL数据库进行基础操作?

在Linux系统下使用MySQL是许多开发者和运维人员的必备技能,本文将从安装配置、基础操作、用户管理、数据操作及备份恢复等方面详细介绍,帮助用户快速上手。

如何在linux下使用mysql

安装与配置MySQL

不同Linux发行版的安装命令略有差异,以Ubuntu/Debian和CentOS/RHEL为例:

  • Ubuntu/Debian
    更新包列表后安装:sudo apt update && sudo apt install mysql-server
    安装后启动服务并设置开机自启:sudo systemctl start mysql && sudo systemctl enable mysql
    运行安全配置脚本(建议首次安装时执行):sudo mysql_secure_installation,根据提示设置root密码、移除匿名用户、禁止远程root登录等。

  • CentOS/RHEL
    安装MySQL社区版:sudo yum install mysql-server
    启动服务并自启:sudo systemctl start mysqld && sudo systemctl enable mysqld
    同样执行安全配置脚本:sudo mysql_secure_installation

连接MySQL与基础命令

安装完成后,可通过命令行连接MySQL:
mysql -u root -p(输入root密码进入)

进入MySQL后,常用基础命令如下(部分命令可通过表格对比记忆):

命令分类 命令示例 功能说明
数据库操作 SHOW DATABASES; 列出所有数据库
CREATE DATABASE mydb; 创建名为mydb的数据库
USE mydb; 切换到mydb数据库
表操作 SHOW TABLES; 列出当前数据库的所有表
CREATE TABLE users (id INT, name VARCHAR(20)); 创建users表,包含id和name字段
查询与退出 SELECT VERSION(); 查看MySQL版本号
EXIT;QUIT; 退出MySQL命令行

用户与权限管理

MySQL的安全性依赖于严格的权限控制,需合理创建用户并分配权限:

  • 创建用户
    CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
    (创建仅本地可登录的用户,密码为’password’)

  • 授权
    GRANT SELECT, INSERT ON mydb.* TO 'newuser'@'localhost';
    (授予newuser对mydb数据库所有表的查询和插入权限)
    GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
    (授予admin对所有数据库的所有权限,并允许授权其他用户,’%’表示任意主机)

    如何在linux下使用mysql

  • 刷新权限
    修改权限后需执行 FLUSH PRIVILEGES; 使配置生效。

  • 修改/删除用户
    修改密码:ALTER USER 'newuser'@'localhost' IDENTIFIED BY 'newpass';
    删除用户:DROP USER 'newuser'@'localhost';

数据操作(CRUD)

MySQL的核心是对数据的增删改查(CRUD):

  • 插入数据(Create)
    INSERT INTO users (id, name) VALUES (1, 'Alice');

  • 查询数据(Read)
    SELECT * FROM users;(查询所有字段)
    SELECT name FROM users WHERE id = 1;(查询id为1的用户名)

  • 更新数据(Update)
    UPDATE users SET name = 'Bob' WHERE id = 1;

  • 删除数据(Delete)
    DELETE FROM users WHERE id = 1;

备份与恢复

数据备份是运维的关键,常用工具为mysqldump

如何在linux下使用mysql

  • 备份数据库
    全量备份:mysqldump -u root -p --all-databases > all_backup.sql
    单库备份:mysqldump -u root -p mydb > mydb_backup.sql

  • 恢复数据库
    mysql -u root -p mydb < mydb_backup.sql(将备份文件恢复到mydb数据库)

常见问题处理

  • 忘记root密码

    1. 停止MySQL服务:sudo systemctl stop mysql
    2. 跳过权限表启动:sudo mysqld_safe --skip-grant-tables &
    3. 无密码登录:mysql -u root
    4. 修改密码:UPDATE mysql.user SET authentication_string=PASSWORD('newpass') WHERE User='root';
    5. 刷新权限并重启服务:FLUSH PRIVILEGES;sudo systemctl restart mysql
  • 无法远程连接
    检查防火墙是否开放3306端口(Ubuntu:sudo ufw allow 3306;CentOS:sudo firewall-cmd --add-port=3306/tcp --permanent),并确保MySQL配置文件/etc/mysql/mysql.conf.d/mysqld.cnfbind-address设置为0.0.0(允许任意主机连接)。

FAQs

Q1:如何查看MySQL的版本信息?
A1:进入MySQL命令行后执行SELECT VERSION();,或在终端执行mysql --versionsudo mysql -e "SELECT VERSION();"

Q2:如何允许远程用户连接MySQL?
A2:1. 创建远程用户:CREATE USER 'remoteuser'@'%' IDENTIFIED BY 'password';;2. 授权:GRANT ALL PRIVILEGES ON *.* TO 'remoteuser'@'%';;3. 刷新权限:FLUSH PRIVILEGES;;4. 修改配置文件bind-address = 0.0.0.0并重启MySQL服务。

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

(0)
酷番叔酷番叔
上一篇 2025年8月30日 22:21
下一篇 2025年8月30日 22:34

相关推荐

  • 如何获取所有活动终端

    在Linux系统中,向所有已登录用户发送消息是系统管理员进行维护通知、紧急警报或批量操作的常见需求,以下是几种可靠且高效的方法,适用于大多数Linux发行版(如Ubuntu、CentOS、Debian等),注意:这些方法仅对当前已登录且有活动终端的用户生效,未登录用户无法接收消息,方法1:使用 wall 命令……

    2025年7月6日
    10400
  • 内存告急?你还在忽视它吗!

    监控内存使用可优化程序性能,快速定位卡顿或崩溃原因,并合理分配系统资源避免浪费。

    2025年6月21日
    10900
  • AI会取代人类工作吗?

    创建脚本的详细步骤新建脚本文件打开终端,使用文本编辑器创建文件(推荐nano或vim):nano hello.sh # 创建名为hello.sh的文件添加脚本声明(Shebang)首行必须声明解释器路径,确保系统正确执行,常用声明:bash或#!/usr/bin/env bash # 自动查找Bash路径(兼容……

    2025年7月2日
    11800
  • Linux修改文件后保存不了,该怎么解决?

    在Linux系统中,修改文件后无法保存是常见问题,可能涉及权限、磁盘空间、文件占用、系统状态等多种因素,以下从常见原因出发,逐步排查并提供解决方法,帮助快速定位并解决问题,常见原因及解决方法文件权限不足症状:保存时提示“Permission denied”(权限拒绝),通常发生在普通用户修改root权限文件或非……

    2025年9月20日
    8500
  • 如何设置硬盘挂载点?

    挂载点是Linux系统中用于连接文件系统的空目录,作为存储设备或分区在目录树中的访问入口。

    2025年7月31日
    11100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信