当前位置: 首页 > news >正文

常用Mysql命令

前言

本文列举了一些常见的mysql操作

正文

一、连接和登录 MySQL

1. 使用命令行登录 MySQL

注意:需要将mysql的bin目录导入到环境变量中

mysql -u 用户名 -p

示例:

mysql -u root -p

执行上述命令后,系统会提示输入密码,输入正确的密码即可登录到 MySQL 控制台。
如果密码忘记则可以直接跳到六

2. 指定主机和端口登录

mysql -u 用户名 -p -h 主机地址 -P 端口号

示例:

mysql -u root -p -h localhost -P 3306

二、查看 MySQL 用户

1. 查看所有用户

登录到 MySQL 后,执行以下 SQL 语句查看所有用户:

SELECT User, Host FROM mysql.user;

说明:

  • User 列显示用户名。
  • Host 列显示用户可以从哪些主机连接。

2. 查看用户及其权限

SHOW GRANTS FOR '用户名'@'主机';

示例:

SHOW GRANTS FOR 'root'@'localhost';

三、创建和删除用户

1. 创建新用户

CREATE USER '用户名'@'主机' IDENTIFIED BY '密码';

示例:

CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'Test@1234';

说明:

  • '用户名':新用户的名称。
  • '主机':指定用户可以从哪些主机连接,'localhost'表示只能从本地主机连接,'%'表示可以从任何主机连接。
  • '密码':为用户设置的密码。

2. 删除用户

DROP USER '用户名'@'主机';

示例:

DROP USER 'testuser'@'localhost';

四、修改用户密码

在 MySQL 8.0 之前和之后,修改用户密码的方式有所不同。以下是两种不同版本中的密码修改方法:

MySQL 8.0 之前

在 MySQL 8.0 之前,使用 SET PASSWORD 命令或 UPDATE 命令来修改用户密码。常见的方式如下:

  1. 使用 SET PASSWORD 命令:

    SET PASSWORD FOR 'username'@'host' = PASSWORD('new_password');
    

    例如:

    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
    
  2. 使用 UPDATE 命令直接更新 mysql.user 表:

    UPDATE mysql.user SET Password = PASSWORD('new_password') WHERE User = 'username' AND Host = 'host';
    FLUSH PRIVILEGES;
    

    例如:

    UPDATE mysql.user SET Password = PASSWORD('new_password') WHERE User = 'root' AND Host = 'localhost';
    FLUSH PRIVILEGES;
    

MySQL 8.0 及以后

从 MySQL 8.0 开始,推荐使用 ALTER USER 语句来修改用户密码。mysql.user 表中的密码字段也改名为 authentication_string

  1. 使用 ALTER USER 命令:

    ALTER USER 'username'@'host' IDENTIFIED BY 'new_password';
    

    例如:

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
    
  2. 不再需要使用 FLUSH PRIVILEGES
    在 MySQL 8.0 及以后,使用 ALTER USER 修改密码后,不需要再执行 FLUSH PRIVILEGES 命令。

其他说明

  • 在 MySQL 8.0 之前,PASSWORD() 函数用于生成加密后的密码值;在 MySQL 8.0 中则不再使用该函数。
  • 从 MySQL 5.7 开始,MySQL 默认使用 mysql_native_password 插件进行密码验证,而在 MySQL 8.0 中则默认使用 caching_sha2_password 插件。

五、权限管理

1. 授予权限

GRANT 权限 ON 数据库.TO '用户名'@'主机';

示例:

GRANT SELECT, INSERT, UPDATE ON mydatabase.* TO 'testuser'@'localhost';

说明:

  • 权限:可以是单个权限,如 SELECT,也可以是多个权限,用逗号分隔,或者使用 ALL PRIVILEGES 授予所有权限。
  • 数据库.表:指定权限适用的数据库和表,*.* 表示所有数据库的所有表。

2. 撤销权限

REVOKE 权限 ON 数据库.FROM '用户名'@'主机';

示例:

REVOKE SELECT, INSERT ON mydatabase.* FROM 'testuser'@'localhost';

3. 刷新权限

在修改权限后,执行以下命令使权限生效:

FLUSH PRIVILEGES;

4. 查看用户权限

SHOW GRANTS FOR '用户名'@'主机';

示例:

SHOW GRANTS FOR 'testuser'@'localhost';

六、查看当前连接和会话

1. 查看当前连接的会话

SHOW PROCESSLIST;

说明:
该命令显示当前正在运行的线程信息,包括线程 ID、用户、主机、数据库、命令、执行时间、状态和信息。

2. 查看当前连接数

SHOW STATUS LIKE 'Threads_connected';

七、启动和停止 MySQL 服务

在 Windows 下

启动 MySQL 服务:

net start mysql

停止 MySQL 服务:

net stop mysql

八、配置 MySQL 服务器设置

MySQL 的配置文件通常位于 /etc/my.cnf(Linux)或 C:\ProgramData\MySQL\MySQL Server X.X\my.ini(Windows)。

常见配置选项:

[mysqld]
port=3306
bind-address=0.0.0.0
max_connections=200
default_storage_engine=InnoDB
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci

说明:

  • port:设置 MySQL 服务的端口号。
  • bind-address:设置 MySQL 监听的 IP 地址,0.0.0.0 表示监听所有地址。
  • max_connections:设置最大连接数。
  • default_storage_engine:设置默认存储引擎。
  • character-set-servercollation-server:设置默认字符集和校对规则。

修改配置文件后,需要重启 MySQL 服务使配置生效。

九、备份和恢复数据库

1. 备份数据库

mysqldump -u 用户名 -p 数据库名 > backup.sql

示例:

mysqldump -u root -p mydatabase > mydatabase_backup.sql

2. 恢复数据库

mysql -u 用户名 -p 数据库名 < backup.sql

示例:

mysql -u root -p mydatabase < mydatabase_backup.sql

相关文章:

常用Mysql命令

前言 本文列举了一些常见的mysql操作 正文 一、连接和登录 MySQL 1. 使用命令行登录 MySQL 注意&#xff1a;需要将mysql的bin目录导入到环境变量中 mysql -u 用户名 -p示例&#xff1a; mysql -u root -p执行上述命令后&#xff0c;系统会提示输入密码&#xff0c;输入…...

IDEA Debug工具

一、Debug工具栏 自定义debug工具栏&#xff1a;先把debug程序运行起来->右击->配置 常用的工具&#xff1a; 二、DeBug常用图标详解 三、DeBug实践操作 常规Debug&#xff1a;略。 Stream Chain&#xff1a;处理流式语句 Reset Frame&#xff1a;重置方法入栈 …...

ARM64的汇编资源

最近在写一本ARM64的教材&#xff0c;所以在晚上查找了一下相关资源&#xff0c;都是免费开源的&#xff0c;不包括盗版书籍。 Exploring AArch64 assembler Roger Ferrer Ibez的博客文章&#xff0c;写在2016-2017年&#xff0c;内容简单充实&#xff0c;适合入门。 《ARM6…...

实验室安全分级分类管理系统在高校中的具体应用

盛元广通高校实验室安全分级分类管理系统的构建&#xff0c;旨在通过科学合理的管理手段&#xff0c;提高实验室的安全水平&#xff0c;保障师生的人身安全&#xff0c;防止实验事故的发生。这一系统通常包括实验室安全等级评估、分类管理、风险控制、安全教育与培训、应急响应…...

使用 prerenderRoutes 进行预渲染路由

title: 使用 prerenderRoutes 进行预渲染路由 date: 2024/8/20 updated: 2024/8/20 author: cmdragon excerpt: prerenderRoutes 函数是 Nuxt 3 中一个强大的工具,它能够帮助开发者优化页面加载速度和改善用户体验。通过使用 prerenderRoutes,你能够灵活地指定需要预渲染的…...

【深度解析】WRF-LES与PALM微尺度气象大涡模拟

查看原文>>>【深度解析】WRF-LES与PALM微尺度气象大涡模拟 针对微尺度气象的复杂性&#xff0c;大涡模拟&#xff08;LES&#xff09;提供了一种无可比拟的解决方案。微尺度气象学涉及对小范围内的大气过程进行精确模拟&#xff0c;这些过程往往与天气模式、地形影响和…...

redis事件机制

redis服务器是一个由事件驱动(死循环)的程序&#xff0c;它总共就干两件事&#xff1a; 文件事件&#xff1a;利用I/O复用机制&#xff0c;监听Socket等文件描述符发生的事件&#xff0c;如网络请求时间事件&#xff1a;定时触发的事件&#xff0c;负责完成redis内部定时任务&…...

【C++】模拟实现vector

可以把vector看作升级版的数组&#xff0c;可采用下标进行访问&#xff0c;非常高效&#xff0c;大小可动态改变&#xff0c;会自动扩容&#xff0c;数据存储在堆空间上。 VECROR 成员变量、函数及模板总览构造函数和析构函数无参构造函数构造n个元素大小的空间并初始化通过某个…...

【CAN-IDPS】汽车网关信息安全要求以及实验方法

《汽车网关信息安全技术要求及试验方法》是中国的一项国家标准,编号为GB/T 40857-2021,于2021年10月11日发布,并从2022年5月1日起开始实施 。这项标准由全国汽车标准化技术委员会(TC114)归口,智能网联汽车分会(TC114SC34)执行,主管部门为工业和信息化部。 该标准主要…...

EASE-Grid是啥东西?

EASE-Grid&#xff08;Equal-Area Scalable Earth Grid&#xff0c;等面积可扩展地球网格&#xff09;是NASA设计的网格系统&#xff0c;主要用于存储和处理全球范围内的地球科学数据。可以被理解为一种特殊的投影方式&#xff0c;使得在全球范围内进行数据分析和可视化时&…...

前端用户管理模块方法及api分析

用户管理 方法及对应api 搜索 searchSysUser / GetSysUserListByPage 重置 resetData 添加用户 addShow &#xff1a;点击按钮后出现对话框&#xff0c;含有提交 submit / SaveSysUser、取消按钮 修改 editSysUser / UpdateSysUser 删除 deleteById / DeleteSysUser 分配角色…...

microsoft edge怎么关闭安全搜索

microsoft edge浏览器为用户提供了安全搜索功能&#xff0c;旨在帮助用户过滤掉搜索结果中出现的不当信息。然而&#xff0c;有些用户可能觉得安全搜索功能限制了他们的浏览体验或工作需求。下面就给大家带来关闭microsoft edge安全搜索的相关内容&#xff0c;一起来看看吧。&a…...

Qt | QSQLite内存数据库增删改查

点击上方"蓝字"关注我们 01、演示 参数随便设置 查询 修改 右键菜单是重点 手动提交,点击Submit All...

【论文阅读】SegNeXt:重新思考卷积注意力设计

《SegNeXt: Rethinking Convolutional Attention Design for Semantic Segmentation》 原文&#xff1a;https://github.com/Visual-Attention-Network/SegNeXt/blob/main/resources/paper.pdf 源码&#xff1a;https://github.com/Visual-Attention-Network/SegNeXt 1、简介 …...

【C++】String类:标准库介绍

目录 一.预备知识 1.auto关键字 2.范围for 3.迭代器 二.标准库里的string 1.string类的基本介绍 2.构造函数 ​编辑 3.访问及遍历操作 3.1 operator [] 3.2 基于范围for 3.3 使用迭代器 4.迭代器 5.容量操作 5.1 size和length 5.2 capacity 5.3 reserve和resiz…...

MS523非接触式读卡器 IC

MS523 是一款应用于 13.56MHz 非接触式通信中的高集成 度读写卡芯片&#xff0c;它集成了在 13.56MHz 下所有类型的被动非接 触式通信方式和协议&#xff0c;支持 ISO14443A/B 的多层应用。 主要特点  高度集成的解调和解码模拟电路  采用少量外部器件&#…...

仓颉编程语言入门 -- Socket 编程与HTTP 编程概述

仓颉的 Socket 编程概述 在网络通信的广阔天地中&#xff0c;仓颉的Socket编程如同一座桥梁&#xff0c;连接着不同的计算设备&#xff0c;实现了基于传输层协议的数据传输。无论是追求稳定可靠的TCP&#xff0c;还是偏好轻量级、无连接的UDP&#xff0c;Socket都扮演着不可或…...

Oracle基本SQL操作-用户角色权限管理

一、用户权限管理 -- 创建锁定用户&#xff0c;此时用户不可用 create USER zhucl IDENTIFIED BY 123456 account lock; 会提示用户被锁定&#xff1a; -- 删除用户 drop user zhucl;-- 重新创建用户&#xff0c;不锁定 create user zhucl IDENTIFIED BY 123456 account unlo…...

Qt-信号和槽(8)

目录 信号的概念 Qt中的信号三要素 connect函数 connect的原型 connect的使用 信号函数和槽函数 参数匹配 close关闭槽函数 运行结果 第一个问题&#xff1a;怎么知道 手册使用 第二个问题&#xff0c;为什么可以直接传递函数指针 自定义槽函数 第一种自定义槽函…...

80.游戏的分辨率修改思路与分析

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a;易道云信息技术研究院 上一个内容&#xff1a;79.游戏分析工具闪屏问题优化与数据被修改高亮 GAMEHACKER2.exe 工具下载地址&#xff…...

MaxKB(二):Ubuntu24.04搭建maxkb开发环境

接上文&#xff1a;windows10搭建maxkb开发环境&#xff08;劝退指南&#xff09; 上文在windows10环境搭建maxkb开发环境遇到各种坑&#xff0c;后面就转战ubuntu平台&#xff0c;果然比较顺利的完成开发环境搭建。当然遇到相关的问题还是可以参考上文《windows10搭建maxkb开发…...

c#实现数据导出为PDF的方式

PdfSharp vs iTextSharp: C#中PDF导出功能比较 PdfSharp 优点 轻量级&#xff1a;适合简单的PDF生成任务易于学习&#xff1a;API相对简单&#xff0c;学习曲线较缓开源&#xff1a;提供开源版本&#xff0c;可自由使用和修改纯C#实现&#xff1a;不依赖外部库或COM组件支持…...

【联想电脑】:使用拓展坞后转接HDMI,无法识别显示屏

项目场景&#xff1a; 作为一个嵌入式软件开发者&#xff0c;有两个外接屏幕&#xff0c;不足为奇。 但是在今天的使用电脑过程中&#xff0c;出现了接了一个拓展坞上面有HDMI接口&#xff0c;但是HDMI接口接上外接显示屏的时候电脑无法识别到&#xff0c;导致只有电脑直连的HD…...

Verilog刷题笔记53

题目&#xff1a; Fsm serialdata See also: Serial receiver Now that you have a finite state machine that can identify when bytes are correctly received in a serial bitstream, add a datapath that will output the correctly-received data byte. out_byte needs …...

GoFly快速开发后台框架-后端接口请求返回403提示码就跨域问题/请求端域名拦截问题

问题&#xff1a; 大家在本地开发或者部署后请求后端时返回403&#xff0c;只有一个问题就是存在请求端跨域问题。 解决办法&#xff1a; 解决这个问题很简单&#xff0c;跨域的就解决跨域就好了。 我们官方给大家统一解决办法是&#xff1a; 到后端配置文件resource/conf…...

设备实时数据采集:开启制造业智能化、自动化的新篇章

传统制造业在进行生产过程中&#xff0c;会涉及到设备实时数据采集需求&#xff0c;这些数据对于监控生产流程、优化生产效率、保证产品质量以及降低成本等方面至关重要。以下是一些常见的数据采集需求&#xff1a; 1.生产数据&#xff1a;包括生产数量、生产批次、生产速度等&…...

【python与java的区别-03(集合、字典)】

一、Set python: 集合&#xff08;set&#xff09;是一个无序的不重复元素序列。 集合中的元素不会重复&#xff0c;并且可以进行交集、并集、差集等常见的集合操作。 可以使用大括号 { } 创建集合&#xff0c;元素之间用逗号 , 分隔&#xff0c; 或者也可以使用 set() 函数…...

Java继承

目录 一、继承概念 二、语法格式 三、类型及特性 四、关键字 4.1. super 4.2. super与this指针 4.3 final 关键字 一、继承概念 继承(inheritance)机制&#xff1a;是面向对象程序设计使代码可以复用的最重要的手段&#xff0c;它允许程序员在保持原有类特 性 的基础上进…...

Kafka集群搭建的两种方式

目录 1. 依赖Zookeeper搭建集群 1. 下载Kafka二进制文件 2. 更改kafka配置 3. 启动Zookeeper集群和Kafka集群 4. 验证集群 1.创建主题 2. 检查主题是否存在 3. 创建生产者生产数据 4. 创建消费者消费数据 5. 检查Zookeeper中Kafka集群的元数据 2. 不依赖Zookeeper搭…...

两种变量初始化方法的区别

1. CarriageEntity carriageEntity new CarriageEntity()和 null的区别 1.1 CarriageEntity carriageEntity new CarriageEntity(); 初始化&#xff1a;这行代码创建了一个新的 CarriageEntity 对象&#xff0c;并将其引用赋值给 carriageEntity 变量。对象状态&#xff…...