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密码为空
参考及引用
热门推荐
2024年中国糖尿病临床诊疗与药物分析:当前糖尿病的诊疗路径
从零开始:全资子公司怎么注册?
舒乐安定片的作用与功效
如何为高端客户制定合理的理财方案?这些理财方案如何满足高端客户的需求?
2025计算机专业高考选科要求 如何选科更好
夫妻共同财产的范围与约定:民法典权威解读
个人工作总结的重要性与写作技巧解析:助力自我反思与提升
通过声音和光改变脑电波
舌苔厚黄是怎么调理
工伤打官司需要准备什么
@所有家长,一天中最适合孩子学习的四个黄金时段
王大陆卷入"杀人未遂"风波,背后隐藏着怎样的惊天秘密?
网购珍珠A,收货时变珍珠B,算欺诈还是发错货?
电容参数X5R,X7R,Y5V,COG 全面讲解!
六角恐龙鱼缸布置指南:从鱼缸选择到温度控制
揭秘B5纸张的神秘尺寸:究竟有多大?
伤口氧疗:EWMA观点
秋冬女性喝什么汤可以滋阴补血
百香果挂果多应该施什么肥?
新手养蛋龟的入门指南
SSD 固态硬盘介绍
东莞反诈紧急提醒!短视频平台诈骗新套路曝光
如何利用谷歌分析工具优化SEO
揭秘高热量食品:你常吃的哪些食物上榜了?
神十九任务将是全球年度最后一次载人发射!
警惕!二维码背后的重重陷阱
炖牛肉完全攻略:从选材到成品的十二个关键步骤
企业员工借款管理规定详解
香港授课型研究生与研究型研究生的区别与选择指南
乙基纤维素的溶解性能