MySQL - 安装、连接、简单介绍
1、安装 MySQL8.0
安装MySQL 8.0的步骤,以 Windows 为例:
1.1 下载MySQL Installer:
需要从MySQL官方网站下载MySQL Installer。在下载页面中,选择适用于Windows的MySQL Installer并下载。
1.2 运行MySQL Installer:
下载完成后,运行下载的MySQL Installer。安装程序将会指导你完成MySQL的安装过程。
1.3 选择安装类型:
在MySQL Installer中,可以选择安装MySQL的不同组件,包括Server、Workbench、Shell等。选择Server选项,这将安装MySQL数据库服务器。
1.4 选择MySQL版本:
选择要安装的MySQL版本。选择MySQL 8.0版本。
1.5 安装过程:
接下来,MySQL Installer会下载所选版本的MySQL并开始安装过程。按照安装向导的指示进行操作。在过程中,你可以设置MySQL的root用户密码和其他配置。
1.6 启动MySQL服务:
安装完成后,MySQL服务将会自动启动。你可以在Windows的服务列表中查看MySQL服务是否正在运行。
1.7 连接MySQL:
安装完成后,可以使用MySQL Workbench等MySQL客户端工具来连接和管理MySQL服务器。使用root用户密码登录MySQL Workbench。
1.8 测试连接:
连接成功后,可以通过MySQL Workbench或其他MySQL客户端工具来测试连接,执行SQL查询等操作。
2、JetBrains开发的DataGrip:
DataGrip是一款由JetBrains开发的数据库集成开发环境(IDE)。JetBrains是一家知名的软件开发工具公司,他们也开发了许多受欢迎的IDE,如IntelliJ IDEA(Java开发工具)、PyCharm(Python开发工具)等。
DataGrip专注于数据库开发和管理,它为开发人员和数据库管理员提供了一个功能强大的工具,用于连接、查询、编辑和管理各种类型的数据库。它支持许多常见的关系型数据库,包括MySQL、PostgreSQL、Oracle、SQL Server、SQLite等,以及一些非关系型数据库如MongoDB。
DataGrip提供了许多有用的功能,使得数据库开发更加高效和方便,包括:
数据库连接管理: DataGrip允许你轻松连接到多个数据库,你可以配置数据库连接参数,保存连接配置,并且可以快速切换连接。SQL查询和编辑: DataGrip提供了功能强大的SQL编辑器,支持SQL代码自动完成、语法高亮、代码导航和错误检查等功能,使得编写和调试SQL查询更加方便。数据可视化: DataGrip允许你以表格形式查看数据库中的数据,并支持图表展示查询结果,使得数据可视化更加直观。数据导入和导出: DataGrip支持将数据从数据库导出为不同格式的文件,也支持将外部数据导入到数据库中,使得数据迁移更加简单。数据库管理: DataGrip提供了数据库对象管理功能,你可以管理数据库表、视图、存储过程、触发器等对象,也可以执行数据库维护任务。版本控制: DataGrip集成了版本控制系统(如Git),允许你对数据库脚本和结构进行版本管理。
3、连接
在使用DataGrip连接MySQL数据库时,需要提供以下信息:
3.1 数据库连接信息:
主机名或IP地址:MySQL数据库所在的主机名或IP地址。
端口号:MySQL数据库的端口号,默认为3306。
数据库名称:要连接的具体数据库的名称。
用户名和密码:连接到MySQL数据库所需的用户名和对应的密码。
3.1.1 SSH隧道(如果需要):
如果你的MySQL数据库位于受限制的网络中,需要通过SSH隧道进行连接,你还需要提供SSH服务器的信息,包括SSH主机名、SSH端口号、SSH用户名和对应的SSH密码或密钥文件。
在DataGrip中,可以通过以下步骤来连接MySQL数据库:
1、打开DataGrip并点击"Connect to Database"(连接到数据库)按钮。
2、在连接对话框中选择MySQL数据库类型。
3、输入MySQL数据库的主机名、端口号、数据库名称、用户名和密码。
4、如果需要SSH隧道,点击"SSH/SSL"选项卡,并填写SSH服务器的信息。
5、点击"Test Connection"(测试连接)按钮来验证连接是否成功。
6、如果连接测试成功,点击"OK"按钮来保存连接配置。
一旦连接成功,DataGrip将会显示数据库的结构和内容,你可以开始执行SQL查询、编辑数据库等操作。请确保提供的连接信息是正确的,并且你有权限连接到指定的MySQL数据库。
4、配置
4.1 添加用户
在MySQL中,默认情况下,root用户是具有超级用户权限的管理员账户,拥有对MySQL服务器的完全控制权限。由于root用户具有最高权限,不建议在实际应用中直接使用root用户进行普通操作,以防止意外的安全风险。
为了安全起见,通常建议创建一个专门用于应用程序或普通用户操作的新用户,并为其分配适当的权限。以下是在MySQL中创建新用户的步骤:
以root用户登录: 首先,使用root用户登录到MySQL服务器。在命令提示符窗口或MySQL客户端中,使用以下命令连接到MySQL服务器:
mysql -u root -p
系统将提示你输入root用户的密码。也可以
mysql -u root -p 密码
创建新用户: 登录成功后,可以使用以下SQL语句来创建新用户。将"new_user"和"password"替换为你想要的用户名和密码。
CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password';
这将在MySQL中创建一个新用户,并指定其用户名和密码。
CREATE USER 'lfsun'@'localhost' IDENTIFIED BY '123321';
授予权限: 接下来,需要为新用户分配适当的权限。可以根据具体需求为用户授予特定数据库或表的读写权限,或者赋予全局权限。例如,为了让新用户具有对所有数据库的读写权限,可以使用以下命令:
GRANT ALL PRIVILEGES ON *.* TO 'lfsun'@'localhost';
这将授予新用户对所有数据库的所有权限。
刷新权限: 在分配权限后,需要刷新MySQL的权限表,以使更改生效。可以使用以下命令刷新权限:
FLUSH PRIVILEGES;
退出MySQL: 最后,使用以下命令退出MySQL客户端:
exit;
完成上述步骤后,就成功创建了一个新用户并为其分配了适当的权限。现在,可以使用新用户的凭据登录到MySQL服务器,并执行具有相应权限的操作。
4.2 用户都有哪些权限?
在MySQL中,用户可以被授予不同级别的权限,以控制对数据库和数据库对象的访问和操作。以下是常见的MySQL用户权限级别:
ALL PRIVILEGES: 表示用户具有对所有数据库和表的完全权限,包括SELECT、INSERT、UPDATE、DELETE、CREATE、DROP、ALTER等权限。SELECT: 允许用户从数据库表中查询数据。INSERT: 允许用户向数据库表中插入新数据。UPDATE: 允许用户修改数据库表中的现有数据。DELETE: 允许用户从数据库表中删除数据。CREATE: 允许用户创建新的数据库或表。DROP: 允许用户删除数据库或表。ALTER: 允许用户修改数据库表的结构。GRANT OPTION: 允许用户将自己拥有的权限授予其他用户。EXECUTE: 允许用户执行存储过程。SHOW DATABASES: 允许用户查看所有数据库的列表。SHOW VIEW: 允许用户查看数据库中的视图。CREATE ROUTINE: 允许用户创建存储过程和函数。ALTER ROUTINE: 允许用户修改存储过程和函数。EVENT: 允许用户创建、修改和删除事件。TRIGGER: 允许用户创建和删除触发器。
4.2.1 一般情况下都有哪些权限?
在一般情况下,用户的权限应根据其在数据库中的角色和责任来进行合理分配。以下是在一般情况下常见的权限设置:
管理员权限:
ALL PRIVILEGES:数据库管理员通常需要具有对所有数据库和表的完全权限,以便进行数据库的管理和维护操作。
应用程序用户权限:
SELECT:应用程序用户通常只需要从数据库中查询数据,所以应该授予SELECT权限。
INSERT:如果应用程序需要向数据库中插入新数据,应该授予INSERT权限。
UPDATE:如果应用程序需要修改数据库中的数据,应该授予UPDATE权限。
DELETE:如果应用程序需要从数据库中删除数据,应该授予DELETE权限。
数据库开发者权限:
SELECT:数据库开发者需要查询和读取数据库中的数据,因此应该有SELECT权限。
INSERT:开发者可能需要向数据库中插入测试数据或新记录,所以应该授予INSERT权限。
UPDATE:开发者可能需要更新测试数据或纠正错误,所以应该授予UPDATE权限。
只读权限:
SELECT:有些用户可能只需要查看数据而没有修改权限,可以只授予SELECT权限,从而实现只读访问。
一般来说,为了保证数据库的安全性和数据完整性,应该遵循最小权限原则,即为用户分配最少所需的权限,不给予不必要的权限。管理员用户可能需要更高级别的权限以便管理数据库,而普通应用程序用户通常只需要具有查询和读写数据的权限。
相关文章:

MySQL - 安装、连接、简单介绍
1、安装 MySQL8.0 安装MySQL 8.0的步骤,以 Windows 为例: 1.1 下载MySQL Installer: 需要从MySQL官方网站下载MySQL Installer。在下载页面中,选择适用于Windows的MySQL Installer并下载。 1.2 运行MySQL Installer࿱…...
【算法】求欧拉函数(包括完整的证明以及代码模板,建议收藏)
求欧拉函数 前置知识 互质:互质是公约数只有1的两个整数,叫做互质整数。 欧拉函数定义 1 ∼ N − 1 1∼N-1 1∼N−1中与N互质的数的个数被称为欧拉函数,记为 ϕ ( N ) \phi(N) ϕ(N)。 若在算数基本定理中, N p 1 a 1 p 2 a 2 .…...

Ceph的应用
文章目录 一、创建 CephFS 文件系统 MDS 接口1)在管理节点创建 mds 服务2)查看各个节点的 mds 服务3)创建存储池,启用 ceph 文件系统4)查看mds状态,一个up,其余两个待命,目前的工作的…...

mac m1 触控栏TouchBar功能栏异常
电脑可能在高温下运行时间过长,导致TouchBar之前正常显示的调整屏幕亮度与调整声音等功能的按钮均丢失,然后看了一眼键盘设置,设置也是正常的,已勾选显示功能栏 下面请看 如何在MacBook Pro(macOS Monterey࿰…...

“奢侈品”价格的“快消品”,竹叶青这么想赚年轻人的“茶水钱”?
文 | 螳螂观察 作者 | 青月 或许是受养生焦虑的影响,这届年轻人似乎爱上了喝茶。 《抖音电商茶行业洞察报告》数据显示, 年轻客群已经成为了抖音电商茶行业的增长极,在茶叶、茶具、茶文化书籍等方面,18-30岁消费者是当之无愧消…...
【Matlab】基于随机森林算法的时间序列预测(Excel可直接替换数据)
【Matlab】基于随机森林算法的时间序列预测(Excel可直接替换数据) 1.模型原理2.数学公式3.文件结构4.Excel数据5.分块代码6.完整代码7.运行结果1.模型原理 基于随机森林算法的时间序列预测是一种利用随机森林模型来解决时间序列预测问题的方法。在传统的随机森林算法中,对于…...

vue 中断请求
1 背景:针对一些请求时间较长,组件销毁后即中断请求; 2 方法: data(){return {//用于取消请求abortController:new AbortController(), } }, created(){//请求接口this.groundAcquisition(); }, beforeDestroy(){//中断请求this.…...

Jwt(Json web token)——从Http协议到session+cookie到Token Jwt介绍 Jwt的应用:登陆验证的流程
目录 引出从Http协议到session&cookie到TokenHTTP协议session & cookiesessioncookie为什么需要session & cookie? JavaEE传统解决长连接方案问题:分布式不适用解决方案:令牌Token Jwt,Json web tokenjwt的结构Header加密算法Ba…...

Java使用 java.util.regex.Pattern 正则表达式校验参数值是否规范
场景: java中我们可以利用 Pattern 注解对某个入参进行规则校验,但有些特殊参数在接口入口处不方便校验,需要在代码中校验 一、使用 Pattern 注解校验 Pattern(regexp "^[a-zA-Z0-9]$", message "xxx号限输入字母、…...

HDFS基本操作命令
这里写目录标题 HDFS Shell CLI客户端说明常用命令hadoop fs -mkdir [-p] <path>hadoop fs -ls [-h] [-R] [<path>...]上传文件到指定目录下方法一:hadoop fs -put [-f] [-p] <localsrc>.....<dst>方法二:hadoop fs -moveFromLocal <loc…...

git 实操
首先有安装好的git,安装好后,会在任一目录下右键出现git bash和git gui两个选项 打开git bash,设置好全局变量,用户名和邮箱,设置方法为: git config -- global user.name "xxx" git config --global user.email "xxxxxx.com" 1.创建版本库 git init 命…...

Visual Studio Code Python 扩展中的包管理
排版:Alan Wang Python 凭借其简单的语法和强大的库,目前已成为最流行的编程语言之一,也是最适合那些刚接触编程的人们的语言。但是,随着项目复杂性和规模的增长,管理依赖项的复杂性也会增加。当新用户不断承接更成熟的…...
spring学习笔记九
数据源对象管理 1、加入pom坐标 <dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.16</version></dependency><!-- https://mvnrepository.com/artifact/c3p0/c3p0 --><depe…...
java list stream 使用
1、实现List对象集合的简单去重(distinct()) List<User> list list.stream().distinct().collect(Collectors.toList()); 2、实现List集合的根据属性(name)去重 list list.stream().filter(o -> o.getName() ! …...
两个Ubuntu电脑用SSH远程连接
两个Ubuntu电脑用SSH远程连接 1.ssh客户端及服务端的安装: 打开终端后,只需要以下两个命令即可 sudo apt-get install openssh-clientsudo apt-get install openssh-server2.启动ssh服务,执行以下命令: sudo /etc/init.d/ssh …...

讲解 @ServletComponentScan注解
目录: 1、用法介绍2、实例讲解 1、介绍 在SpringBoot项目启动器中添加ServletComponentScan注解后,SpringBoot在启动时会扫描并注册所有带有WebServlet(控制器)、WebFilter(过滤器)、WebListener(监听器&a…...

20款奔驰S350商务型加装原厂前排座椅通风系统,夏天必备的功能
通风座椅的主动通风功能可以迅速将座椅表面温度降至适宜程度,从而确保最佳座椅舒适性。该功能启用后,车内空气透过打孔皮饰座套被吸入座椅内部,持续时间为 8 分钟。然后,风扇会自动改变旋转方向,将更凉爽的环境空气从座…...

Rust vs Go:常用语法对比(十一)
题目来自 Rust Vs Go: Which Language Is Better For Developing High-Performance Applications?[1] 202. Sum of squares Calculate the sum of squares s of data, an array of floating point values. 计算平方和 package mainimport ( "math")func main() { da…...

Spring MVC拦截器和跨域请求
一、拦截器简介 SpringMVC的拦截器(Interceptor)也是AOP思想的一种实现方式。它与Servlet的过滤器(Filter)功能类似,主要用于拦截用户的请求并做相应的处理,通常应用在权限验证、记录请求信息的日志、判断用…...

C++初阶--C++入门
目录 前言C关键字命名空间命名空间的定义命名空间的使用加命名空间名称及作用域限定符使用using namespace 命名空间名称引入使用using将命名空间中的成员引入 C的输入与输出缺省参数全缺省半缺省参数 函数重载参数类型不同参数个数不同参数类型顺序不同 引用引用特性 常引用使…...

【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...

ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...