MySQL安装使用(mac、windows)
目录
macOS环境
一、下载MySQL
二、环境变量
三、启动 MySql
四、初始化密码设置
windows环境
一、下载
二、 环境配置
三、安装mysql
1.初始化mysql
2.安装Mysql服务
3.更改密码
四、检验
1.查看默认安装的数据库
2.其他操作
macOS环境
一、下载MySQL
打开 MySql 官方下载页面
我是macOS12,所以选择了8.0.30

下载完成之后,打开安装,一直下一步安装完成,在最后安装完成时,会弹出对话框,里面包含了
mysql账号跟临时密码,需要拷贝出来记录一下,后面会用它进行登录以及修改为新的mysql密码:
root就是账号,密码就是随机生成的这串,如果使用强密码就是自己输入的那个密码。

在新版本中会有 use strong password excryption 与 use legacy password excryption 选项
- use strong password encryption:使用强密码加密。mysql8 支持基于 SHA256 的更强的认证方式,所有新安装的 mysql server 建议使用这个方式。clients 或 connectors 如果不支持这个方式,就不能连接到这个 mysql server。
- use legacy password encryption:使用老式的密码加密,也就是上图中的。
- 配置 root 的密码,合理的密码规则为:至少8个字符,包含数字、字母、其他字符。


接着输入你的密码,用于登陆,切记!跟上面旧密码一样的,一定要记住记好了!
安装成功以后,可以使用命令行进行启动操作,也可以进入 系统偏好设置 中找到 Mysql 进行可视化启动!
二、环境变量
-
第一步 :在终端切换到根目录,编辑
~/.bash_profile或~/.zshrc文件,也可以两个都加 -
$ vim ~/.bash_profile $ vim ~/.zshrc -
# 辅助:查看 mysql 本地路径 $ ps -ef|grep mysql# 辅助:如果两个配置文件不存在,可以手动创建 $ cd ~ $ touch .zshrc $ vim .zshrc# 辅助:如果不想走命令行的方式修改环境变量,也可以直接打开文件进行可视化修改,不支持 Linux 可视化 $ open ~/.zshrc第二步 :进入
vim编辑环境。 按下i进入insert模式 ,输入 -
export PATH=$PATH:/usr/local/mysql/bin export PATH=$PATH:/usr/local/mysql/support-files第三步 :按下
esc退出insert模式,输入:wq保存配置文件。 -
:wq
第四步 :在终端界面下输入以下命令,让配置文件的修改生效,并查看环境变量是否设置成功 -
$ source ~/.bash_profile $ source ~/.zshrc $ echo $PATH到这里环境变量就设置完成了,我们可以查看一下当前 mysql 的版本:
-
$ mysql -V
MySQL服务的启停和状态的查看
开启MySQL服务(需要输入电脑密码,不是数据库登录密码)
sudo mysql.server start停止MySQL服务
sudo mysql.server stop重启MySQL服务
sudo mysql.server restart查看MySQL服务状态
sudo mysql.server status
三、启动 MySql
-
第一步 :启动
mysql服务
sudo mysql.server start
启动如果报错 ERROR! The server quit without updating PID file (/usr/local/mysql/data/***.pid). 这边是因为安装了就默认启动了,已经有进程在了,所以报错,关掉重启就没问题了。还有别的原因也会这样,比如没有读写权限等。

第二步 :启动成功后,登录 mysql
mysql -u root -p

四、初始化密码设置
-
设置初始化密码,进入数据库
mysql数据库之后执行下面的语句,设置当前root用户的密码为123456(密码设置你自己的,这里只是举例)。 -
set password = password('123456');
回车,然后会提示设置成功。
退出 sql 界面
exit
-
以上
MySql就在本地安装完成了 !!!
数据库管理(两种形式)
- 1.MySQL Workbench
- 2.Navicat premium(指令练习)
windows环境
一、下载
1.下载解压
MySQL :: Download MySQL Community Server

下载后解压,存放到安装目录下
2.在【安装目录】内,新建 my.ini 空文件
可以先创建一个txt文件,另存为my.ini

输入以下内容(注意安装目录)
[mysql]
# 设置 mysql 客户端默认字符集
default-character-set=utf8[mysqld]
#设置 3306 端口
port = 3306# 设置 mysql 的安装目录
basedir= C:\mysql\mysql-8.2.0-winx64# 设置 mysql 数据库的数据的存放目录
datadir= C:\mysql\mysql-8.2.0-winx64\data# 允许最大连接数
max_connections=200# 服务端使用的字符集默认为 8 比特编码的 latin1 字符集
character-set-server=utf8# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
或者
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=C:\\mysql\\mysql-8.2.0-winx64 # 切记此处一定要用双斜杠\\,单斜杠我这里会出错,不过看别人的教程,有的是单斜杠
# 设置mysql数据库的数据的存放目录
datadir=C:\\mysql\\mysql-8.2.0-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
二、 环境配置
方便调用数据库,相当于一个快捷方式。
1 打开环境变量
按 win+q,输入“环境变量”,选择“编辑系统环境变量”,点击“环境变量”
2.新建系统变量 MYSQL_HOME
在下方的”系统变量“内,新建一个系统变量,变量名为 MYSQL_HOME ,变量值为【安装目录】,如图。

3.编辑 Path 变量
继续在“系统变量”找到变量名为 Path 的系统变量,新建一个新的环境变量 %MYSQL_HOME%\bin

三、安装mysql
1.初始化mysql
管理员运行cmd,进入bin路径下,输入
mysqld --initialize --console
执行完成后,会打印 root 用户的初始默认密码,比如:
C:\mysql\mysql-8.2.0-winx64\bin>mysqld --initialize --console
2024-03-11T10:13:22.761487Z 0 [System] [MY-015017] [Server] MySQL Server Initialization - start.
2024-03-11T10:13:22.772911Z 0 [System] [MY-013169] [Server] C:\mysql\mysql-8.2.0-winx64\bin\mysqld.exe (mysqld 8.2.0) initializing of server in progress as process 22556
2024-03-11T10:13:22.777567Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
2024-03-11T10:13:22.805070Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2024-03-11T10:13:23.985606Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2024-03-11T10:13:27.977275Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: V/tfKjvP6sDu
2024-03-11T10:13:33.448473Z 0 [System] [MY-015018] [Server] MySQL Server Initialization - end.C:\mysql\mysql-8.2.0-winx64\bin>
注意!执行输出结果里面有一段:[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: V/tfKjvP6sDu 其中root@localhost:后面的“V/tfKjvP6sDu”就是初始密码(不含首位空格)。在没有更改密码前,需要记住这个密码,后续登录需要用到。
2.安装Mysql服务
在MySQL安装目录的 bin 目录下执行命令:
mysqld --install [服务名]
后面的服务名可以不写,默认的名字为 mysql。当然,如果你的电脑上需要安装多个MySQL服务,就可以用不同的名字区分了,比如 mysql5 和 mysql8。

安装完成之后,就可以通过命令net start mysql启动MySQL的服务了。通过命令net stop mysql停止服务。通过命令
sc delete MySQL/mysqld -remove卸载 MySQL 服务

3.更改密码
在MySQL安装目录的 bin 目录下执行命令:
mysql -u root -p
这时候会提示输入密码,记住了上面初始化步骤时的密码,填入即可登录成功,进入MySQL命令模式。

在MySQL中执行命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
修改密码,注意命令尾的;一定要有,这是mysql的语法

这样,安装部署就完成了 !!!
四、检验
1.查看默认安装的数据库
show databases;
use mysql;
show tables;
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.02 sec)
mysql> use mysql;
Database changed
mysql> show tables;
+------------------------------------------------------+
| Tables_in_mysql |
+------------------------------------------------------+
| columns_priv |
| component |
| db |
| default_roles |
| engine_cost |
| func |
| general_log |
| global_grants |
| gtid_executed |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| innodb_index_stats |
| innodb_table_stats |
| ndb_binlog_index |
| password_history |
| plugin |
| procs_priv |
| proxies_priv |
| replication_asynchronous_connection_failover |
| replication_asynchronous_connection_failover_managed |
| replication_group_configuration_version |
| replication_group_member_actions |
| role_edges |
| server_cost |
| servers |
| slave_master_info |
| slave_relay_log_info |
| slave_worker_info |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+------------------------------------------------------+
38 rows in set (0.01 sec)
2.其他操作
管理员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'@'%';
查看密码加密方式:
select user, host, plugin, authentication_string from user;

另外,如果需要新增账户,或者本机以外的其他人访问MySQL则还需要设置内置账户的host,具体可以参考:MySQL创建用户与授权
MAC MySql 安装(详细步骤)_mac 安装mysql-CSDN博客
https://www.cnblogs.com/laumians-notes/p/9069498.html
相关文章:
MySQL安装使用(mac、windows)
目录 macOS环境 一、下载MySQL 二、环境变量 三、启动 MySql 四、初始化密码设置 windows环境 一、下载 二、 环境配置 三、安装mysql 1.初始化mysql 2.安装Mysql服务 3.更改密码 四、检验 1.查看默认安装的数据库 2.其他操作 macOS环境 一、下载MySQL 打开 MyS…...
Day27:安全开发-PHP应用TP框架路由访问对象操作内置过滤绕过核心漏洞
目录 TP框架-开发-配置架构&路由&MVC模型 TP框架-安全-不安全写法&版本过滤绕过 思维导图 PHP知识点 功能:新闻列表,会员中心,资源下载,留言版,后台模块,模版引用,框架开发等 技…...
c++: 引用能否替代指针? 详解引用与指针的区别.
文章目录 前言1. 引用和指针的最大区别:引用不能改变指向2. 引用和指针在底层上面是一样的3. 引用和指针在sizeof面前大小不同4. 有多级指针,没有多级引用5.引用是引用的实体,指针会向后偏移同一个类型的大小 总结 前言 新来的小伙伴如果不知道引用是什么?可以看我的上一篇文…...
Java项目源码基于springboot的家政服务平台的设计与实现
大家好我是程序员阿存,在java圈的辛苦码农。辛辛苦苦板砖,今天要和大家聊的是一款Java项目源码基于springboot的家政服务平台的设计与实现,项目源码以及部署相关请联系存哥,文末附上联系信息 。 项目源码:Java基于spr…...
十大排序算法(冒泡排序、插入排序、选择排序、希尔排序、堆排序、快排、归并排序、桶排序、计数排序、基数排序)
目录 一、冒泡排序: 二、插入排序: 三、选择排序: 四、希尔排序: 五、堆排序: 六、快速排序: 6.1挖坑法: 6.2左右指针法 6.3前后指针法: 七、归并排序: 八、桶…...
matplotlib 画多子图的时候添加图例/legend
一开始搞不懂图例是什么意思,以为是整个图,最后发现原来图例就是代码中的legend: 子图的图例(legend)用于解释图表中各条线、点或其他元素所代表的含义。图例通常位于图表的一角,以帮助观众理解图表中展示的…...
手写一个线程池
自己手动写一个线程池的必要条件需要先了解我们使用的线程池的功能。为什么会有线程池?这是为了减少线程创建和销毁的开销。复用线程的目的。为了达到这个目的。预计方案是:需要一个存放任务的队列,主线程相当于生产者,在这个队列…...
Spring Boot 多环境配置
Spring Boot 多环境配置 在现代的软件开发中,通常需要将应用程序部署到不同的环境中,如开发环境、生产环境和测试环境等。每个环境可能需要不同的配置参数,例如数据库连接信息、日志级别等。在 Spring Boot 中,我们可以通过简单的…...
【Python】一文带你详解sys.executable函数的作用
【Python】一文带你详解sys.executable函数的作用 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到您的订阅和支…...
thingsboard如何自定义udp-transport
0、参考netty实现udp的文章 https://github.com/narkhedesam/Netty-Simple-UDP-TCP-server-client/blob/master/netty-udp/src/com/sam/netty_udp/server/MessageDecoder.java 调试工具使用的是:卓岚TCP&UDP调试工具 1、在common\transport下面创建udp模块,仿照mqtt的创…...
【汇编】#3 8086与数据有关的寻址方式
文章目录 操作码与操作数1. 8086处理器的与数据有关的寻址方式1.1 立即数寻址方式1.2 寄存器寻址方式 2. 有效(偏移)地址(effective address,EA)与缺省段寄存器选择tips:段跨越前缀2.1 直接寻址tips:直接寻址与立即寻址…...
【数据结构】单链表的层层实现!! !
关注小庄 顿顿解馋(●’◡’●) 上篇回顾 我们上篇学习了本质为数组的数据结构—顺序表,顺序表支持下标随机访问而且高速缓存命中率高,然而可能造成空间的浪费,同时增加数据时多次移动会造成效率低下,那有什么解决之法呢ÿ…...
丰田研究所(TRI)最新成果——可实现全身操控的软体机器人Punyo
文 | BFT机器人 人形机器人在近年的科技浪潮中迅速崛起,成为了各界瞩目的焦点,众多企业纷纷推出自家的机器人模型,但仔细观察,不难发现它们中的许多在操作方式上仍显得颇为相似。这些典型的人形机器人,以其机械臂和抓…...
【PyTorch实战演练】深入剖析MTCNN(多任务级联卷积神经网络)并使用30行代码实现人脸识别
文章目录 0. 前言1. 级联神经网络介绍2. MTCNN介绍2.1 MTCNN提出背景2.2 MTCNN结构 3. MTCNN PyTorch实战3.1 facenet_pytorch库中的MTCNN3.2 识别图像数据3.3 人脸识别3.4 关键点定位 0. 前言 按照国际惯例,首先声明:本文只是我自己学习的理解ÿ…...
MFC中字符串string类型和CString类型互转方法
在Microsoft Foundation Classes (MFC)中,CString是一个非常方便的类,用于处理C风格的字符串。有时,你可能需要在MFC的CString和C标准库中的std::string之间进行转换。下面是如何在两者之间进行转换的方法: CString转std::string…...
Jmeter-使用http proxy代理录制脚本
Jmeter-使用http proxy代理录制脚本 第1步:打卡jmeter工具新增1个线程组 第2步:给线程组添加1个HTTP请求默认值 第3步:设置下HTTP请求默认值第4步:在工作台中新增1个----HTTP代理服务器 第5步:设置HTTP代理服务器 …...
C++训练营:new 运算符
大家好: 衷心希望各位点赞。 您的问题请留在评论区,我会及时回答。 一、new 运算符 new 运算符用于动态分配一片内存空间,并返回这片内存空间的首地址,可将该首地址存入一个指针变量中,主要有以下三种格式。 二、格…...
C# 用Trace.WriteLine输出调试信息无法查看
写程序就会遇见BUG,这时候在代码不同部位输出一些标记的信息对查找错误非常有必要,一般情况下我们都是使用Console.WriteLine()方法来打印信息到控制台窗口,但有时候使用Console.WriteLine()方法会存在不方便的情况,比如鄙人遇到的…...
【Echarts】柱状图上方显示数字以及自定义值,标题和副标题居中,鼠标上显示信息以及自定义信息
欢迎来到《小5讲堂》 大家好,我是全栈小5。 这是《前端》系列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握…...
HTML 语义化:构建优质网页的关键
🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
JavaScript基础-API 和 Web API
在学习JavaScript的过程中,理解API(应用程序接口)和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能,使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...
在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...
