百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

Linux服务器管理MySQL数据库的常见命

liuian 2025-08-02 19:26 2 浏览


在 Linux 服务器上管理 MySQL 数据库时,你可以使用各种命令来完成数据库创建、用户管理、查询、备份等任务。以下是管理 MySQL 数据库的常见命令,按功能分类整理。


1. 登录与退出 MySQL

1.1 登录 MySQL

bash

复制

mysql -u root -p
  • -u:指定用户名(如 root)。
  • -p:提示输入密码。

1.2 登录指定主机

bash

复制

mysql -h <服务器IP或域名> -u <用户名> -p
  • 示例:
  • bash
  • 复制
  • mysql -h 192.168.1.100 -u admin -p

1.3 退出 MySQL

sql

复制

exit;

或使用快捷键:

sql

复制

\q

2. 数据库管理

2.1 查看所有数据库

sql

复制

SHOW DATABASES;

2.2 创建数据库

sql

复制

CREATE DATABASE 数据库名;
  • 示例:
  • sql
  • 复制
  • CREATE DATABASE testdb;

2.3 删除数据库

sql

复制

DROP DATABASE 数据库名;
  • 示例:
  • sql
  • 复制
  • DROP DATABASE testdb;

2.4 使用指定数据库

sql

复制

USE 数据库名;
  • 示例:
  • sql
  • 复制
  • USE testdb;

3. 表管理

3.1 查看所有表

sql

复制

SHOW TABLES;

3.2 查看表结构

sql

复制

DESCRIBE 表名;

或:

sql

复制

SHOW COLUMNS FROM 表名;

3.3 创建表

sql

复制

CREATE TABLE 表名 (
    列名 数据类型 [约束],
    列名 数据类型 [约束]
);
  • 示例:
  • sql
  • 复制
  • CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, email VARCHAR(100), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );

3.4 删除表

sql

复制

DROP TABLE 表名;

3.5 清空表数据(保留表结构)

sql

复制

TRUNCATE TABLE 表名;

3.6 修改表

  1. 添加列
  2. sql
  3. 复制
  4. ALTER TABLE 表名 ADD 列名 数据类型 [约束];
  5. 示例:
  6. sql
  7. 复制
  8. ALTER TABLE users ADD phone VARCHAR(20);
  9. 删除列
  10. sql
  11. 复制
  12. ALTER TABLE 表名 DROP COLUMN 列名;
  13. 示例:
  14. sql
  15. 复制
  16. ALTER TABLE users DROP COLUMN phone;
  17. 修改列数据类型
  18. sql
  19. 复制
  20. ALTER TABLE 表名 MODIFY COLUMN 列名 新数据类型;
  21. 示例:
  22. sql
  23. 复制
  24. ALTER TABLE users MODIFY COLUMN email TEXT;

4. 数据管理

4.1 插入数据

sql

复制

INSERT INTO 表名 (列名1, 列名2, ...) VALUES (值1, 值2, ...);
  • 示例:
  • sql
  • 复制
  • INSERT INTO users (username, email) VALUES ('Alice', 'alice@example.com');

4.2 查询数据

  1. 查询全部数据:
  2. sql
  3. 复制
  4. SELECT * FROM 表名;
  5. 条件查询:
  6. sql
  7. 复制
  8. SELECT * FROM 表名 WHERE 条件;
  9. 示例:
  10. sql
  11. 复制
  12. SELECT * FROM users WHERE username = 'Alice';
  13. 限制返回行数:
  14. sql
  15. 复制
  16. SELECT * FROM 表名 LIMIT 数量;

4.3 更新数据

sql

复制

UPDATE 表名 SET 列名1=值1, 列名2=值2 WHERE 条件;
  • 示例:
  • sql
  • 复制
  • UPDATE users SET email = 'alice@newdomain.com' WHERE username = 'Alice';

4.4 删除数据

sql

复制

DELETE FROM 表名 WHERE 条件;
  • 示例:
  • sql
  • 复制
  • DELETE FROM users WHERE id = 1;

5. 用户与权限管理

5.1 查看所有用户

sql

复制

SELECT User, Host FROM mysql.user;

5.2 创建用户

sql

复制

CREATE USER '用户名'@'主机' IDENTIFIED BY '密码';
  • 示例:
  • sql
  • 复制
  • CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'password123';

5.3 授权用户权限

sql

复制

GRANT 权限类型 ON 数据库名.表名 TO '用户名'@'主机';
  • 示例:
  • sql
  • 复制
  • GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';

5.4 撤销权限

sql

复制

REVOKE 权限类型 ON 数据库名.表名 FROM '用户名'@'主机';
  • 示例:
  • sql
  • 复制
  • REVOKE ALL PRIVILEGES ON testdb.* FROM 'testuser'@'localhost';

5.5 删除用户

sql

复制

DROP USER '用户名'@'主机';
  • 示例:
  • sql
  • 复制
  • DROP USER 'testuser'@'localhost';

5.6 刷新权限

sql

复制

FLUSH PRIVILEGES;
  • 该命令用于使权限更改立即生效。

6. 数据库备份与恢复

6.1 备份数据库

使用 mysqldump 命令:

bash

复制

mysqldump -u 用户名 -p 数据库名 > 备份文件.sql
  • 示例:
  • bash
  • 复制
  • mysqldump -u root -p testdb > backup.sql

6.2 恢复数据库

使用 mysql 命令导入备份文件:

bash

复制

mysql -u 用户名 -p 数据库名 < 备份文件.sql
  • 示例:
  • bash
  • 复制
  • mysql -u root -p testdb < backup.sql

7. 状态与性能监控

7.1 查看数据库状态

sql

复制

SHOW STATUS;

7.2 查看当前连接用户

sql

复制

SHOW PROCESSLIST;

7.3 查看数据库版本

sql

复制

SELECT VERSION();

7.4 查看服务器时间

sql

复制

SELECT NOW();

8. 修改 MySQL 配置

8.1 修改 MySQL 配置文件

  1. 默认配置文件路径:
  2. Debian/Ubuntu:/etc/mysql/my.cnf
  3. CentOS/RHEL:/etc/my.cnf
  4. 修改配置后,需重启 MySQL 服务:
  5. bash
  6. 复制
  7. sudo systemctl restart mysql

9. 常用快捷命令

功能

命令

登录 MySQL

mysql -u 用户名 -p

列出所有数据库

SHOW DATABASES;

列出当前数据库的表

SHOW TABLES;

查看表结构

DESCRIBE 表名;

查看当前用户

SELECT USER();

查看当前连接信息

SHOW PROCESSLIST;

退出 MySQL

exit; 或 \q


以上命令涵盖了 MySQL 数据库常见的管理任务。通过熟练使用这些命令,可以高效地管理 Linux 服务器上的 MySQL 数据库。

相关推荐

10种常见的MySQL错误,你可中招?

【51CTO.com快译】如果未能对MySQL8进行恰当的配置,您非但可能遇到无法顺利访问、或调用MySQL的窘境,而且还可能给真实的应用生产环境带来巨大的影响。本文列举了十种MySQL...

MySQL主从如何保证数据一致性

MySQL主从(主备)搭建请点击基于Spring的数据库读写分离。MySQL主备基本原理假设主备切换前,我们的主库是节点A,节点B是节点A的备库,客户端的读写都是直接访问节点A,节点B只是将A的更新同...

MySQL低版本升级操作流程

(关注“数据库架构师”公众号,提升数据库技能,助力职业发展)0-升级背景MySQL5.5发布于2010年,至今已有十年历史,官方已经停止更新。2008年发布的MySQL5.1版本,在2018年...

MySQL数据库知识

MySQL是一种关系型数据库管理系统;那废话不多说,直接上自己以前学习整理文档:查看数据库命令:(1).查看存储过程状态:showprocedurestatus;(2).显示系统变量:show...

Mysql 8.4数据库安装、新建用户和数据库、表单

1、下载MySQL数据库yuminstall-ywgetperlnet-toolslibtirpc#安装wget和perl、net-tools、libtirpcwgethtt...

mysql8.0新功能介绍

MySQL8.0新特性集锦一、默认字符集由latin1变为utf8mb4在8.0版本之前,默认字符集为latin1,utf8指向的是utf8mb3,8.0版本默认字符集为utf8mb4,utf8默...

全网最详细解决Windows下Mysql数据库安装后忘记初始root 密码方法

一、准备重置root的初始化密码Win+R键启动命令输入窗口;输入cmd打开命令执行窗口;##界面如下##输入命令:netstopmysqld#此操作会停止当前运行的...

互联网大厂面试:MySQL使用grant授权后必须flush privilege吗

从我上大学时,数据库概论老师就告诉我,MySQL使用grant对用户授权之后,一定记得要用flushprivilege命令刷新缓存,这样才能使赋权命令生效。毕业工作以后,在很多的技术文档上,仍然可以...

# mysql 8.0 版本无法使用 sqlyog 等图形界面 登录 的解决方法

30万以下的理想L6来了##mysql8.0版本无法使用sqlyog等图形界面登录的解决方法当我们在cmd下登录mysql时正常时,用sqlyog等图形界面连接数据库时却...

MySQL触发器介绍

前言:在学习MySQL的过程中,可能你了解过触发器的概念,不清楚各位是否有详细的去学习过触发器,最近看了几篇关于触发器的文档,分享下MySQL触发器相关知识。1.触发器简介触发器即trigg...

管理员常用的MySQL命令汇总(一)

以下是管理员常用的MySQL命令:以管理员身份连接到MySQL:mysql-uroot-p创建新的MySQL用户:CREATEUSER'username'@'...

Linux(CentOS) 在线安装MySQL8.0和其他版本,修改root密码

一:安装MySQL数据库1),下载并安装MySQL官方的YumRepositorymysql官方仓库地址:https://dev.mysql.com/downloads/repo/yum/选择自...

解决 MySQL 8.0 一直拒绝 root 登录问题

Accessdeniedforuser'root'@'localhost'(usingpassword:YES)这个错误在网上搜一下,能看到非常多的此类...

大模型MCP之MYSQL安装

前言学习大模型的时候需要一个mysql,原因还是在公司使用电脑的时候不允许按照Docker-Desktop,我的宿主机其实是MAC,我习惯上还是在centsos上面安装,就发现这件过去很简单的事情居然...

MySQL ERROR 1396

ERROR1396(HY000):OperationCREATEUSERfailedfor'usera'@'%'问题描述mysql>create...