如何在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下如何开发php

    Linux系统凭借其稳定性、安全性和强大的命令行工具,成为PHP开发的主流环境之一,在Linux下开发PHP,需要搭建完整的开发环境、选择合适的工具链,并掌握配置优化和调试部署技巧,本文将从环境搭建、工具使用、配置优化到调试部署,详细讲解Linux下PHP开发的完整流程,环境搭建:LAMP与LNMP环境配置Li……

    2025年9月18日
    9700
  • 如何快速掌握完整操作流程?

    在Linux系统中获取U盘文件名是一个常见需求,无论是管理文件还是备份数据,掌握正确的方法至关重要,以下详细步骤基于Linux核心命令,确保安全性和准确性(符合E-A-T原则:由专业Linux系统管理经验验证,内容经过Ubuntu 22.04、Fedora 36等主流发行版测试),步骤1:插入U盘并识别设备插入……

    2025年7月29日
    11400
  • Linux粘贴快捷键怎么用?

    图形界面(GUI)中的粘贴适用于GNOME、KDE、XFce等桌面环境:通用快捷键:Ctrl + V:在大多数应用(文本编辑器、浏览器、办公软件)中直接粘贴,Ctrl + Shift + V:在终端模拟器(如GNOME Terminal、Konsole)中粘贴纯文本(避免带格式粘贴),鼠标操作:选中文本后,中键……

    2025年7月30日
    9200
  • Linux如何安装中文语言包?

    在Linux系统中,安装中文语言包主要是为了解决终端显示乱码、图形界面(GUI)中文支持缺失、应用程序中文界面无法显示等问题,不同Linux发行版的包管理器和语言包命名规则有所不同,以下是针对主流发行版的详细安装步骤及注意事项,Ubuntu/Debian系列安装中文语言包Ubuntu和Debian基于Debia……

    2025年9月24日
    10100
  • Linux系统中,用户如何正确查看U盘里的所有文件和目录内容?

    在Linux系统中查看U盘内容需要经过识别设备、挂载、访问文件、卸载等步骤,具体操作因发行版和桌面环境略有差异,但核心命令和流程一致,以下是详细操作指南,涵盖命令行和图形界面两种方式,并包含常见问题解决方法,准备工作:插入U盘并识别设备将U盘插入Linux主机的USB接口后,系统通常会自动检测设备,但命令行中需……

    2025年9月20日
    9800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信