Scoop安装配置MySQL最详细版(含Navicat连接MySQL)

news2024/11/25 19:36:03

这是在DataWhale的第一次打卡文章,也是时隔三年再动笔,希望持续下去。

我没想到花费了一整天的时间来配置我的写作环境(Typora+PicGo+腾讯云oss),因为我不想我的文字局限在某个平台上,很被动,想要掌握在自己的手里,一个好的写作环境就像写作业时清理书桌一样,带给自己好心情hhh。闲话到此为止,开始正文。

我没有完全按照教程,而是根据我已有的资源软件(比如Scoop),来完成MySQL的安装。**为什么用Scoop呢,因为安装又快有方便呀,还好解决环境的问题。**不过因为不一样,我感觉会踩坑,这一篇文章,是打卡、是踩坑经验、是教程。

文章目录

  • 1、Scoop安装MySQL(确保自己安装了main bucket)
  • 2、启动登录
  • 3、使用 Navicat 连接 MySQL(推荐指数5星呢)
    • 3.1、下载安装Navicat Lite
    • 3.2、连接失败1251问题的解决
    • 3.3 MySQL改密以及配置用户文件
    • 3.4、用Navicat连接MySQL
  • 4、使用 Navicat 导入 SQL脚本
    • 4.1 导入失败怎么办?看过来

1、Scoop安装MySQL(确保自己安装了main bucket)

Scoop install mysql

安装好之后会有如下的提示

Run 'mysqld --standalone' or 'mysqld --console' to start the Database,
or run following command as administrator to register MySQL as a service. See:
https://dev.mysql.com/doc/refman/en/windows-start-service.html

mysqld --install MySQL --defaults-file="D:\Scoop\apps\mysql\current\my.ini"

To stop and/or delete the Service run 'sc stop MySQL' and 'sc delete MySQL'.

会提示是否设置为服务,看是否需要,这取决于具体需求。如果只是在本地开发环境中使用 MySQL,可能并不需要将其设置为服务。但是,如果在生产环境(如服务器)中运行 MySQL,那么将其设置为服务会更加方便,因为服务会在系统启动时自动运行,无需手动启动。我本地使用,就不设置服务了。

2、启动登录

启动命令的区别:

  • mysqld --standalone 在后台启动;
  • mysqld --console在控制台窗口启动

这里我选择运行mysqld --console

成功运行后如下图

image-20230720175159750

接着最小化这个窗口(嫌麻烦可以用standalone那个命令),再开一个powershell

登录MySQL来验证是否能登录,输入

mysql -u root -p

命令解读:-u是user的意思,后面跟着用户名,这里用户名是root;-p是password的意思

会有让你输入密码的情况,因为Scoop安装后密码为空,所以直接回车

image-20230720181222064

出现下图则代表登录成功了

image-20230720181402932

保持这个powershell窗口开着不要动。

3、使用 Navicat 连接 MySQL(推荐指数5星呢)

3.1、下载安装Navicat Lite

先下载Navicat,我这里是DataWhale提供的DataWhale Lite的链接:

链接:https://pan.baidu.com/s/1xdAEXkATNfIS_yhYNROlAQ

提取码:vktl

先下载安装,记得更换路径,不要在C盘(唉,是昨天C盘爆满,一怒之下重装系统的慨叹

3.2、连接失败1251问题的解决

**注意!!!**如果直接用Navicat连接MySQL会显示下图。

image-20230720181940083

这意味着Navicat和MySQL协议不匹配,要么升级 Navicat Lite,要么更改 MySQL 用户的身份验证插件。请注意更改身份验证插件,可能会降低安全性!不过我这里是本地学习,就更改MySQL。

输入以下命令,更改MySQL身份验证协议,请注意MySQL命令后面带着“;”号:

 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';

逐部分解析这个命令:

  • ALTER USER 'root'@'localhost':这个部分表示我们要更改的用户是在 localhost 上的 root 用户。
  • IDENTIFIED WITH mysql_native_password:这个部分将用户的身份验证插件更改为 mysql_native_password。MySQL 提供了多种身份验证插件,而 mysql_native_password 是最常见的一种,它使用了基于密码的身份验证方案。
  • BY 'yourpassword':这个部分将 root 用户的密码更改为 yourpassword。因为初始密码为空,所以我们在这里设置为空

如下图

image-20230720185953425

3.3 MySQL改密以及配置用户文件

1、顺带着把密码给改了

ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';

在这里,newpassword 应该替换为你想要设置的新密码。

如下图

image-20230720190010907

为了使上述更改生效,需要运行 FLUSH PRIVILEGES 命令:

FLUSH PRIVILEGES;

解读:在 MySQL 中,用户的权限信息是在服务器启动时加载到内存中的,然后就不会再次从磁盘读取,除非你执行了 FLUSH PRIVILEGES 命令。

以上步骤后,可以使用 exit; 命令退出 MySQL 命令行:

exit;

2、配置用户文件

先来看DataWhale要求的设置:

image-20230720200516450

下面开始设置:找到my.ini文件所在地参照我下面的文件目录(记得要修改成自己的)。我这里用vim编辑器(什么?你没有vim?安装一下很快的Scoop install vim)或者找到配置文件用记事本来修改保存:

 vim "D:\Scoop\apps\mysql\current\my.ini"

然后,添加配置(操作步骤:按键盘 i 键变为编辑模式->方向键移动光标到插入位置->粘贴下面命令->键盘按esc键退出编辑模式->键盘按:wq退出文件编辑

**请记住数据库文件的存储位置要修改为自己的位置!!!**除了要求的设置,我额外加了一些其他设置,可加可不加。

[mysqld]
# 数据库数据文件存储的位置,记得修改为自己的
datadir=D:/scoop/persist/mysql/data

# secure_file_priv 限制了 LOAD DATA, SELECT ... INTO OUTFILE, LOAD_FILE(), ... 等文件操作的目录。如果设置为空,表示不做限制,要设置这个,否则可能无法导入表
secure_file_priv=''

# 设置默认存储引擎,设置为 InnoDB 以支持事务、行级锁定和外键
default-storage-engine=INNODB

# 设置默认字符集,设置为 utf8mb4 以支持包括中文在内的全字符集
character-set-server = utf8mb4 
collation-server = utf8mb4_unicode_ci 

# 设置数据库对象、数据库名和表名为小写
lower_case_table_names=1

# 允许的最大并发连接数
max_connections=200

# 允许从一个主机连续连接失败的次数,超过此数值,将暂时阻止该主机的连接请求,这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10

# 如果为 FALSE,则服务器不会自动将字符集设置为客户端的字符集。这样做可以确保服务器总是使用下面设置的 character-set-server 和 collation-server
character-set-client-handshake = FALSE 

# 新连接初始化时执行的命令,设置为 'SET NAMES utf8mb4' 以确保客户端使用正确的字符集
init_connect='SET NAMES utf8mb4'

# 默认使用“mysql_native_password”插件认证,这是 MySQL 最常用的身份验证插件(配置后输出有Warning,说设置成caching_sha2_password)更好,修改成caching_sha2_password之后测试也能连接,这里待定)
default_authentication_plugin=mysql_native_password

# 服务器监听的 TCP/IP 端口号
port=3306

[mysql]
# 设置 mysql 客户端的默认字符集,设置为 utf8mb4 以支持全字符集
default-character-set = utf8mb4 

[client]
# 默认连接的用户名
user=root

# mysql 客户端连接服务器时使用的默认 TCP/IP 端口号
port=3306

# 客户端发送给服务器的数据使用的字符集,设置为 utf8mb4 以支持全字符集
default-character-set = utf8mb4

3.4、用Navicat连接MySQL

一图胜所有

image-20230720191210185

可以点击测试连接,出现连接成功字样说明安装成功

image-20230720191429102

4、使用 Navicat 导入 SQL脚本

先下载脚本:

https://github.com/datawhalechina/wonderful-sql/blob/main/materials/create_table_sql/shop.sql

  1. 打开 GitHub 上的 SQL 脚本文件。
  2. 右键页面右上角的 “Raw” 按钮。
  3. 然后选择 “将链接另存为” 以下载文件

image-20230720201915608

然后导入SQL文件

image-20230720212615271

选项的含义:

  • Run multiple queries in each execution: 这个选项允许 Navicat 在每次执行时运行多条查询。如果 SQL 脚本文件包含多条独立的 SQL 语句,应该选择这个选项。这里关闭这个选项,如果选中会出错。
  • Set AUTOCOMMIT=0: 这个选项将关闭自动提交。在 SQL 中,提交是指将事务中的更改永久保存到数据库中。如果 SQL 脚本中包含了需要在一个事务中一起执行的多条 SQL 语句,应该选择这个选项。在导入完成后,需要手动提交事务以保证所有的更改都被保存到数据库中。

执行完毕后,如下图:

image-20230720213847288

可能不能看到导入的数据表,点击刷新:

image-20230720214004410

导入成功

image-20230720214030706

4.1 导入失败怎么办?看过来

但是!有的小伙伴会出现问题,如下图:

image-20230721090020162

这意味着这个名字已经被使用了,可能是一个已存在的表或者视图。怎么办呢,如果存在就替换呀,嘿嘿,这时候需要我们去修改原来的sql文件。

找到下载的sql文件,右键用记事本(我是notepad3)打开,找到最后两行(212行)(或者Ctrl+F搜索SELECT * FROM product,找到上一行),发现代码是

CREATE view `view_product` as

替换为下面这个代码,也就是增加了个Replace:

CREATE OR REPLACE view `view_product` as

image-20230721090248656

之后保存文件再导入,就ok啦。

至此,MySQL的安装到此结束,欢迎一起交流~~~

求关注,求点赞,求转发,求收藏!您的喜欢是我创作最大的动力!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/780864.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何在小程序首页隐藏商品分类

​因为在分类页面有显示分类,所以有的商家希望在首页就不显示分类啦。下面就介绍一下如何在首页隐藏商品分类。 在小程序管理员后台->页面设置->首页,显示商品分类设置为否。设置后,在小程序首页商品分类就不会显示啦。注意&#xff1a…

手机word文档怎么转换成pdf?分享两种方法

手机word文档怎么转换成pdf?在如今信息化的时代,电子文档已经成为人们日常办公不可或缺的一部分。随着科技的不断进步,电子文档的格式也在不断发展。PDF作为电子文档的一种重要格式,被广泛使用。那么,如何将手机上的Wo…

zabbix通过JMX监控tomcat

目录 1)配置java网关 2)修改tomcat 3)修改tomcat启动脚本 4)启动tomcat 5)Zabbix-web端配置——添加JMX信息 6)导入模板​编辑 7) 为server.zabbix.com添加模板 8)图形如下 9&…

SAP从放弃到入门系列之-5种库存转储测试

​前段时间发了小蜘蛛同学写的《STO 库存转储总结》这篇文章,一直没发测试的示例,4年前写的文章了,今天才从草稿箱翻出来。 文章目录导航 一、Plant to plant 1 step二、Plant to plant 2 steps中转库存(Stock In Transfer&#…

图数据库Neo4j学习二——cypher基本语法

1命名规范 名称应以字母字符开头,不以数字开头,名称不应包含符号,下划线除外可以很长,最多65535( 2^16 - 1) 或65534字符,具体取决于 Neo4j 的版本名称区分大小写。:PERSON和:Person是:person三个不同的标签&#xff…

Unity进阶-ui框架学习笔记

文章目录 Unity进阶-ui框架学习笔记 Unity进阶-ui框架学习笔记 笔记来源课程:https://study.163.com/course/courseMain.htm?courseId1212756805&_trace_c_p_k2_8c8d7393c43b400d89ae94ab037586fc 最上面的管理层(canvas) using System…

数仓学习---12、数仓开发之ADS层

星光下的赶路人star的个人主页 知世故而不世故 是善良的成熟 文章目录 1、数仓开发之ADS层1.1 流量主题1.1.1 各渠道流量统计1.1.2 路径分析 1.2 用户主题1.2.1 用户变动统计1.2.2 用户留存率1.2.3 用户新增活跃统计1.2.4 用户行为漏斗分析1.2.5 新增交易用户统计 1.3 商品主题…

Sentinel 规则持久化到 Nacos

一、Sentinel规则管理模式🍉 Sentinel的控制台规则管理有三种模式: 原始模式🥝 原始模式:控制台配置的规则直接推送到Sentinel客户端,也就是我们的应用。然后保存在内存中,服务重启则丢失 pull模式&#…

【重点:单例模式】特殊类设计

请设计一个类,只能在堆上创建对象 方式如下: 将构造函数设置为私有,防止外部直接调用构造函数在栈上创建对象。向外部提供一个获取对象的static接口,该接口在堆上创建一个对象并返回。将拷贝构造函数设置为私有,并且…

了解 3DS MAX 3D摄像机跟踪设置:第 2 部分

推荐: NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 1. 项目设置 步骤 1 打开“后效”。 打开后效果 步骤 2 转到合成>新合成以创建新合成。 将“宽度”和“高度”值分别设置为 1280 和 720。将帧速率设置为 25,将持续时间设置为 12 秒。单…

该虚拟机似乎正在使用中。如果该虚拟机未在使用,请按”获取所有权(T)”按钮获取它的所有权。否则,请按”取消(C)”按钮以防损坏。

文章目录 一、报错原因二、解决办法 一、报错原因 这是因为虚拟机未被正确关闭导致的问题。因此,在以后使用虚拟机时,我们应该确保正常关闭虚拟机系统,以避免出现这类问题。 二、解决办法 根据提示的配置文件位置,找到虚拟机安…

web-Access注入

看到网站上面有asp的就要联想到access数据库 方法一: 1.判断出整型注入 ?id1513 and 12 2.判断出列数为22列 ?id1513 order by 22 3.猜表名 回显正常说明存在这个表,回显不正常的话说明这个表就是不存在的。这里猜到表名为admin ?id1513 and ex…

详解HTTP协议(一)

1、HTTP概述 1、什么是HTTP 超文本传输协议(Hyper Text Transfer Protocol,HTTP) HTTP是一个基于请求与响应的、无状态的应用层协议,用于在两点之间传输超文本数据,常基于TCP/IP协议传输数据。 设计HTTP的初衷是为…

vmware17 开启虚拟机虚拟化

背景 我们需要在虚拟机里创建虚拟机。 实体机需要再bios里设置硬件设备的虚拟化 vmware软件可以在软件里设置虚拟化 设置虚拟化 现在我们看到是不能设置的,那是因为我现在开着这个虚拟机系统, 需要先关闭,才能对他进行设置。

【ACM】—蓝桥杯大一暑期集训Day5

🚀欢迎来到本文🚀 🍉个人简介:陈童学哦,目前正在学习C/C、Java、算法等方向,一个正在慢慢前行的普通人。 🏀系列专栏:陈童学的日记 💡其他专栏:CSTL&#xff…

【Hypermesh】TetraMesh Panel 常用选项详解

我的主页: 技术邻:小铭的ABAQUS学习的技术邻主页博客园 : HF_SO4的主页哔哩哔哩:小铭的ABAQUS学习的个人空间csdn:qgm1702 博客园文章链接: https://www.cnblogs.com/aksoam/p/17575322.html 结合Hypermesh 2020 帮…

Cesium态势标绘专题-辅助文件

本专题没有废话,只有代码,撸! 提示内容封装Tooltip.ts /** 封装提示内容方法* @Author: Wang jianLei* @Date: 2023-01-17 14:56:53* @Last Modified by: jianlei wang* @Last Modified time: 2023-05-19 17:33:37*/ import CreateRemindertip from ./ReminderTip;const T…

Spring-缓存初步认识

Spring-缓存 简单介绍 缓存是一种介于数据永久存储介质和数据应用之间的数据临时存储介质缓存有效提高读取速度&#xff0c;加速查询效率 spring使用缓存方式 添加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring…

【1++的C++初阶】之list

&#x1f44d;作者主页&#xff1a;进击的1 &#x1f929; 专栏链接&#xff1a;【1的C初阶】 文章目录 一&#xff0c;什么是list二&#xff0c;构造与析构2.1 结点结构2.2 链表结构2.3 迭代器结构 三&#xff0c;部分重要接口的作用及其实现3.1 迭代器相关的接口3.2 list相关…

uniapp 微信小程序 Picker下拉列表数据回显问题

效果图&#xff1a; 1、template <template><view class"items select-box"><view class"items-text">品牌型号</view><picker change"bindBrandType" :value"brandIndex" :range"brandList"…