Homebrew安装MySQL 8教程:从安装到root密码设置及认证插件修改
创作时间:
作者:
@小白创作中心
Homebrew安装MySQL 8教程:从安装到root密码设置及认证插件修改
引用
1
来源
1.
https://www.cnblogs.com/Flat-White/p/18166721
Homebrew安装MySQL 8
brew install mysql
安装完成后,系统会提示一些注意事项:
We've installed your MySQL database without a root password. To secure it run:
mysql_secure_installation
MySQL is configured to only allow connections from localhost by default
To connect run:
mysql -u root
To start mysql now and restart at login:
brew services start mysql
Or, if you don't want/need a background service you can just run:
/opt/homebrew/opt/mysql/bin/mysqld_safe --datadir=/opt/homebrew/var/mysql
Homebrew安装的MySQL默认情况下没有root密码。不填写密码的情况下可以直接通过Navicat连接(需要先开启MySQL服务)。如需通过Homebrew安装MySQL 5.7,可参考相关教程。
设置root密码
- 启动MySQL服务:
brew services start mysql
- 连接到MySQL:
mysql -u root
- 设置root密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
# 或者使用以下语句:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
FLUSH PRIVILEGES; # 刷新权限
注意:经过测试以下设置root密码SQL语句对于MySQL 8.3.0均不适用
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root');
UPDATE mysql.user SET authentication_string=CONCAT('*', UPPER(SHA1(UNHEX(SHA1('root'))))) WHERE user='root';
- 第一条是因为
PASSWORD()函数在MySQL 8中已弃用,并且root密码不再由PASSWORD字段存储。 - 第二条在MySQL认证插件不为
mysql_native_password时不可用。在2024-4-29时通过brew安装的MySQL 8.3.0默认认证插件为caching_sha2_password。
可以通过以下SQL查询当前MySQL使用的认证插件:
SELECT plugin FROM mysql.user WHERE user='root';
重置root密码为空
如果还能连接上MySQL,可以选择如下三条SQL语句中任意一句重置密码为空:
ALTER USER 'root'@'localhost' IDENTIFIED BY '';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';
UPDATE mysql.user SET authentication_string='' WHERE user='root' AND host = 'localhost';
FLUSH PRIVILEGES; # 刷新权限
如果不能连接上MySQL,可以按照以下步骤重置:
brew services stop mysql
brew uninstall mysql
rm -rf /opt/homebrew/var/mysql # 删除MySQL数据目录
brew install mysql
修改MySQL认证插件
根据上述测试可知,MySQL认证插件实际上由msyql.user.plugin字段记录。因此也可以通过SQL语句查看/修改认证插件:
SELECT plugin FROM mysql.user WHERE user='root'; # 查看认证插件
UPDATE mysql.user SET plugin='caching_sha2_password' WHERE user='root'; # 更新plugin字段记录为caching_sha2_password
UPDATE mysql.user SET plugin='mysql_native_password' WHERE user='root'; # 更新plugin字段记录为mysql_native_password
如果需要更改请使用以下SQL:
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY ''; FLUSH PRIVILEGES; # 修改认证插件为caching_sha2_password并重置root密码为空
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY ''; FLUSH PRIVILEGES; # 修改认证插件为mysql_native_password并重置root密码为空
参考及引用
热门推荐
学徒合同:关于师徒制你需要知道的一切!
如何计算黄金投资的收益?
李清照最有名的十首诗
含氟链状化合物的化学结构与命名、物理化学性质、应用等介绍
水培茉莉花的养护技巧(让你的茉莉花在水中绽放生机)
茉莉花可以水培吗?
紧急提醒!电梯故障灯亮起,你还敢继续使用吗?安全指南来了!
上坟必备哪三种水果 清明节扫墓不适合带什么水果
开玩笑的心理机制:为什么我们会被笑话逗乐?
传感器响应时间T90是什么意思?
一港币等于多少人民币,汇率波动下的财务规划
如何识别环保型洗衣液或洗洁精?
《mega》一词的发音、词源及其在各领域的应用解析
最新女单世界排名:孙颖莎霸榜,洛杉矶周期格局或将重塑
小型离网光伏发电系统在日常生活中的应用与优势解析
股票小阴线的含义是什么?这种K线图在技术分析中有什么意义?
交通枢纽立体交叉:定义、类型、设计原则与案例分析
听力下降以为老化 耳朵后入路手术移除听神经瘤
有关酒的成语有哪些?关于酒,你知道多少成语?!
揭秘元阳古树茶独特风味:深度解析其特点与传承价值
提升团队效率的QC小组法应用指南
春季润肺养生必吃的食物
学习英语语法:解析正确使用英语语法的重要性
没去过新疆,等于没吃过1/6个中国
怀化去云南丽江旅游小吃攻略:特色美食与必游景点全解析
一觉醒来,周围的人都在学AI “AI热浪”搅动深圳职场
莴笋不是笋!一场关于食材名称的科普解析
大白话解读什么是强基计划!一般人能考吗?附2025年报考流程
做胃肠镜之后饮食需要注意什么呢
南通多所小学开启午间躺睡时光