MySQL8.0在windows下的下载安装及详细使用

下载mysql8.0二进制包

下载地址:MySQL :: Download MySQL Community Server

编辑my.ini配置文件

解压二进制包,新建/编辑my.ini配置文件(如果不存在则新建)

[client]    #客户端设置,即客户端默认的连接参数
# 设置mysql客户端连接服务端时默认使用的端口
port=3306

#默认编码
default-character-set = utf8mb4

[mysql]    #客户端设置
#MySQL 提示符配置
#用户名@主机名+mysql版本号+数据库名
prompt=\\u@\\h \\v [\\d]>\\_

# 设置mysql客户端默认字符集
default-character-set = utf8mb4

[mysqld]    #服务端基本设置
# 默认连接端口
port=3306

# MySQL安装根目录的路径
basedir=D:\Server\mysql-8.0\mysql-8.0.38-winx64

# MySQL服务器数据目录的路径
datadir=D:\Server\mysql-8.0\mysql-8.0.38-winx64\data

# 允许最大连接数
max_connections=200

# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10

#服务端默认编码
character_set_server = utf8mb4

#在创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

# 配置时区
default-time_zone='+8:00'

安装使用服务 

安装并配置MySQL

1、以管理员身份运行命令提示符,下转到mysql的bin目录下

安装MySQL服务并指定配置文件:

 ./mysqld.exe --install "MySQL" --defaults-file="D:\Server\mysql-8.0\mysql-8.0.38-winx64\my.ini"

 注:此命令后面的my.ini配置文件的路径要与你的路径一致

2、初始化MySQL

mysqld --initialize --console

在这里,初始化会生成data文件夹并产生一个随机密码,记住这个密码,后面登录验证的时候会用到

注:如果不小心关闭窗口,忘记初始化生成的密码,可以删除初始化生成的data文件夹,重新初始化即可。

3、开启MySQL的服务

net start mysql

 登录验证

mysql -uroot -p

1、修改root密码

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

2、验证配置文件是否生效

\s

3、退出MySQL

\q

 附完整步骤 

 #1.安装MySQL服务并指定配置文件
./mysqld.exe --install "MySQL" --defaults-file="D:\Server\mysql-8.0\mysql-8.0.38-winx64\my.ini"

#2.初始化mysql,这步会产生随机root密码,需暂时记住,下面命令行登录用
 ./mysqld.exe --initialize --console

#3.启动mysql服务
net start mysql

#4.命令行登录
./mysql.exe -uroot -p

#5.改root密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'yangxxx';

#6.查看配置
\s

#7.退出mysql命令行
\q

#8.root登录
./mysql.exe -uroot -hlocalhost -pyangxxx


#9.添加新用户

CREATE USER 'yang'@'localhost' IDENTIFIED BY 'yangxxx';

#10.给新用户赋予权限:

GRANT ALL PRIVILEGES ON *.* TO 'yang'@'localhost';

#11.执行以下命令,使改变立即生效

FLUSH PRIVILEGES;

完

创建新用户 

在MySQL中,创建新用户并赋予权限可以通过以下步骤完成:

1、创建新用户

使用 CREATE USER 语句来创建新用户。如:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

这条语句创建了一个名为 newuser 的用户,该用户只能从 localhost 连接,并且密码是 password

2、赋予权限

使用 GRANT 语句来赋予用户权限。例如:

GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@'localhost';

这条语句赋予 newuser 用户对 database_name 数据库的所有权限。

3、刷新权限

 使用 FLUSH PRIVILEGES 语句来刷新权限,使更改立即生效。例如:

FLUSH PRIVILEGES;

以下是一个完整的示例:

-- 创建新用户
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

-- 赋予权限
GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@'localhost';

-- 刷新权限
FLUSH PRIVILEGES;

详细说明:

  • CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

    • 'newuser'@'localhost':用户名和主机名。主机名可以是 localhost%(表示任何主机)或其他特定主机。
    • IDENTIFIED BY 'password':设置用户的密码。
  • GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@'localhost';

    • ALL PRIVILEGES:赋予所有权限。
    • ON database_name.*:指定数据库和表。* 表示所有表。
    • TO 'newuser'@'localhost':指定用户和主机。
  • FLUSH PRIVILEGES;

    • 刷新权限表,使更改立即生效。

通过这些步骤,在MySQL中创建新用户并赋予相应的权限。

其他创建方式:MySQL数据库——MySQL创建用户(3种方式)_数据库_Itmastergo-GitCode 开源社区

QT中使用MySQL

 参见博文:Qt中使用MySQL数据库详解,好用的模块类封装_mysql连接包加入到qt指定的包里,然后添加为库怎么操作-CSDN博客

MySQL忘记密码解决办法

1、关闭MySQL服务

以管理员模式打开命令运行行,运行 net stop mysql 即可

net stop mysql

2、下转到MySQL的bin目录下,跳过MySQL密码验证

mysqld --console --skip-grant-tables --shared-memory 

注:如果已配置MySQL环境变量,可以在任意路径下进行,不必转到bin目录下

3、无密码方式进入MySQL

注意:在进行第三步时重开一个cmd窗口,第二步执行的cmd窗口不要关

mysql -uroot -p 

提示输入密码,不用管,直接回车确认即可

4、将登陆密码设置为空

use mysql; 
update user set authentication_string='' where user='root';

退出MySQL:

\q

5、关闭第二步的cmd窗口

6、启动MySQL服务

net start mysql

7、无密码方式登录MySQL

mysql -uroot -p

提示输入密码,不用管,直接回车确认即可

8、修改密码

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

9、退出MySQL

\q

10、重新登录验证密码是否修改成功

一行命令登录MySQL:

mysql -uroot -hlocalhost -p123456

mysql8.0登录失败问题

创建用户时,如果是这样创建的:
create user '用户名'@'连接的IP' identified by '密码';

例如:
create user  'testuser1'@'127.0.0.1' identified by 'root123';

MySQL 8.0+版本 创建新用户登录失败,报错:

C:\Windows\System32>mysql -u testuser1 -p
Enter password: *******
ERROR 2061 (HY000): Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection.

原因分析

MySQL8.0默认指定使用需要SSL的身份验证插件caching_sha2_password,而我们在创建账号时候没有指定REQUIRE SSL。为了降低这件事情的复杂性,我们选择了绕过SSL插件的验证,改为mysql_native_password验证来登陆即可。

解决方案

既然是新建的账户,那先登录root账户,可以直接删掉上面新创建的账户,然后新创建一个账户,指定验证密码方式:

mysql8建议用以下语句:
create user '用户名'@'连接的IP' identified with mysql_native_password by '密码';

例如:
create user 'testuser4'@'%' identified with mysql_native_password by 'root123';

再给新账户授予权限:

grant 权限 on 数据库名.表 to '用户名'@'连接的IP'

例如:
grant all privileges on db_sqllearn.* to 'testuser4'@'%';

如何关闭8.0的ssl连接? 

 注意:

  • MySQL 5.7中,默认的身份验证插件还是为 mysql_native_password。
  • 在MySQL 8.0中,caching_sha2_password是默认的身份验证插件,而不是 mysql_native_password。

配置信息更改:

vim /etc/my.cnf

#新增,禁用ssl
skip_ssl

default_authentication_plugin = mysql_native_password

Mysql命令:

mysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
#
#mysql>ALTER USER 'root'@'%' IDENTIFIED WITH caching_sha2_password BY '123456';

经过以上操作后,可以 

MySQL查看ssl配置以生效及相关信息:

show global variables like '%ssl%';

MySQL查看ssl证书的有效时间:

SHOW STATUS LIKE 'Ssl_server_not%';

其他资源

【MySql】MySQL 如何创建新用户_mysql创建新用户-CSDN博客

Windows 安装MySQL 8.0 (非常详细)从零基础入门到精通,看完这一篇就够了_windows安装mysql8-CSDN博客

MySQL数据库——MySQL创建用户(3种方式)_数据库_Itmastergo-GitCode 开源社区 

MySQL 8.0 安装部署3个注意事项_mysql8.0+为什么ssl-CSDN博客

正确解决Authentication plugin ‘caching _sha2_password’ cannot be loaded:异常的有效解决方法_authentication plugin 'caching sha2 password' cann-CSDN博客

https://zhuanlan.zhihu.com/p/663365242 

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

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

相关文章

Python【打包exe文件两步到位】

Python打包Exe 安装 pyinstaller(pip install pyinstaller) 执行打包命令(pyinstaller demo.py) 打完包会生成 dist 文件夹,如下如

openrestry中的hello world

目录 概述实践部署openrestry脚本效果验证 概述 此篇将在 k8s 运行起一个 openrestry   环境:k8s:1.27.9 ,openrestry(docker镜像版本): 1.25.x ,k8s 与 ingress 请参考我的其它文章 离线镜像包请参考:op…

2024暑假集训

Day1——枚举 Day2——测试 Day3——贪心 Day4、5——测试 ——————————————————————————————————————————— Day3T7&Day5T7:没思路 Day3T8:不知道怎么排序筛选 Day5T5:没有算法难度,但是不知道怎么处理2队奶牛的情…

【TB作品】51单片机 Proteus仿真 超声波LCD1602ADC0832 身高体重测量仪

00024 超声波LCD1602ADC0832 实验报告:基于51单片机的身高体重测量仪设计 背景介绍 本实验设计并实现了一个基于51单片机的身高体重测量仪。该系统利用超声波传感器测量高度,通过ADC0832模数转换芯片获取重量数据,并使用LCD1602显示屏显示…

MySQL 中的 DDL、DML、DQL 和 DCL

文章目录 1. 数据定义语言(DDL)2. 数据操作语言(DML)3. 数据查询语言(DQL)4. 数据控制语言(DCL)总结 在 MySQL 数据库管理系统中,SQL 语句可以根据其功能分为不同的类别&…

电源纹波相关

什么是纹波?什么是噪声? 这种叠加在直流稳定量上的交流分量就称为纹波。 纹波的危害 电源纹波能影响设备性能和稳定性 纹波会导致电器上产生谐波,降低电源的使用效率; 高频电源纹波可能会产生浪涌电压或电流,影响设…

VSCode神仙插件——CodeSnap (好看的代码截图)

1 安装 2 使用 选中要截图的代码,右键 此时右侧会出现代码截图的预览图 如果要将截图保存到本地,则点击上图红色框中的图标 也可以点击下面截的图,CtrlC复制,然后就可以CtrlV粘贴到其他应用程序里了

拉曼光谱入门:3.拉曼光谱的特征参数与定量定性分析策略

1.特征参数 1.1 退偏振率 退偏振率(p)是一个衡量拉曼散射光偏振状态的参数,它描述了拉曼散射光的偏振方向与入射光偏振方向之间的关系。退偏振率定义为垂直偏振方向的拉曼散射强度与平行偏振方向的拉曼散射强度之比。退偏振率(p&…

shark云原生-日志体系-filebeat高级配置(适用于生产)-更新中

文章目录 1. filebeat.inputs 静态日志收集器2. filebeat.autodiscover 自动发现2.1. autodiscover 和 inputs2.2. 如何配置生效2.3. Providers 提供者2.4. Providers kubernetes2.5. 配置 templates2.5.1. kubernetes 自动发现事件中的变量字段2.5.2 配置 templates 2.6. 基于…

微信小程序简历Demo

微信小程序简历Demo 使用介绍最后获取源码 bilibili视频介绍 使用介绍 使用微信小程序实现的一个简历实现Demo 拖动马里奥,到指定Name下方 向上顶就可以显示对应的简历样式 点击头像可拨打电话 点击信息处可显示当前位置 最后 这是一个简单并且有趣的微信小程…

el-table 树形数据与懒加载 二级数据不展示

返回的数据中 children和hasChildren只能有一个,不能同时存在,否则加载数据会失败

端口被占用,使用小黑框查杀

netstat -ano (查看目前所有被占的端口) netstat -ano|findstr " 8080" 查一下目前被占用的端口号 ,目前我要查的端口号是:8080,注意 后面打8080的时候,要有空格,要不然报错 **task…

【React Native优质开源项目】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

17_VGG深度学习图像分类算法

1.1 简介 VGG网络,全称为Visual Geometry Group网络,是由牛津大学的Visual Geometry Group和谷歌DeepMind的研究人员共同提出的深度卷积神经网络模型。这一模型因在2014年ILSVRC(ImageNet大规模视觉识别挑战赛)中取得图像分类任务…

高级计算机体系结构--期末真题及题型总结

2024 年春季学期期末考题回顾一、名词解释二、简答题2007 年简答题2008 年简答题简答题答案 三、分析题1. MESI 和 Dragon 协议计算给定内存存取序列所需的时钟周期2007年第一题及参考答案例题及解答 2. 顺序一致性存储模型,判断进程的合法输出2007年第二题及参考答…

【网站推荐】Developer Roadmaps 开发者学习路线

你是否想学习某门技术而苦苦找不到学习路线。本文推荐一个网站,解决学习路径问题。 roadmap.sh 旨在创建路线图、指南和其他教育内容,以帮助指导开发人员选择路径并指导他们的学习。 技术路线包括了前端后端安卓iosUI设计等内容,一些技术比如…

CV- 人工智能-深度学习基础知识

一, 深度学习基础知识 1,什么是深度学习?机器学习是实现人工智能的一种途径,深度学习是机器学习的一个子集,也就是说深度学习是实现机器学习的一种方法。2, 传统机器学习算术依赖人工设计特征,并进行特征提取,而深度学习方法不需要人工,而是依赖算法自动提取特征。深度…

【网络安全】实验四(网络扫描工具的使用)

一、本次实验的实验目的 (1)掌握使用端口扫描器的技术,了解端口扫描器的原理 (2)会用Wireshark捕获数据包,并对捕获的数据包进行简单的分析 二、搭配环境 打开两台虚拟机,并参照下图&#xff…

sublime 3 背景和字体颜色修改

sublime 4 突然抽风,每次打开都显示 “plugin_host-3.3 has exited unexpectedly, some plugin functionality won’t be available until Sublime Text has been restarted” 一直没调好,所以我退回到sublime 3了。下载好了软件没问题,但是一…

运维系列.Nginx中使用HTTP压缩功能

运维专题 Nginx中使用HTTP压缩功能 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550…