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密码为空
参考及引用
热门推荐
Cancer Cell:薛婧团队揭示表观遗传失调促进胰腺癌的新机制
庚金日主八字强弱统计分析(1804年至2103年)
陕西竹子:自然与文化的完美融合
光刻胶之战:中国半导体“画笔”的逆袭之路
MBTI对工作的影响:性格类型与职业选择
宣城广德地区结婚彩礼习俗探究
浓眉42+23却无法超越詹皇!关键时刻表现证明谁才是真正的领袖
丙型肝炎能彻底治好吗
小腿内测肌肉怎么锻炼
宠物买卖法律风险及防范措施
铝碳酸镁副作用
一级造价工程师是不是真的成为“鸡肋”了?没有用了?
什么是铁磁性
退热贴贴在哪些部位效果好
2025年春季退役大学生士兵免试专升本报名须知
ENFP与INTP:性格迥异却能互补的恋人
农村路被邻居堵应找什么部门解决
退赃到哪阶段退最好
生信入门:了解生物信息学的基本概念与应用
吸烟真能减肥!还有一招“更狠”!!!
无糖苹果醋能降血糖吗?
汽车中的MAP传感器是什么?
一文看懂美军军衔制
明黄畿《皇极经世书传》八卷本:解读邵雍《皇极经世书》的学术经典
西瓜霜喷剂的功效与作用
这些救命知识请牢记,守护您的心脏健康
提高运动表现,抗疲劳,它是唯一天然存在的β-氨基酸
中医为什么不建议吃牛肉
上诉状提交手续指南
如何理解和应用Alevel倍角公式