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

这是在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的安装到此结束,欢迎一起交流~~~

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python识别极验4滑块验证码实战

闲得无聊,趁着休息研究了一下极验4滑块验证码的安全性,是否有机器识别、自动化拖拽的可能性。首先看一下效果 如何识别验证码 1、下载图片 下载图片可以参考博客《采集极验4滑块验证码图片数据》 2、标记图片 3、标记滑动距离 实现代码 __author__ &…

Kotlin~Observer观察者模式

概念 定义一对多的依赖关系,让多个观察者同时监听一个主题对象。 角色介绍 Subject:主题,也称被观察者,它是具有状态的对象维护着一个观察者列表。提供添加、删除和通知观察者的方法。ConcreteSubject:具体主题&…

如何在armv6 armv7 armv8(aarch64)嵌入式板子上面安装nginx服务器,支持H265码流

如何在armv6 armv6 armv8 aarch64 嵌入式板子上面安装nginx服务器支持推送H265的视频流 开始吧 一,准备工作二,configure时遇到的出错问题1、checking for C compiler … found but is not working2,error: can not detect int size3&#xf…

【C++ 程序设计】第 1~9 章:常见知识点汇总

目录 一、C 语言简介 二、面向对象的基本概念 三、类和对象进阶 四、运算符重载 五、类的继承与派生 六、多态与虚函数 七、输入/输出流 八、文件操作 九、函数模板与类模板 一、C 语言简介 知识点名称内容C语言的发展简史★★1. C 语言是 C 语言的前身 &…

Flink写入数据到Doris

文章目录 1.Doris建表2.Doris依赖3.Bean实体类4.Doris业务写入逻辑5.测试写入类6.发送数据 1.Doris建表 Doris中建表 CREATE TABLE IF NOT EXISTS demo.user (id INT NOT NULL,name VARCHAR(255),age INT ) DISTRIBUTED BY HASH(id) PROPERTIES ("replication_num&qu…

顺丰基于 Flink CDC + Hudi 推进实时业务落地

摘要:本文整理自大数据研发高级工程师唐尚文,在 Flink Forward Asia 2022 数据集成专场的分享。本篇内容主要分为三个部分: 应用场景 实践与优化 未来规划 点击查看原文视频 & 演讲PPT 一、应用场景 1.1 顺丰集团业务概览 顺丰除了大家…

宝塔的Redis绑定IP

宝塔安装Redis 软件商店搜索Redis 连接宝塔面板的redis服务器失败的解决办法 检查Linux是否放行6379端口修改Redis绑定IP检查阿里云/腾讯云的防火墙策略是否放行6379端口 1.bind 127.0.0.1 修改为 bind 0.0.0.0 127.0.0.1 表示只允许本地访问,无法远程连接 0.0.0.0 表…

51单片机--AT24C02数据存储

文章目录 存储器的介绍AT24C02I2C总线I2C时序结构AT24C02数据帧AT24C02数据存储实例 存储器的介绍 存储器是计算机系统中的一种重要设备,用于存储程序和数据,它可以通过电子、磁性介质等技术来记录和保持数据。在这里,主要介绍的是随机存储器…

TableGPT: Towards Unifying Tables, Nature Language and Commands into One GPT

论文标题:TableGPT: Towards Unifying Tables, Nature Language and Commands into One GPT 论文地址:https://github.com/ZJU-M3/TableGPT-techreport/blob/main/TableGPT_tech_report.pdf 发表机构:浙江大学 发表时间:2023 本文…

BeanFactory容器的构建和使用示例

BeanFactory容器的实现流程: BeanFactory是Spring框架中的一部分,它提供了IoC(控制反转)的实现机制。下面是BeanFactory的IoC实现过程: 定义Bean定义:首先,我们需要在配置文件中定义Bean的定义…

详解分类指标Precision,Recall,F1-Score

文章目录 1. Precision(精度)2. Recall(召回率)3. F1-Score4. Accuracy(准确率)5. P-R 曲线6. TPR、FPR6.1 TPR(真正率)6.2 FPR(假正率) 7. ROC曲线8. AUC曲线…

vscode使用g++编译.c文件或.cpp文件

vscode是一个跨平台、轻量级、插件非常丰厚的IDE,这里介绍在vscode里使用g来编译.cpp文件。g也叫GCC, 在Window中,是使用MinGW方式实现g的,它分为32位和64位2个版本,其中,MinGW-64是64位的,MinGW-32是32位的…

linux学成之路(基础篇)(二十)rsync服务器

目录 前言 一、概述 监听端口 二、特点 快捷 安全 三、数据的同步方式 四、rsync传输方式 本地传输 远程传输 守护进程 五、命令 作为远程命令 作为rsync服务 选项 六、配置文件 全局配置 模块配置 守护进程传输 七、rsyncinotfy实时同步 一、服务端 二、…

力扣奇遇记 [第一章]

文章目录 😦第一题:拿下LeetCode1769. 移动所有球到每个盒子所需的最小操作数学习内容:LeetCode1769. 移动所有球到每个盒子所需的最小操作数🙈思路分析:💖代码产出: 😦第二题&#…

优雅的设计测试用例

⭐️前言⭐️ 入职以后接触到了公司的具体业务,提升了设计测试用例的能力,于是沉淀出这篇文档与大家分享。 🍉欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁 🍉博主将持续更新学习记录收获&…

【C语言】表达式求值相关问题汇总—>隐式类型转换(整型提升)、算数转换与操作符优先级汇总(收藏查阅)

👀樊梓慕:个人主页 🎥个人专栏:《C语言》《数据结构》《蓝桥杯试题》 🌝每一个不曾起舞的日子,都是对生命的辜负。 目录 前言: 一、隐式类型转换 (一)整型提升的意义…

后端(四):博客系统项目

咱们在这里实现的是后端项目,前端代码就提一提,不全做重点介绍,在开始讲解这个博客系统项目之前,我们先看看这个项目的前端界面: 登录界面: 个人主页: 博客详情页: 写博客页&#x…

再见 Spring Boot 1.X ,Spring Boot 2.X 走向舞台中心

2019年8月6日,Spring 官方在其博客宣布,Spring Boot 1.x 停止维护,Spring Boot 1.x 生命周期正式结束。 其实早在2018年7月30号,Spring 官方就已经在博客进行过预告,Spring Boot 1.X 将维护到2019年8月1日。 1.5.x 将会…

【Java】重写compareTo()方法给对象数组排序

我们先给一个数组排序,我们肯定用的是Arrays.sort()方法: public class test2 {public static void main(String[] args) {int[] arr{3,5,4,6,9,8,1};System.out.println(Arrays.toString(arr));System.out.println("---------");Arrays.sort…

【C语言初阶】指针的运算or数组与指针的关系你了解吗?

🎬 鸽芷咕:个人主页 🔥 个人专栏:《快速入门C语言》《C语言初阶篇》 ⛺️生活的理想,就是为了理想的生活! 文章目录 📋 前言💬 指针运算💭 指针-整数💭 指针-指针💭 指针…