首页 > 数据库 >Window安装Mysql8

Window安装Mysql8

时间:2024-12-20 11:03:11浏览次数:5  
标签:NO Mysql8 mysql Window MySQL password 安装 localhost

文章目录

下载zip安装包:

MySQL8.0 For Windows zip包下载地址:
https://dev.mysql.com/downloads/file/?id=476233,进入页面后可以不登录。
后点击底部“No thanks, just start my download.”即可开始下载。

安装前配置

解压zip包到安装目录

E:\software\mysql\mysql-8.0.11-winx64

配置环境变量

将解压文件夹下的bin路径添加到变量值中,前后以 ; 结尾

配置初始化的my.ini文件

我们发现解压后的目录并没有my.ini文件,没关系可以自行创建。在安装根目录下添加 my.ini(新建文本文件,将文件类型改为.ini),写入基本配置:

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录 切记此处一定要用双斜杠\\,单斜杠我这里会出错,不过看别人的教程,有的是单斜杠。自己尝试吧
basedir=E:\\software\\mysql\\mysql-8.0.11-winx64   
# 设置mysql数据库的数据的存放目录
datadir=E:\\software\\mysql\\mysql-8.0.11-winx64\\Data  
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口port=3306
default-character-set=utf8

注意:其中的data目录不需要创建,下一步初始化工作中会自动创建。

安装mysql

初始化数据库

在安装时,必须以管理员身份运行cmd,否则在安装时会报错,会导致安装失败的情况

在MySQL安装目录的 bin 目录下执行命令:


mysqld --initialize --console

执行完成后,会打印 root 用户的初始默认密码,比如

C:\Windows\System32>mysqld --initialize --console
2024-12-19T08:39:49.982918Z 0 [System] [MY-013169] [Server] D:\devSoftwareInstall\mysql-8.0.33-winx64\bin\mysqld.exe (mysqld 8.0.33) initializing of server in progress as process 31880
2024-12-19T08:39:49.995518Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2024-12-19T08:39:50.150977Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2024-12-19T08:39:50.657217Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: (gIp%1hwyUkA

注意!执行输出结果里面有一段: [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rI5rvf5x5G,E 其中root@localhost:后面的“rI5rvf5x5G,E”就是初始密码(不含首位空格)。在没有更改密码前,需要记住这个密码,后续登录需要用到。
要是误操作,关快了,或者没记住,那也没事,删掉初始化的 datadir目录,再执行一遍初始化命令,又会重新生成的。当然,也可以使用安全工具,强制改密码,用什么方法,自己随意。
参考: https://dev.mysql.com/doc/refman/8.0/en/data-directory-initialization-mysqld.html

安装服务

在MySQL安装目录的 bin 目录下执行命令:

mysqld --install [服务名]

后面的服务名可以不写,默认的名字为 mysql。当然,如果你的电脑上需要安装多个MySQL服务,就可以用不同的名字区分了,比如 mysql5 和 mysql8。
在这里插入图片描述

安装完成之后,就可以通过命令net start mysql启动MySQL的服务了。

net start mysql

在这里插入图片描述

通过命令net stop mysql停止服务。

net stop mysql

通过命令sc delete MySQL/mysqld -remove卸载 MySQL 服务

sc delete MySQL/mysqld -remove

更改密码

在MySQL安装目录的 bin 目录下执行命令:

 mysql -u root -p

这时候会提示输入密码,记住了上面第3.1步安装时的密码,填入即可登录成功,进入MySQL命令模式。
在MySQL中执行命令:

 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';  
 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'you_password';

修改密码,注意命令尾的;一定要有,这是mysql的语法

到此,安装部署就完成了。官方说测试速度MySQL8比5快两倍。

可以用 命令查看一下默认安装的数据库:

    show databases;
    use mysql;
    show tables;
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    4 rows in set (0.01 sec)
    mysql>

看到默认初始化了mysql数据库,其中user表里面存储MySQL用户信息。我们可以看一下默认MySQL用户:

    select user,host,authentication_string from mysql.user;
    
    mysql> select user,host,authentication_string from mysql.user;
    +------------------+-----------+-------------------------------------------+
    | user             | host      | authentication_string                     |
    +------------------+-----------+-------------------------------------------+
    | mysql.infoschema | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
    | mysql.session    | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
    | mysql.sys        | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
    | root             | localhost | *27C237A977F4F44D3F551F1A673BE14DFD232961 |
    +------------------+-----------+-------------------------------------------+
    4 rows in set (0.00 sec)
    mysql>

管理员root的host是localhost,代表仅限localhost登录访问。如果要允许开放其他ip登录,则需要添加新的host。如果要允许所有ip访问,可以直接修改成“%”
创建用户:

CREATE USER 'xxh'@'%' IDENTIFIED WITH mysql_native_password BY 'xxh123!@#';
//(需要注意:mysql8.0加密方式修改了)
//检查用户
select user, host, plugin, authentication_string from user\G;

授权远程数据库

//授权所有权限 
GRANT ALL PRIVILEGES ON *.* TO 'xxh'@'%';
//授权基本的查询修改权限,按需求设置
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON *.* TO 'xxh'@'%';
//查看用户权限
show grants for 'xxh'@'%';

示例:

mysql> use mysql;
Database changed
mysql> CREATE USER 'xxh'@'%' IDENTIFIED WITH mysql_native_password BY 'xxh123!@#'; #创建用户(注意:mysql8.0加密方式修改了)
Query OK, 0 rows affected (0.07 sec)
mysql> 

查看密码加密方式:

mysql> select user, host, plugin, authentication_string from user;
+------------------+-----------+-----------------------+-------------------------------------------+
| user             | host      | plugin                | authentication_string                     |
+------------------+-----------+-----------------------+-------------------------------------------+
| xxh              | %         | mysql_native_password | *70FD6FB4F675E08FF785A754755B5EBA6DA62851 |
| mysql.infoschema | localhost | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| mysql.session    | localhost | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| mysql.sys        | localhost | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| root             | localhost | mysql_native_password | *27C237A977F4F44D3F551F1A673BE14DFD232961 |
+------------------+-----------+-----------------------+-------------------------------------------+
5 rows in set (0.00 sec)
mysql>

另外,如果需要新增账户,或者本机以外的其他人访问MySQL则还需要设置内置账户的host,具体可以参考:MySQL创建用户与授权

远程连接mysql时遇到下列问题:

[HY000][1130] null, message from server: "Host ‘192.168.245.1’ is not allowed to connect to this MySQL server
解决方案:

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
flush privileges;     //生效

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'wangcheng' WITH GRANT OPTION;
flush privileges; 

表示授权某个用户在哪些主机上可以对哪些数据库和表进行哪些操作。
• ON . db.table: 数据库和数据表
• TO user: 要授权的用户
• @ host: %’表示任何主机

数据库报only_full_group_by错误,解决方案

决方案:
首先执行一下命令查看是否开启了only_full_group_by

select @@global.sql_mode

结果:

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

如果看到有ONLY_FULL_GROUP_BY这个,直接删除掉就行了。具体见下:

方式一:
在mysq的配置文件下新增配置,然后保存重启mysql即可

[mysqld]
sql_model=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

方式二:

set @@global.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

注意: 8.0.x的版本不支持NO_AUTO_CREATE_USER,去掉即可

标签:NO,Mysql8,mysql,Window,MySQL,password,安装,localhost
From: https://blog.csdn.net/weixin_45146962/article/details/144588763

相关文章

  • Ubuntu 使用 KVM 安装 windows11 虚拟机
    1、Ubuntu安装相关组件sudoapt-getupdatesudoapt-yinstalllibvirt-devsudoapt-yinstalllibvirt-daemon-systemsudoapt-yinstalllibvirt-clientssudoapt-yinstallvirtinstsudoapt-yinstallvirt-managersudoapt-yinstallqemu-kvmsudoapt-yi......
  • Android 安装包提示安装包损坏
    前言全局说明Android安装包提示安装包损坏一、说明二、错误提示:安装包损坏,建议重新下载安装三、解决方法3.1安装包确实下载损坏,重新下载,或查看MD5值,看是否不一致,如不一致则是损坏。3.2android系统和apk文件不匹配,低版本系统用高版本apk就会有此提示四......
  • MySQL 环境配置与 Navicat 安装教程
    引言对于很多初学者来说,学习和使用MySQL数据库是开发过程中不可或缺的一环。然而,如何正确安装和配置MySQL数据库,并结合图形化管理工具如Navicat来管理数据库,却常常成为入门的难点。本篇博客将从零开始,详细讲解MySQL的安装和基础配置,以及如何安装和使用Navicat来更高......
  • windows下的命令行你常用哪些命令?
    在Windows命令行界面下,作为前端开发者,我常用以下命令:文件与目录操作:cd:用于切换目录。例如,cdC:\Users\Username\Desktop会切换到桌面目录,而cd..则会返回上一级目录。dir:列出当前目录下的文件和子目录。这个命令在查看文件夹内容时非常有用。md或mkdir:创建新目录。例......
  • docker基础篇:安装tomcat
    @目录8.Docker常规安装简介8.1docker常规安装总体步骤8.2安装tomcat本人其他相关文章链接8.Docker常规安装简介注意点1:左面是原始的微服务架构,你要自己linux中搭建mysql、redis繁琐费事,右面是使用docker搭建的服务,直接dockerrunxx启动即可。8.1docker常规安装总体步骤......
  • grpc安装(windows or Linux)
    grpc安装(windowsorLinux)下载源码这里使用gRPC最新版本源代码进行编译和安装,版本号为v1.50.0,以下为安装步骤:一、使用Git克隆gRPC到本地在终端中打开某一文件夹,建议新建一个单独存放gRPC源代码的文件夹,输入:gitclone-bv1.50.0https://github.com/grpc/grpc二、安......
  • 全场景一站式2024最新vmware环境下安装win7并且破解QTP
    目录VMwareVMware和Ubuntu下载链接下载Win7系统各个操作系统网站激活码是什么查看是否激活激活操作vmware下安装ubuntu创建虚拟机下载VMtool灰色灰色按键点击不了下载提示有问题原因文件传递共享文件借助外界U盘有了VMTool就可以直接拖拽!!!!有了VMTool就可以全屏化——倒数第四个按......
  • Windows常用路径变量
    1windows常用路径变量声明:转自https://zhuanlan.zhihu.com/p/425692423,方便自己查阅。目录变量名对应路径程序安装目录%ProgramFiles%C:\ProgramFiles程序安装目录32位%PROGRAMFILES(X86)%C:\ProgramFiles(x86)公用文件夹%CommonProgramFiles%C:\Pro......
  • 【Unity 计算机视觉插件】OpenCV for Unity 轻松实现图像处理、目标检测、物体识别、A
    OpenCVforUnity是一款功能强大的Unity插件,将著名的计算机视觉库OpenCV无缝集成到Unity中,为开发者提供丰富的计算机视觉功能支持。通过该插件,开发者可以轻松实现图像处理、目标检测、物体识别、AR增强现实等复杂功能,适用于多种平台,包括Windows、macOS、Android、iOS等。功......
  • 本地大模型构建系列(一):4、安装部署MaxKB(Windows 10)
    前言MaxKB是一个基于大语言模型和检索增强生成(RAG)技术的开源知识库问答系统。它旨在帮助企业高效管理知识,并提供智能问答功能。MaxKB支持直接上传文档或自动爬取在线文档,能够进行文本自动拆分和向量化,从而有效减少大模型的幻觉现象,提升用户的问答交互体验。该系统具有以下特点:1......