mac下修改mysql初始密码问题

由于忘了之前的mysql密码,又刚入手mac不久对终端命令不熟,导致无法登陆数据库,参考了网上的很多博客和帖子,总结了这个方法,亲测有效!

1.先在系统偏好中关闭mysql服务

2.进入终端输入:cd /usr/local/mysql/bin/

回车后 登录管理员权限 sudo su
回车后输入以下命令来禁止mysql验证功能 ./mysqld_safe --skip-grant-tables &

3.输入命令 ./mysql

回车后,输入命令 FLUSH PRIVILEGES; 
回车后,输入命令 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('这里为你要修改的新密码');


然后你就可以用新密码连接数据库了。

### 设置Mac OS上首次安装MySQL后的初始密码 #### 使用Homebrew安装MySQL的情况 对于通过Homebrew安装MySQL的情形,在完成`brew install mysql`命令后,可以按照如下方法设置初始密码: 1. 启动MySQL服务: MySQL安装完成后不会自动启动,需手动开启。可以通过运行`brew services start mysql`来实现[^2]。 2. 找到临时密码: 安装过程中的日志文件位于`/usr/local/var/mysql/<hostname>.err`,其中包含了自动生成的root用户的临时密码。使用文本编辑器打开该文件,并查找类似于`A temporary password is generated for root@localhost:`的信息以获取临时密码[^4]。 3. 修改根用户(root)密码: 运行`mysql_secure_installation`工具来进行安全配置,其中包括更改默认的root账户密码。此程序会引导用户逐步完成一系列的安全增强措施,如移除匿名用户、禁用远程root登录等操作。当被询问是否要修改当前root用户的密码时,输入Y并依照指示设定新密码。 #### 对于其他方式安装MySQL的情况 如果并非采用Homebrew而是官方包等方式安装,则可采取另一种策略重置或设置初始密码: 1. 停止正在运行的服务(如果有): 如果MySQL已经在运行,先停止它。这可通过System Preferences -> MySQL 或者命令行中执行`sudo launchctl unload /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist`来达成[^3]。 2. 跳过权限表加载模式启动MySQL: 终端里依次键入以下两条命令: ```bash cd /usr/local/mysql/bin/ sudo ./mysqld_safe --skip-grant-tables & ``` 此处需要注意的是,由于绕过了授权验证机制,因此在此状态下任何人均能访问数据库而无需认证,故应尽快恢复正常状态。 3. 登录至MySQL Shell并对root账号更新密码: 接着在同一窗口继续输入 ```sql UPDATE mysql.user SET authentication_string=PASSWORD('MyNewPass') WHERE User='root'; FLUSH PRIVILEGES; EXIT; ``` 上述SQL语句用于指定一个新的强密码替换旧有的凭证信息;最后刷新权限使改动生效后再退出shell环境。 4. 关闭无鉴权保护模式下的实例并正常重启服务: 返回到最初关闭的地方再次尝试常规途径激活MySQL daemon即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值