如何在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

相关推荐

  • pycharm如何连接linux

    PyCharm中,通过“Settings” -˃ “Project: [Your Project]” -˃ “Python Interpreter”,点击齿轮图标,选择“Add”,

    2025年8月15日
    5500
  • Linux系统运行的核心机制是什么?

    Linux是一个开源的类Unix操作系统,其运行机制基于内核与用户空间的协同工作,通过分层架构和模块化设计实现资源管理、程序执行和用户交互,要理解Linux如何运行,需从系统架构、启动流程、内核功能、用户空间交互等多个维度展开,Linux系统架构:内核空间与用户空间的协同Linux采用分层架构,核心分为内核空间……

    2025年8月30日
    6300
  • Linux系统下如何修改U盘卷标?

    在Linux系统中修改U盘卷标是一个常见操作,卷标(Label)是U盘的标识名称,有助于快速识别和管理存储设备,不同文件系统(如FAT32、NTFS、ext4等)修改卷标的方法略有差异,本文将详细介绍各类文件系统下的具体操作步骤、所需工具及注意事项,帮助用户顺利完成U盘卷标的修改,准备工作:识别U盘及文件系统在……

    2025年8月22日
    10400
  • 如何使用ps命令快速解决线程问题?

    在Linux系统中,使用ps命令配合-T或-L选项(如ps -T -p )可以查看指定进程的线程信息,包括线程ID(LWP)和状态等关键细节。

    2025年6月21日
    8200
  • 工程师如何高效调试Linux应用?

    高效调试Linux应用程序需掌握核心工具链(gdb/lldb),结合strace/ltrace动态追踪,利用Valgrind检测内存问题,并系统化分析日志与核心转储文件,快速定位根源。

    2025年7月30日
    7400

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信