如何在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是许多开发者和系统管理员常用的技术,既能避免破坏物理系统,又能灵活进行环境测试,以下是详细的配置步骤,从准备工作到系统安装及优化,涵盖关键操作细节,帮助顺利完成Linux虚拟机的搭建,准备工作在开始配置前,需确保硬件和软件满足基本要求,这是虚拟机稳定运行的基础,硬件要求:CPU:支持虚拟……

    2025年10月4日
    8900
  • Linux系统下如何查看URL地址的详细访问信息与内容?

    在Linux系统中,查看URL地址的需求可能涉及多种场景,比如监控网络连接、追溯浏览器历史记录、解析域名对应的IP,或分析Web服务器访问日志等,针对不同需求,Linux提供了丰富的命令行工具和方法,下面将详细介绍这些实用技巧,通过网络连接命令查看活跃URL对应的地址当需要查看当前系统正在与哪些URL建立网络连……

    2025年8月25日
    13200
  • 如何恢复linux u盘文件

    尝试使用testdisk等数据恢复软件,在Linux系统下操作,扫描U盘

    2025年8月19日
    11800
  • Linux系统如何正确打开eth0网络接口?

    在Linux系统中,网络接口(如eth0)是系统与外部网络通信的桥梁,”打开eth0″通常指激活该网络接口,使其能够收发网络数据,本文将详细介绍Linux系统中启用eth0接口的多种方法,涵盖传统命令工具和现代网络管理工具,并附上配置示例和注意事项,检查eth0接口的当前状态在启用接口前,需先确认其当前状态,L……

    2025年9月23日
    10900
  • 在Linux操作系统中,如何通过命令行界面正确完成登录操作?

    Linux作为服务器和开发环境的核心工具,命令行登录是其高效管理的基础,无论是本地直接操作还是远程服务器维护,掌握命令行登录方法都是Linux用户的必备技能,本文将从本地登录、远程登录两大场景出发,详细讲解具体步骤、常用命令及注意事项,帮助用户全面掌握Linux命令行登录技巧,本地命令行登录本地登录指在物理机或……

    2025年9月16日
    13200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信