如何在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系统中,安装驱动是确保硬件正常工作的关键步骤,与Windows系统不同,Linux驱动的安装方式因硬件类型、驱动开源状态及发行版的不同而有所差异,本文将详细介绍Linux下驱动的常见安装方法,涵盖开源驱动、闭源驱动、USB设备驱动及特殊硬件驱动的安装流程,并提供实用工具和注意事项,Linux驱动基础……

    2025年10月6日
    17900
  • Linux下如何解压7z格式文件?

    在Linux系统中处理7z格式的压缩文件,需要使用专门的解压工具,因为Linux默认并未内置对7z格式的支持,7z是一种高压缩率的压缩格式,常用于节省存储空间或加快文件传输速度,其工具主要由p7zip软件包提供,以下将详细介绍在Linux下解压7z文件的完整流程,包括工具安装、常用命令、参数选项及常见问题处理……

    2025年10月7日
    16200
  • Linux系统如何清空缓存文件?详细操作步骤与命令方法有哪些?

    Linux系统中的缓存机制(如页面缓存、目录项缓存、inode缓存等)通过将频繁访问的数据存储在内存中,显著减少了磁盘I/O操作,提升了系统性能,但在某些场景下(如内存紧张、性能基准测试或解决缓存异常问题),需要手动清空这些缓存以释放内存资源,本文将详细介绍Linux清空缓存的方法、操作步骤及注意事项,同步文件……

    2025年9月26日
    15500
  • Linux如何查看指定目录是否存在?

    在Linux系统中,检查目录是否存在是日常操作和脚本编写中的常见需求,掌握正确的方法能提高工作效率,以下是几种常用的查看目录是否存在的方式,涵盖基础命令、脚本判断及进阶技巧,并附对比表格和常见问题解答,使用ls命令查看目录信息ls(list)是最基础的文件和目录列表命令,通过结合-d选项(显示目录本身而非内容……

    2025年10月3日
    14400
  • linux如何查看文件个数据库文件

    Linux中,可用ls命令查看文件,用`find / -name “*.

    2025年8月19日
    17600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信