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的输入与输出缺省参数全缺省半缺省参数 函数重载参数类型不同参数个数不同参数类型顺序不同 引用引用特性 常引用使…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...
