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的输入与输出缺省参数全缺省半缺省参数 函数重载参数类型不同参数个数不同参数类型顺序不同 引用引用特性 常引用使…...

Matlab实现PID控制仿真(附上30个完整仿真源码+数据)
本文介绍了如何使用Matlab实现PID控制器的仿真。首先,我们将简要介绍PID控制器的原理和控制算法。然后,我们将使用Matlab编写一个简单的PID控制器,并使用仿真环境来验证其性能。最后,我们将通过调整PID控制器的参数来优化控制系统…...

微信小程序:文件下载
目录 第一步 请求资源 第二步 获取资源后写入到微信本地 获取资源 写入资源(wx.getFileSystemManager)writeFile 的api 第三步 读取资源(openDocument与saveImageToPhotosAlbum) 第一步 请求资源 下面是请求接口中的脚本内容 export let baseUrl http://192.168.78.112…...

QString和QByteArray的区别
QString和QByteArray的区别 本质格式转换QString字符串格式化打印长度 本质 QString是对QByteArray的再次封装 QString可以通过char*来构造,也可以通过QByteArray来构造 QByteArray就是char* QString是编码后的char* QString也是封装了字符串, 但是内部的编码为utf…...

Vue3 Vite electron 开发桌面程序
Electron是一个跨平台的桌面应用程序开发框架,它允许开发人员使用Web技术(如HTML、CSS和JavaScript)构建桌面应用程序,这些应用程序可以在Windows、macOS和Linux等操作系统上运行。 Electron的核心是Chromium浏览器内核和Node.js…...

【Nodejs】Express模板使用
1.Express脚手架的安装 安装Express脚手架有两种方式: 使用express-generator安装 使用命令行进入项目目录,依次执行: cnpm i -g express-generator可通过express -h查看命令行的指令含义 express -hUsage: express [options] [dir] Optio…...

【iOS】App仿写--管理系统
文章目录 前言一、账号界面二、功能界面三、添加功能四、删除功能五、更改功能六、查找功能七、排序功能八、退出功能总结 前言 在日常生活中,如果用文字来记述与管理我们数据会十分麻烦,并且人工成本较高,这里笔者给出一种管理系统的模版&a…...

JS实现队列的数据结构
创建queue.ts /*** 队列*/ export default class Queue<T> {private items: object;private count: number;private header: number;constructor() {this.items {};this.count this.header 0;}/*** 入队列* param element* returns 当前队列的数量*/enqueue(element:…...

title: 用 LangChain 构建基于资料库的问答机器人(四):通过代理使用外部工具
上一篇教程我们介绍了 ReAct 系统,这是一个非常强大的行为模式,但它需要编写大量的示例来告诉 LLM 如何思考、行动,并且为了遵循这个模式,还需要编写代码来分析生成文字、调用函数、拼接 prompt 等,这些工作都是十分繁…...

使用 CSS 自定义属性
我们常见的网站日夜间模式的变化,其实用到了 css 自定义属性。 CSS 自定义属性(也称为 CSS 变量)是一种在 CSS 中预定义和使用的变量。它们提供了一种简洁和灵活的方式来通过多个 CSS 规则共享相同的值,使得样式更易于维护和修改。…...

Unity 性能优化一:性能标准、常用工具
性能标准 推荐耗时: 性能提现到玩家直观感受,就是帧率,为了达到要求的帧率,就要控制CPU的耗时,不同类型的游戏,对帧率要求不一样。下面是推荐耗时: 推荐内存: 避免游戏闪退的重点…...